@feathersjs/koa 5.0.0-pre.16 → 5.0.0-pre.19

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,35 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.19](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.18...v5.0.0-pre.19) (2022-05-01)
7
+
8
+ **Note:** Version bump only for package @feathersjs/koa
9
+
10
+
11
+
12
+
13
+
14
+ # [5.0.0-pre.18](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.17...v5.0.0-pre.18) (2022-04-11)
15
+
16
+
17
+ ### Features
18
+
19
+ * **core:** Add app.teardown functionality ([#2570](https://github.com/feathersjs/feathers/issues/2570)) ([fcdf524](https://github.com/feathersjs/feathers/commit/fcdf524ae1995bb59265d39f12e98b7794bed023))
20
+ * **core:** Finalize app.teardown() functionality ([#2584](https://github.com/feathersjs/feathers/issues/2584)) ([1a166f3](https://github.com/feathersjs/feathers/commit/1a166f3ded811ecacf0ae8cb67880bc9fa2eeafa))
21
+ * **transport-commons:** add `context.http.response` ([#2524](https://github.com/feathersjs/feathers/issues/2524)) ([5bc9d44](https://github.com/feathersjs/feathers/commit/5bc9d447043c2e2b742c73ed28ecf3b3264dd9e5))
22
+
23
+
24
+
25
+
26
+
27
+ # [5.0.0-pre.17](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.16...v5.0.0-pre.17) (2022-02-15)
28
+
29
+ **Note:** Version bump only for package @feathersjs/koa
30
+
31
+
32
+
33
+
34
+
6
35
  # [5.0.0-pre.16](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.15...v5.0.0-pre.16) (2022-01-12)
7
36
 
8
37
 
package/README.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # @feathersjs/koa
2
2
 
3
- [![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/koa)](https://david-dm.org/feathersjs/feathers?path=packages/koa)
3
+ [![CI](https://github.com/feathersjs/feathers/workflows/CI/badge.svg)](https://github.com/feathersjs/feathers/actions?query=workflow%3ACI)
4
4
  [![Download Status](https://img.shields.io/npm/dm/@feathersjs/koa.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/koa)
5
+ [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/qa8kez8QBx)
5
6
 
6
7
  > Feathers KoaJS framework bindings and REST provider
8
+
9
+ ## Installation
10
+
11
+ ```
12
+ npm install @feathersjs/koa --save
13
+ ```
14
+
15
+ ## Documentation
16
+
17
+ Refer to the [Feathers Koa API documentation](https://docs.feathersjs.com/api/koa.html) for more details.
18
+
19
+ ## License
20
+
21
+ Copyright (c) 2022 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
22
+
23
+ Licensed under the [MIT license](LICENSE).
24
+
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAClD,+DAA8E;AAI9E,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,gCAAgC,CAAC,CAAC;AAO5D,SAAgB,mBAAmB,CAAE,WAAmC,EAAE;IACxE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,qBAAqB,+CAAzB,GAAG,EAAyB,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,EAAE,CAAC;SACf;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QAEpG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACxF,OAAO,IAAI,EAAE,CAAC;SACf;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;QAEhF,IAAI,cAAc,EAAE;YAClB,KAAK,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;YAChE,GAAG,CAAC,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;SACpD;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AA1BD,kDA0BC;AAED,SAAgB,YAAY,CAAE,QAAyC,EAAE,GAAG,UAAoB;IAC9F,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;IAEvD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAkB,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAiB,CAAC;QAE/C,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,oCAcC"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAClD,+DAA8E;AAI9E,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,gCAAgC,CAAC,CAAC;AAO5D,SAAgB,mBAAmB,CAAE,WAAmC,EAAE;IACxE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,qBAAqB,oDAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,EAAE,CAAC;SACf;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QAEpG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACxF,OAAO,IAAI,EAAE,CAAC;SACf;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;QAEhF,IAAI,cAAc,EAAE;YAClB,KAAK,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;YAChE,GAAG,CAAC,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;SACpD;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AA1BD,kDA0BC;AAED,SAAgB,YAAY,CAAE,QAAyC,EAAE,GAAG,UAAoB;IAC9F,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;IAEvD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAkB,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAiB,CAAC;QAE/C,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,oCAcC"}
@@ -4,6 +4,7 @@ import { Server } from 'http';
4
4
  import { Application as FeathersApplication, HookContext, Params, RouteLookup } from '@feathersjs/feathers';
5
5
  import '@feathersjs/authentication';
6
6
  export declare type ApplicationAddons = {
7
+ server: Server;
7
8
  listen(port?: number, ...args: any[]): Promise<Server>;
8
9
  };
9
10
  export declare type Application<T = any, C = any> = Omit<Koa, 'listen'> & FeathersApplication<T, C> & ApplicationAddons;
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -36,7 +40,7 @@ function koa(feathersApp, koaApp = new koa_1.default()) {
36
40
  }
37
41
  const app = feathersApp;
38
42
  const { listen: koaListen, use: koaUse } = koaApp;
39
- const feathersUse = feathersApp.use;
43
+ const { use: feathersUse, teardown: feathersTeardown } = feathersApp;
40
44
  Object.assign(app, {
41
45
  use(location, ...args) {
42
46
  if (typeof location === 'string') {
@@ -46,9 +50,13 @@ function koa(feathersApp, koaApp = new koa_1.default()) {
46
50
  },
47
51
  async listen(port, ...args) {
48
52
  const server = koaListen.call(this, port, ...args);
53
+ this.server = server;
49
54
  await this.setup(server);
50
55
  debug('Feathers application listening');
51
56
  return server;
57
+ },
58
+ async teardown(server) {
59
+ return feathersTeardown.call(this, server).then(() => new Promise((resolve, reject) => this.server.close(e => e ? reject(e) : resolve(this))));
52
60
  }
53
61
  });
54
62
  const appDescriptors = {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/rest.js CHANGED
@@ -31,10 +31,10 @@ const serviceMiddleware = () => {
31
31
  ctx.hook = contextBase;
32
32
  const context = await service[method](...args, contextBase);
33
33
  ctx.hook = context;
34
- const result = transport_commons_1.http.getData(context);
35
- const statusCode = transport_commons_1.http.getStatusCode(context, result);
36
- ctx.body = result;
37
- ctx.status = statusCode;
34
+ const response = transport_commons_1.http.getResponse(context);
35
+ ctx.status = response.status;
36
+ ctx.set(response.headers);
37
+ ctx.body = response.body;
38
38
  return next();
39
39
  };
40
40
  };
package/lib/rest.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@feathersjs/koa",
3
3
  "description": "Feathers KoaJS framework bindings and REST provider",
4
- "version": "5.0.0-pre.16",
4
+ "version": "5.0.0-pre.19",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
+ "types": "lib/",
7
8
  "keywords": [
8
9
  "feathers",
9
10
  "koajs"
@@ -11,7 +12,8 @@
11
12
  "license": "MIT",
12
13
  "repository": {
13
14
  "type": "git",
14
- "url": "git://github.com/feathersjs/feathers.git"
15
+ "url": "git://github.com/feathersjs/feathers.git",
16
+ "directory": "packages/koa"
15
17
  },
16
18
  "author": {
17
19
  "name": "Feathers contributors",
@@ -37,8 +39,7 @@
37
39
  "scripts": {
38
40
  "prepublish": "npm run compile",
39
41
  "compile": "shx rm -rf lib/ && tsc",
40
- "test": "npm run compile && npm run mocha",
41
- "mocha": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
42
+ "test": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
42
43
  },
43
44
  "directories": {
44
45
  "lib": "lib"
@@ -47,12 +48,12 @@
47
48
  "access": "public"
48
49
  },
49
50
  "dependencies": {
50
- "@feathersjs/authentication": "^5.0.0-pre.16",
51
- "@feathersjs/commons": "^5.0.0-pre.16",
52
- "@feathersjs/errors": "^5.0.0-pre.16",
53
- "@feathersjs/transport-commons": "^5.0.0-pre.16",
51
+ "@feathersjs/authentication": "^5.0.0-pre.19",
52
+ "@feathersjs/commons": "^5.0.0-pre.19",
53
+ "@feathersjs/errors": "^5.0.0-pre.19",
54
+ "@feathersjs/transport-commons": "^5.0.0-pre.19",
54
55
  "@types/koa": "^2.13.4",
55
- "@types/koa-bodyparser": "^4.3.5",
56
+ "@types/koa-bodyparser": "^4.3.7",
56
57
  "@types/koa-qs": "^2.0.0",
57
58
  "koa": "^2.13.4",
58
59
  "koa-bodyparser": "^4.3.0",
@@ -60,18 +61,18 @@
60
61
  "koa-qs": "^3.0.0"
61
62
  },
62
63
  "devDependencies": {
63
- "@feathersjs/authentication-local": "^5.0.0-pre.16",
64
- "@feathersjs/feathers": "^5.0.0-pre.16",
65
- "@feathersjs/memory": "^5.0.0-pre.16",
66
- "@feathersjs/tests": "^5.0.0-pre.16",
64
+ "@feathersjs/authentication-local": "^5.0.0-pre.19",
65
+ "@feathersjs/feathers": "^5.0.0-pre.19",
66
+ "@feathersjs/memory": "^5.0.0-pre.19",
67
+ "@feathersjs/tests": "^5.0.0-pre.19",
67
68
  "@types/koa-compose": "^3.2.5",
68
- "@types/mocha": "^9.0.0",
69
- "@types/node": "^17.0.5",
70
- "axios": "^0.24.0",
71
- "mocha": "^9.1.3",
72
- "shx": "^0.3.3",
73
- "ts-node": "^10.4.0",
74
- "typescript": "^4.5.4"
69
+ "@types/mocha": "^9.1.1",
70
+ "@types/node": "^17.0.31",
71
+ "axios": "^0.27.2",
72
+ "mocha": "^10.0.0",
73
+ "shx": "^0.3.4",
74
+ "ts-node": "^10.7.0",
75
+ "typescript": "^4.6.4"
75
76
  },
76
- "gitHead": "f0cd227a82d159b528193bd33747c97684a48773"
77
+ "gitHead": "57f3e18bb62735e1869ffafee90286498738fdfa"
77
78
  }
@@ -4,6 +4,7 @@ import { Application as FeathersApplication, HookContext, Params, RouteLookup }
4
4
  import '@feathersjs/authentication';
5
5
 
6
6
  export type ApplicationAddons = {
7
+ server: Server;
7
8
  listen (port?: number, ...args: any[]): Promise<Server>;
8
9
  }
9
10
 
package/src/index.ts CHANGED
@@ -27,12 +27,12 @@ export function koa<S = any, C = any> (feathersApp?: FeathersApplication<S, C>,
27
27
 
28
28
  const app = feathersApp as any as Application<S, C>;
29
29
  const { listen: koaListen, use: koaUse } = koaApp;
30
- const feathersUse = feathersApp.use as any;
30
+ const { use: feathersUse, teardown: feathersTeardown } = feathersApp;
31
31
 
32
32
  Object.assign(app, {
33
33
  use (location: string|Koa.Middleware, ...args: any[]) {
34
34
  if (typeof location === 'string') {
35
- return feathersUse.call(this, location, ...args);
35
+ return (feathersUse as any).call(this, location, ...args);
36
36
  }
37
37
 
38
38
  return koaUse.call(this, location);
@@ -41,10 +41,17 @@ export function koa<S = any, C = any> (feathersApp?: FeathersApplication<S, C>,
41
41
  async listen (port?: number, ...args: any[]) {
42
42
  const server = koaListen.call(this, port, ...args);
43
43
 
44
+ this.server = server;
44
45
  await this.setup(server);
45
46
  debug('Feathers application listening');
46
47
 
47
48
  return server;
49
+ },
50
+
51
+ async teardown (server?: any) {
52
+ return feathersTeardown.call(this, server).then(() =>
53
+ new Promise((resolve, reject) => this.server.close(e => e ? reject(e) : resolve(this)))
54
+ );
48
55
  }
49
56
  } as Application);
50
57
 
package/src/rest.ts CHANGED
@@ -32,14 +32,13 @@ const serviceMiddleware = (): Middleware => {
32
32
  const contextBase = createContext(service, method, { http: {} });
33
33
  ctx.hook = contextBase;
34
34
 
35
- const context = await (service as any)[method](...args, contextBase);
35
+ const context = await (service as any)[method](...args, contextBase);
36
36
  ctx.hook = context;
37
37
 
38
- const result = http.getData(context);
39
- const statusCode = http.getStatusCode(context, result);
40
-
41
- ctx.body = result;
42
- ctx.status = statusCode;
38
+ const response = http.getResponse(context);
39
+ ctx.status = response.status;
40
+ ctx.set(response.headers);
41
+ ctx.body = response.body;
43
42
 
44
43
  return next();
45
44
  };