@digest/koa 3.3.2 → 3.4.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/dist/app.js CHANGED
@@ -5,9 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const koa_1 = __importDefault(require("koa"));
7
7
  const koa_helmet_1 = __importDefault(require("koa-helmet"));
8
+ const koa_remove_trailing_slashes_1 = __importDefault(require("koa-remove-trailing-slashes"));
8
9
  const routers_1 = __importDefault(require("./routers"));
9
10
  const server_1 = __importDefault(require("./server"));
10
11
  const app = new koa_1.default();
11
- app.use((0, koa_helmet_1.default)()).use(routers_1.default.routes()).use(routers_1.default.allowedMethods());
12
+ app.use((0, koa_helmet_1.default)()).use(routers_1.default.routes()).use(routers_1.default.allowedMethods()).use((0, koa_remove_trailing_slashes_1.default)());
12
13
  (0, server_1.default)(app);
13
14
  exports.default = app;
@@ -10,19 +10,20 @@ const ACCEPT_HEADERS = [
10
10
  'text/html',
11
11
  'application/xhtml+xml'
12
12
  ];
13
- const router = new router_1.default({
14
- sensitive: true,
15
- strict: true
16
- });
17
13
  const history = (baseHref) => {
14
+ const router = new router_1.default({
15
+ sensitive: true,
16
+ strict: true
17
+ });
18
18
  const defaultIndex = path_1.default.join(baseHref, 'index.html');
19
19
  const historyMiddleware = (0, history_1.default)({
20
20
  htmlAcceptHeaders: ACCEPT_HEADERS,
21
21
  index: defaultIndex
22
22
  });
23
- const historyBase = '(.*)/';
23
+ const historyBase = '(.*)';
24
24
  router.get(historyBase, historyMiddleware);
25
25
  router.head(historyBase, historyMiddleware);
26
+ router.options(historyBase, historyMiddleware);
26
27
  return router;
27
28
  };
28
29
  exports.default = history;
@@ -7,13 +7,15 @@ const scripts_1 = __importDefault(require("@digest/scripts"));
7
7
  const router_1 = __importDefault(require("@koa/router"));
8
8
  const history_1 = __importDefault(require("./history"));
9
9
  const statics_1 = __importDefault(require("./statics"));
10
+ const stats_1 = __importDefault(require("./stats"));
10
11
  const { baseHref, production } = scripts_1.default;
11
12
  const staticPath = scripts_1.default.staticPath.replace('/bundle', '');
12
13
  const routers = new router_1.default({
13
14
  sensitive: true,
14
15
  strict: true
15
16
  });
17
+ const statsRouter = (0, stats_1.default)();
16
18
  const historyRouter = (0, history_1.default)(baseHref);
17
19
  const staticsRouter = (0, statics_1.default)(baseHref, staticPath.replace('/bundle', ''), production);
18
- routers.use(baseHref, staticsRouter.routes(), staticsRouter.allowedMethods(), historyRouter.routes(), historyRouter.allowedMethods());
20
+ routers.use(baseHref, statsRouter.routes(), statsRouter.allowedMethods(), staticsRouter.routes(), staticsRouter.allowedMethods(), historyRouter.routes(), historyRouter.allowedMethods());
19
21
  exports.default = routers;
@@ -7,10 +7,6 @@ const router_1 = __importDefault(require("@koa/router"));
7
7
  const koa_mount_1 = __importDefault(require("koa-mount"));
8
8
  const koa_static_1 = __importDefault(require("koa-static"));
9
9
  const MAX_AGE = 31536000;
10
- const router = new router_1.default({
11
- sensitive: true,
12
- strict: true
13
- });
14
10
  const defaultServeStaticOptions = {
15
11
  maxAge: MAX_AGE,
16
12
  setHeaders: (response, filePath) => {
@@ -22,11 +18,16 @@ const defaultServeStaticOptions = {
22
18
  }
23
19
  };
24
20
  const statics = (baseHref, staticPath, production = false, serveStaticOptions) => {
21
+ const router = new router_1.default({
22
+ sensitive: true,
23
+ strict: true
24
+ });
25
25
  const options = Object.assign(Object.assign({ brotli: production, defer: true, gzip: production }, defaultServeStaticOptions), serveStaticOptions);
26
26
  const staticBase = '(.*)';
27
27
  const serveStatic = (0, koa_static_1.default)(staticPath, options);
28
28
  router.get(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
29
29
  router.head(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
30
+ router.options(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
30
31
  return router;
31
32
  };
32
33
  exports.default = statics;
@@ -0,0 +1,5 @@
1
+ /// <reference types="koa" />
2
+ /// <reference types="koa__router" />
3
+ import Router from '@koa/router';
4
+ declare const stats: () => Router<import("koa").DefaultState, import("koa").DefaultContext>;
5
+ export default stats;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const router_1 = __importDefault(require("@koa/router"));
7
+ const koa_helmet_1 = __importDefault(require("koa-helmet"));
8
+ const stats = () => {
9
+ const router = new router_1.default({
10
+ sensitive: true,
11
+ strict: true
12
+ });
13
+ const helmetMiddleware = koa_helmet_1.default.contentSecurityPolicy({
14
+ directives: {
15
+ 'script-src': [
16
+ '\'self\'',
17
+ '\'unsafe-inline\''
18
+ ]
19
+ },
20
+ useDefaults: true
21
+ });
22
+ const statsPath = '/stats/(.*)';
23
+ router.get(statsPath, helmetMiddleware);
24
+ router.head(statsPath, helmetMiddleware);
25
+ router.options(statsPath, helmetMiddleware);
26
+ return router;
27
+ };
28
+ exports.default = stats;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@digest/koa",
3
3
  "title": "Koa Digest",
4
4
  "license": "GPL-3.0",
5
- "version": "3.3.2",
5
+ "version": "3.4.0",
6
6
  "description": "Digested Koa configurations",
7
7
  "author": "wallzero @wallzeroblog (http://wallzero.com)",
8
8
  "contributors": [
@@ -23,6 +23,8 @@
23
23
  "/dist/routers/index.js",
24
24
  "/dist/routers/statics.d.ts",
25
25
  "/dist/routers/statics.js",
26
+ "/dist/routers/stats.d.ts",
27
+ "/dist/routers/stats.js",
26
28
  "/dist/app.d.ts",
27
29
  "/dist/app.js",
28
30
  "/dist/server.d.ts",
@@ -44,12 +46,13 @@
44
46
  "clean": "rimraf node_modules dist package-lock.json npm-debug.log"
45
47
  },
46
48
  "dependencies": {
47
- "@digest/scripts": "^3.3.2",
49
+ "@digest/scripts": "^3.4.0",
48
50
  "@koa/router": "^10.1.1",
49
51
  "koa": "^2.13.4",
50
52
  "koa-helmet": "^6.1.0",
51
53
  "koa-history-api-fallback": "^1.0.0",
52
54
  "koa-mount": "^4.0.0",
55
+ "koa-remove-trailing-slashes": "^2.0.3",
53
56
  "koa-send": "^5.0.1",
54
57
  "koa-static": "^5.0.0"
55
58
  },
@@ -69,5 +72,5 @@
69
72
  "digest",
70
73
  "koa"
71
74
  ],
72
- "gitHead": "97df5e3e791d3bcac2eddc0d26b37b828b49e1e7"
75
+ "gitHead": "6a24369c2483e2ce33b0bb4bf36afa0919b58ab9"
73
76
  }