@modern-js/prod-server 1.2.2 → 1.17.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # @modern-js/prod-server
2
2
 
3
+ ## 1.17.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [1b9176f]
8
+ - Updated dependencies [77d3a38]
9
+ - Updated dependencies [151329d]
10
+ - Updated dependencies [5af9472]
11
+ - Updated dependencies [6b6a534]
12
+ - Updated dependencies [6b43a2b]
13
+ - Updated dependencies [a7be124]
14
+ - Updated dependencies [31547b4]
15
+ - @modern-js/utils@1.17.0
16
+ - @modern-js/server-core@1.17.0
17
+
18
+ ## 1.16.0
19
+
20
+ ### Patch Changes
21
+
22
+ - 81c66e4a4: fix: compatibility issues of dev server in iOS 10
23
+
24
+ fix: 修复 dev server 代码在 iOS 10 下的兼容性问题
25
+
26
+ - Updated dependencies [641592f52]
27
+ - Updated dependencies [3904b30a5]
28
+ - Updated dependencies [1100dd58c]
29
+ - Updated dependencies [e04e6e76a]
30
+ - Updated dependencies [81c66e4a4]
31
+ - Updated dependencies [2c305b6f5]
32
+ - @modern-js/utils@1.16.0
33
+ - @modern-js/server-core@1.16.0
34
+
35
+ ## 1.15.0
36
+
37
+ ### Patch Changes
38
+
39
+ - c087148: chore: remove cookie in error log
40
+ chore: 删除错误日志中的 cookie 信息
41
+ - Updated dependencies [8658a78]
42
+ - Updated dependencies [05d4a4f]
43
+ - Updated dependencies [ad05af9]
44
+ - Updated dependencies [5d53d1c]
45
+ - Updated dependencies [37cd159]
46
+ - @modern-js/utils@1.15.0
47
+ - @modern-js/server-core@1.15.0
48
+
3
49
  ## 1.2.2
4
50
 
5
51
  ### Patch Changes
@@ -2,6 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
 
3
3
  import { URL } from 'url';
4
4
  import qs from 'querystring';
5
+ import { headersWithoutCookie } from "../../utils";
5
6
  export class ModernServerContext {
6
7
  /**
7
8
  * http request
@@ -173,7 +174,7 @@ export class ModernServerContext {
173
174
  }
174
175
 
175
176
  error(dig, e = '') {
176
- this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, this.headers);
177
+ this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, headersWithoutCookie(this.headers));
177
178
  }
178
179
 
179
180
  }
@@ -1,6 +1,36 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  import { createProxyMiddleware } from 'http-proxy-middleware';
2
- import { formatProxyOptions } from '@modern-js/utils';
3
8
  import { debug } from "../utils";
9
+ export function formatProxyOptions(proxyOptions) {
10
+ const formattedProxy = [];
11
+
12
+ if (!Array.isArray(proxyOptions)) {
13
+ if ('target' in proxyOptions) {
14
+ formattedProxy.push(proxyOptions);
15
+ } else {
16
+ Array.prototype.push.apply(formattedProxy, Object.keys(proxyOptions).reduce((total, source) => {
17
+ const option = proxyOptions[source];
18
+ total.push(_objectSpread({
19
+ context: source,
20
+ changeOrigin: true,
21
+ logLevel: 'warn'
22
+ }, typeof option === 'string' ? {
23
+ target: option
24
+ } : option));
25
+ return total;
26
+ }, []));
27
+ }
28
+ } else {
29
+ formattedProxy.push(...proxyOptions);
30
+ }
31
+
32
+ return formattedProxy;
33
+ }
4
34
  export const createProxyHandler = proxyOptions => {
5
35
  debug('createProxyHandler', proxyOptions);
6
36
 
@@ -4,6 +4,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
 
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
7
+ import { headersWithoutCookie } from "../../utils";
7
8
  export const createMetrics = (context, metrics) => {
8
9
  const {
9
10
  entryName: entry,
@@ -48,7 +49,7 @@ export const createLogger = (serverContext, logger) => {
48
49
  };
49
50
 
50
51
  const error = (message, e) => {
51
- logger.error(`SSR Error - ${message}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, pathname, headers);
52
+ logger.error(`SSR Error - ${message}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, pathname, headersWithoutCookie(headers));
52
53
  };
53
54
 
54
55
  return {
@@ -1,3 +1,9 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  import { compile } from 'path-to-regexp';
2
8
  import { createDebugger, isProd } from '@modern-js/utils';
3
9
  export const debug = createDebugger('prod-server');
@@ -110,4 +116,14 @@ export const prepareFavicons = (favicon, faviconByEntries) => {
110
116
  }
111
117
 
112
118
  return faviconNames;
119
+ };
120
+ export const headersWithoutCookie = headers => {
121
+ if (typeof headers.cookie !== 'undefined') {
122
+ const safeHeaders = _objectSpread({}, headers);
123
+
124
+ delete safeHeaders.cookie;
125
+ return safeHeaders;
126
+ }
127
+
128
+ return headers;
113
129
  };
@@ -9,6 +9,8 @@ var _url = require("url");
9
9
 
10
10
  var _querystring = _interopRequireDefault(require("querystring"));
11
11
 
12
+ var _utils = require("../../utils");
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -184,7 +186,7 @@ class ModernServerContext {
184
186
  }
185
187
 
186
188
  error(dig, e = '') {
187
- this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, this.headers);
189
+ this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, (0, _utils.headersWithoutCookie)(this.headers));
188
190
  }
189
191
 
190
192
  }
@@ -4,15 +4,46 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createProxyHandler = void 0;
7
+ exports.formatProxyOptions = formatProxyOptions;
7
8
 
8
9
  var _httpProxyMiddleware = require("http-proxy-middleware");
9
10
 
10
- var _utils = require("@modern-js/utils");
11
+ var _utils = require("../utils");
11
12
 
12
- var _utils2 = require("../utils");
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+
19
+ function formatProxyOptions(proxyOptions) {
20
+ const formattedProxy = [];
21
+
22
+ if (!Array.isArray(proxyOptions)) {
23
+ if ('target' in proxyOptions) {
24
+ formattedProxy.push(proxyOptions);
25
+ } else {
26
+ Array.prototype.push.apply(formattedProxy, Object.keys(proxyOptions).reduce((total, source) => {
27
+ const option = proxyOptions[source];
28
+ total.push(_objectSpread({
29
+ context: source,
30
+ changeOrigin: true,
31
+ logLevel: 'warn'
32
+ }, typeof option === 'string' ? {
33
+ target: option
34
+ } : option));
35
+ return total;
36
+ }, []));
37
+ }
38
+ } else {
39
+ formattedProxy.push(...proxyOptions);
40
+ }
41
+
42
+ return formattedProxy;
43
+ }
13
44
 
14
45
  const createProxyHandler = proxyOptions => {
15
- (0, _utils2.debug)('createProxyHandler', proxyOptions);
46
+ (0, _utils.debug)('createProxyHandler', proxyOptions);
16
47
 
17
48
  if (!proxyOptions) {
18
49
  return null;
@@ -20,7 +51,7 @@ const createProxyHandler = proxyOptions => {
20
51
  // or an object in the form of { source: ProxyDetail }
21
52
 
22
53
 
23
- const formattedProxy = (0, _utils.formatProxyOptions)(proxyOptions);
54
+ const formattedProxy = formatProxyOptions(proxyOptions);
24
55
  const middlewares = formattedProxy.map(option => {
25
56
  const middleware = (0, _httpProxyMiddleware.createProxyMiddleware)(option.context, option); // eslint-disable-next-line consistent-return
26
57
 
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createMetrics = exports.createLogger = void 0;
7
7
 
8
+ var _utils = require("../../utils");
9
+
8
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
11
 
10
12
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -58,7 +60,7 @@ const createLogger = (serverContext, logger) => {
58
60
  };
59
61
 
60
62
  const error = (message, e) => {
61
- logger.error(`SSR Error - ${message}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, pathname, headers);
63
+ logger.error(`SSR Error - ${message}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, pathname, (0, _utils.headersWithoutCookie)(headers));
62
64
  };
63
65
 
64
66
  return {
@@ -3,12 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useLocalPrefix = exports.toPath = exports.prepareFavicons = exports.noop = exports.mergeExtension = exports.getStaticReg = exports.debug = exports.createMiddlewareCollecter = exports.createErrorDocument = void 0;
6
+ exports.useLocalPrefix = exports.toPath = exports.prepareFavicons = exports.noop = exports.mergeExtension = exports.headersWithoutCookie = exports.getStaticReg = exports.debug = exports.createMiddlewareCollecter = exports.createErrorDocument = void 0;
7
7
 
8
8
  var _pathToRegexp = require("path-to-regexp");
9
9
 
10
10
  var _utils = require("@modern-js/utils");
11
11
 
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+
16
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
12
18
  const debug = (0, _utils.createDebugger)('prod-server');
13
19
  exports.debug = debug;
14
20
 
@@ -144,4 +150,17 @@ const prepareFavicons = (favicon, faviconByEntries) => {
144
150
  return faviconNames;
145
151
  };
146
152
 
147
- exports.prepareFavicons = prepareFavicons;
153
+ exports.prepareFavicons = prepareFavicons;
154
+
155
+ const headersWithoutCookie = headers => {
156
+ if (typeof headers.cookie !== 'undefined') {
157
+ const safeHeaders = _objectSpread({}, headers);
158
+
159
+ delete safeHeaders.cookie;
160
+ return safeHeaders;
161
+ }
162
+
163
+ return headers;
164
+ };
165
+
166
+ exports.headersWithoutCookie = headersWithoutCookie;
@@ -1,4 +1,5 @@
1
- import { NextFunction, BffProxyOptions } from '@modern-js/types';
1
+ import { ProxyDetail, NextFunction, BffProxyOptions } from '@modern-js/types';
2
2
  import { ModernServerContext } from './context';
3
3
  export type { BffProxyOptions };
4
+ export declare function formatProxyOptions(proxyOptions: BffProxyOptions): ProxyDetail[];
4
5
  export declare const createProxyHandler: (proxyOptions?: BffProxyOptions) => ((ctx: ModernServerContext, next: NextFunction) => Promise<void>)[] | null;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { BaseSSRServerContext } from '@modern-js/types/server';
2
3
  declare type MetaKeyMap = {
3
4
  header?: string[];
@@ -1,3 +1,7 @@
1
+ /// <reference path="type.d.ts" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node/http" />
4
+ import { IncomingMessage } from 'http';
1
5
  import type { NormalizedConfig } from '@modern-js/core';
2
6
  export declare const debug: any;
3
7
  export declare const mergeExtension: (users: any[]) => {
@@ -17,4 +21,5 @@ export declare const createMiddlewareCollecter: () => {
17
21
  export declare const toPath: (reg: string, params: Record<string, any>) => string;
18
22
  export declare const useLocalPrefix: (url: string) => boolean;
19
23
  export declare const getStaticReg: (output?: NormalizedConfig['output']) => RegExp;
20
- export declare const prepareFavicons: (favicon: string | undefined, faviconByEntries?: Record<string, string | undefined>) => string[];
24
+ export declare const prepareFavicons: (favicon: string | undefined, faviconByEntries?: Record<string, string | undefined>) => string[];
25
+ export declare const headersWithoutCookie: (headers: IncomingMessage['headers']) => import("http").IncomingHttpHeaders;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.2.2",
14
+ "version": "1.17.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -28,9 +28,9 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@modern-js/utils": "^1.8.0",
31
+ "@modern-js/utils": "1.17.0",
32
32
  "@babel/compat-data": "^7.17.10",
33
- "@modern-js/server-core": "^1.4.1",
33
+ "@modern-js/server-core": "1.17.0",
34
34
  "axios": "^0.24.0",
35
35
  "compare-versions": "^3.6.0",
36
36
  "cookie": "^0.4.2",
@@ -43,10 +43,10 @@
43
43
  "ua-parser-js": "^0.7.28"
44
44
  },
45
45
  "devDependencies": {
46
- "@modern-js/types": "1.6.1",
47
- "@modern-js/core": "1.13.2",
48
- "@scripts/jest-config": "0.0.0",
49
- "@scripts/build": "0.0.0",
46
+ "@modern-js/types": "1.17.0",
47
+ "@modern-js/core": "1.17.0",
48
+ "@scripts/jest-config": "1.17.0",
49
+ "@scripts/build": "1.17.0",
50
50
  "@types/cookie": "^0.4.1",
51
51
  "@types/jest": "^27",
52
52
  "@types/lru-cache": "^5.1.1",