@feathersjs/express 5.0.0-pre.28 → 5.0.0-pre.29

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,18 @@
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.29](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.28...v5.0.0-pre.29) (2022-09-16)
7
+
8
+
9
+ ### Features
10
+
11
+ * Add CORS support to oAuth, Express, Koa and generated application ([#2744](https://github.com/feathersjs/feathers/issues/2744)) ([fd218f2](https://github.com/feathersjs/feathers/commit/fd218f289f8ca4c101e9938e8683e2efef6e8131))
12
+ * **authentication-oauth:** Koa and transport independent oAuth authentication ([#2737](https://github.com/feathersjs/feathers/issues/2737)) ([9231525](https://github.com/feathersjs/feathers/commit/9231525a24bb790ba9c5d940f2867a9c727691c9))
13
+
14
+
15
+
16
+
17
+
6
18
  # [5.0.0-pre.28](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.27...v5.0.0-pre.28) (2022-08-03)
7
19
 
8
20
 
@@ -14,7 +14,7 @@ export interface ExpressOverrides<Services> {
14
14
  listen(port: number | string | any, callback?: () => void): Promise<http.Server>;
15
15
  listen(callback?: () => void): Promise<http.Server>;
16
16
  use: ExpressUseHandler<this, Services>;
17
- server: http.Server;
17
+ server?: http.Server;
18
18
  }
19
19
  export declare type Application<Services = any, Settings = any> = Omit<Express, 'listen' | 'use' | 'get' | 'set'> & FeathersApplication<Services, Settings> & ExpressOverrides<Services>;
20
20
  declare module '@feathersjs/feathers/lib/declarations' {
package/lib/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { Express } from 'express';
2
2
  import { Application as FeathersApplication } from '@feathersjs/feathers';
3
+ import cors from 'cors';
3
4
  import { rest, RestOptions, formatter } from './rest';
4
5
  import { errorHandler, notFound, ErrorHandlerOptions } from './handlers';
5
6
  import { Application, ExpressOverrides } from './declarations';
6
7
  import { AuthenticationSettings, authenticate, parseAuthentication } from './authentication';
7
8
  import { default as original, static as serveStatic, json, raw, text, urlencoded, query } from 'express';
8
- export { original, serveStatic, serveStatic as static, json, raw, text, urlencoded, query, rest, RestOptions, formatter, errorHandler, notFound, Application, ErrorHandlerOptions, ExpressOverrides, AuthenticationSettings, parseAuthentication, authenticate };
9
+ export { original, serveStatic, serveStatic as static, json, raw, text, urlencoded, query, rest, RestOptions, formatter, errorHandler, notFound, Application, ErrorHandlerOptions, ExpressOverrides, AuthenticationSettings, parseAuthentication, authenticate, cors };
9
10
  export default function feathersExpress<S = any, C = any>(feathersApp?: FeathersApplication<S, C>, expressApp?: Express): Application<S, C>;
package/lib/index.js CHANGED
@@ -26,11 +26,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.authenticate = exports.parseAuthentication = exports.notFound = exports.errorHandler = exports.formatter = exports.rest = exports.query = exports.urlencoded = exports.text = exports.raw = exports.json = exports.static = exports.serveStatic = exports.original = void 0;
29
+ exports.cors = exports.authenticate = exports.parseAuthentication = exports.notFound = exports.errorHandler = exports.formatter = exports.rest = exports.query = exports.urlencoded = exports.text = exports.raw = exports.json = exports.static = exports.serveStatic = exports.original = void 0;
30
30
  const express_1 = __importDefault(require("express"));
31
31
  const feathers_1 = require("@feathersjs/feathers");
32
32
  const transport_commons_1 = require("@feathersjs/transport-commons");
33
33
  const commons_1 = require("@feathersjs/commons");
34
+ const cors_1 = __importDefault(require("cors"));
35
+ exports.cors = cors_1.default;
34
36
  const rest_1 = require("./rest");
35
37
  Object.defineProperty(exports, "rest", { enumerable: true, get: function () { return rest_1.rest; } });
36
38
  Object.defineProperty(exports, "formatter", { enumerable: true, get: function () { return rest_1.formatter; } });
@@ -71,7 +73,7 @@ function feathersExpress(feathersApp, expressApp = (0, express_1.default)()) {
71
73
  else if (!service) {
72
74
  service = arg;
73
75
  }
74
- else if (arg.methods || arg.events) {
76
+ else if (arg.methods || arg.events || arg.express || arg.koa) {
75
77
  options = arg;
76
78
  }
77
79
  else {
@@ -91,8 +93,8 @@ function feathersExpress(feathersApp, expressApp = (0, express_1.default)()) {
91
93
  debug('Registering service with middleware', middleware);
92
94
  // Since this is a service, call Feathers `.use`
93
95
  feathersUse.call(this, location, service, {
94
- ...options,
95
- express: middleware
96
+ express: middleware,
97
+ ...options
96
98
  });
97
99
  return this;
98
100
  },
@@ -104,9 +106,14 @@ function feathersExpress(feathersApp, expressApp = (0, express_1.default)()) {
104
106
  return server;
105
107
  },
106
108
  async teardown(server) {
107
- return feathersTeardown
108
- .call(this, server)
109
- .then(() => new Promise((resolve, reject) => this.server.close((e) => (e ? reject(e) : resolve(this)))));
109
+ return feathersTeardown.call(this, server).then(() => new Promise((resolve, reject) => {
110
+ if (this.server) {
111
+ this.server.close((e) => (e ? reject(e) : resolve(this)));
112
+ }
113
+ else {
114
+ resolve(this);
115
+ }
116
+ }));
110
117
  }
111
118
  });
112
119
  const appDescriptors = {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0C;AAC1C,mDAAgG;AAChG,qEAAuD;AACvD,iDAAiD;AAEjD,iCAAqD;AAenD,qFAfO,WAAI,OAeP;AAEJ,0FAjB0B,gBAAS,OAiB1B;AAhBX,yCAAwE;AAiBtE,6FAjBO,uBAAY,OAiBP;AACZ,yFAlBqB,mBAAQ,OAkBrB;AAhBV,qDAA4F;AAsB1F,6FAtB+B,6BAAY,OAsB/B;AADZ,oGArB6C,oCAAmB,OAqB7C;AApBrB,mDAAwG;AAGtG,yFAHkB,iBAAQ,OAGlB;AACR,4FAJsC,gBAAW,OAItC;AACI,uFALuB,gBAAW,OAK5B;AACrB,qFANmD,cAAI,OAMnD;AACJ,oFAPyD,aAAG,OAOzD;AACH,qFAR8D,cAAI,OAQ9D;AACJ,2FAToE,oBAAU,OASpE;AACV,sFAVgF,eAAK,OAUhF;AAcP,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,qBAAqB,CAAC,CAAA;AAEhD,SAAwB,eAAe,CACrC,WAAuC,EACvC,aAAsB,IAAA,iBAAO,GAAE;IAE/B,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,UAAiB,CAAA;KACzB;IAED,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,UAAU,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;KACtF;IAED,MAAM,GAAG,GAAG,UAAsC,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,UAAiB,CAAA;IACpE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAA;IAEpE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,GAAG,CAAC,QAA0B,EAAE,GAAG,IAAW;YAC5C,IAAI,OAAY,CAAA;YAChB,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,UAAU,UAAU,EAAE,GAAG;gBACvB,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACnD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iBACnD;qBAAM,IAAI,CAAC,OAAO,EAAE;oBACnB,OAAO,GAAG,GAAG,CAAA;iBACd;qBAAM,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE;oBACpC,OAAO,GAAG,GAAG,CAAA;iBACd;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;iBACrD;gBACD,OAAO,UAAU,CAAA;YACnB,CAAC,EACD;gBACE,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;aACV,CACF,CAAA;YAED,MAAM,SAAS,GAAG,CAAC,OAAiB,EAAE,EAAE,CACtC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAA;YAExE,kEAAkE;YAClE,IAAI,SAAS,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gCAAqB,CAAC,EAAE;gBACrE,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;aAChD;YAED,KAAK,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAA;YACxD,gDAAgD;YAChD,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACxC,GAAG,OAAO;gBACV,OAAO,EAAE,UAAU;aACpB,CAAC,CAAA;YAEF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;YACzB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACxB,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAEvC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,MAAY;YACzB,OAAO,gBAAgB;iBACpB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;iBAClB,IAAI,CACH,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAClG,CAAA;QACL,CAAC;KACmB,CAAC,CAAA;IAEvB,MAAM,cAAc,GAAG;QACrB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC;KACzC,CAAA;IACD,MAAM,cAAc,GAAG;QACrB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvE,GAAG,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC;KACjD,CAAA;IAED,+DAA+D;IAC/D,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;YAClD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;SACjD;IACH,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,SAAS,CAAC,IAAA,2BAAO,GAAS,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACZ,CAAC;AArGD,kCAqGC;AAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAChE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/express",
3
3
  "description": "Feathers Express framework bindings and REST provider",
4
- "version": "5.0.0-pre.28",
4
+ "version": "5.0.0-pre.29",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -52,27 +52,28 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "@feathersjs/authentication": "^5.0.0-pre.28",
56
- "@feathersjs/commons": "^5.0.0-pre.28",
57
- "@feathersjs/errors": "^5.0.0-pre.28",
58
- "@feathersjs/feathers": "^5.0.0-pre.28",
59
- "@feathersjs/transport-commons": "^5.0.0-pre.28",
55
+ "@feathersjs/authentication": "^5.0.0-pre.29",
56
+ "@feathersjs/commons": "^5.0.0-pre.29",
57
+ "@feathersjs/errors": "^5.0.0-pre.29",
58
+ "@feathersjs/feathers": "^5.0.0-pre.29",
59
+ "@feathersjs/transport-commons": "^5.0.0-pre.29",
60
60
  "@types/express": "^4.17.13",
61
61
  "@types/express-serve-static-core": "^4.17.30",
62
+ "cors": "^2.8.5",
62
63
  "express": "^4.18.1"
63
64
  },
64
65
  "devDependencies": {
65
- "@feathersjs/authentication-local": "^5.0.0-pre.28",
66
- "@feathersjs/tests": "^5.0.0-pre.28",
67
- "@types/lodash": "^4.14.182",
66
+ "@feathersjs/authentication-local": "^5.0.0-pre.29",
67
+ "@feathersjs/tests": "^5.0.0-pre.29",
68
+ "@types/lodash": "^4.14.185",
68
69
  "@types/mocha": "^9.1.1",
69
- "@types/node": "^18.6.3",
70
+ "@types/node": "^18.7.17",
70
71
  "axios": "^0.27.2",
71
72
  "lodash": "^4.17.21",
72
73
  "mocha": "^10.0.0",
73
74
  "shx": "^0.3.4",
74
75
  "ts-node": "^10.9.1",
75
- "typescript": "^4.7.4"
76
+ "typescript": "^4.8.3"
76
77
  },
77
- "gitHead": "bf8e54fddc14d688ba8f505e72c9630a71656ff1"
78
+ "gitHead": "4314dc89a41a8bbaabf00b47697bf7887861d17d"
78
79
  }
@@ -30,7 +30,7 @@ export interface ExpressOverrides<Services> {
30
30
  listen(port: number | string | any, callback?: () => void): Promise<http.Server>
31
31
  listen(callback?: () => void): Promise<http.Server>
32
32
  use: ExpressUseHandler<this, Services>
33
- server: http.Server
33
+ server?: http.Server
34
34
  }
35
35
 
36
36
  export type Application<Services = any, Settings = any> = Omit<Express, 'listen' | 'use' | 'get' | 'set'> &
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@ import express, { Express } from 'express'
2
2
  import { Application as FeathersApplication, defaultServiceMethods } from '@feathersjs/feathers'
3
3
  import { routing } from '@feathersjs/transport-commons'
4
4
  import { createDebug } from '@feathersjs/commons'
5
+ import cors from 'cors'
5
6
 
6
7
  import { rest, RestOptions, formatter } from './rest'
7
8
  import { errorHandler, notFound, ErrorHandlerOptions } from './handlers'
@@ -28,7 +29,8 @@ export {
28
29
  ExpressOverrides,
29
30
  AuthenticationSettings,
30
31
  parseAuthentication,
31
- authenticate
32
+ authenticate,
33
+ cors
32
34
  }
33
35
 
34
36
  const debug = createDebug('@feathersjs/express')
@@ -60,7 +62,7 @@ export default function feathersExpress<S = any, C = any>(
60
62
  middleware[service ? 'after' : 'before'].push(arg)
61
63
  } else if (!service) {
62
64
  service = arg
63
- } else if (arg.methods || arg.events) {
65
+ } else if (arg.methods || arg.events || arg.express || arg.koa) {
64
66
  options = arg
65
67
  } else {
66
68
  throw new Error('Invalid options passed to app.use')
@@ -85,8 +87,8 @@ export default function feathersExpress<S = any, C = any>(
85
87
  debug('Registering service with middleware', middleware)
86
88
  // Since this is a service, call Feathers `.use`
87
89
  feathersUse.call(this, location, service, {
88
- ...options,
89
- express: middleware
90
+ express: middleware,
91
+ ...options
90
92
  })
91
93
 
92
94
  return this
@@ -103,11 +105,16 @@ export default function feathersExpress<S = any, C = any>(
103
105
  },
104
106
 
105
107
  async teardown(server?: any) {
106
- return feathersTeardown
107
- .call(this, server)
108
- .then(
109
- () => new Promise((resolve, reject) => this.server.close((e) => (e ? reject(e) : resolve(this))))
110
- )
108
+ return feathersTeardown.call(this, server).then(
109
+ () =>
110
+ new Promise((resolve, reject) => {
111
+ if (this.server) {
112
+ this.server.close((e) => (e ? reject(e) : resolve(this)))
113
+ } else {
114
+ resolve(this)
115
+ }
116
+ })
117
+ )
111
118
  }
112
119
  } as Application<S, C>)
113
120