@digest/koa 3.3.0 → 3.3.4
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.d.ts +3 -5
- package/dist/app.js +8 -33
- package/dist/middleware/history.d.ts +4 -0
- package/dist/middleware/history.js +32 -0
- package/dist/routers/history.d.ts +5 -0
- package/dist/routers/history.js +29 -0
- package/dist/routers/index.d.ts +5 -0
- package/dist/routers/index.js +21 -0
- package/dist/routers/statics.d.ts +6 -0
- package/dist/routers/statics.js +33 -0
- package/dist/routers/stats.d.ts +5 -0
- package/dist/routers/stats.js +25 -0
- package/package.json +23 -8
- package/dist/start.d.ts +0 -3
- package/dist/start.js +0 -13
package/dist/app.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import type { Options } from 'koa-static';
|
|
5
|
-
export default function (staticPath?: string, baseHref?: any, compression?: boolean, production?: boolean, serveStaticOptions?: Options): Router<import("koa").DefaultState, import("koa").DefaultContext>;
|
|
1
|
+
import Koa from 'koa';
|
|
2
|
+
declare const app: Koa<Koa.DefaultState, Koa.DefaultContext>;
|
|
3
|
+
export default app;
|
package/dist/app.js
CHANGED
|
@@ -3,37 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const scripts_1 = __importDefault(require("@digest/scripts"));
|
|
8
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
6
|
+
const koa_1 = __importDefault(require("koa"));
|
|
9
7
|
const koa_helmet_1 = __importDefault(require("koa-helmet"));
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
response.setHeader('Pragma', 'no-cache');
|
|
18
|
-
response.setHeader('Expires', '0');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
function default_1(staticPath = scripts_1.default.staticPath.replace('/bundle', ''), baseHref = scripts_1.default.baseHref, compression = scripts_1.default.compression, production = scripts_1.default.production, serveStaticOptions) {
|
|
23
|
-
const options = Object.assign(Object.assign({}, defaultServeStaticOptions), serveStaticOptions);
|
|
24
|
-
if (production &&
|
|
25
|
-
compression) {
|
|
26
|
-
router.use(baseHref, (0, koa_static_1.default)(staticPath, options));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
router.use(baseHref, (0, koa_static_1.default)(staticPath, options));
|
|
30
|
-
}
|
|
31
|
-
const defaultIndex = path_1.default.join(staticPath, 'index.html');
|
|
32
|
-
router.use((0, koa_helmet_1.default)());
|
|
33
|
-
router.all(`${baseHref}*`, (context) => {
|
|
34
|
-
context.set('Cache-Control', 'public, max-age=31536000');
|
|
35
|
-
context.sendFile(defaultIndex);
|
|
36
|
-
});
|
|
37
|
-
return router;
|
|
38
|
-
}
|
|
39
|
-
exports.default = default_1;
|
|
8
|
+
const koa_remove_trailing_slashes_1 = __importDefault(require("koa-remove-trailing-slashes"));
|
|
9
|
+
const routers_1 = __importDefault(require("./routers"));
|
|
10
|
+
const server_1 = __importDefault(require("./server"));
|
|
11
|
+
const app = new koa_1.default();
|
|
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)());
|
|
13
|
+
(0, server_1.default)(app);
|
|
14
|
+
exports.default = app;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const koa_history_api_fallback_1 = __importDefault(require("koa-history-api-fallback"));
|
|
16
|
+
const history = (options) => {
|
|
17
|
+
const middleware = (0, koa_history_api_fallback_1.default)(options);
|
|
18
|
+
const historyMiddleware = (context, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
if (context.state.history) {
|
|
20
|
+
yield next();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const nextRoute = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
context.state.history = true;
|
|
25
|
+
yield context.router.routes()(context, next);
|
|
26
|
+
});
|
|
27
|
+
yield middleware(context, nextRoute);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return historyMiddleware;
|
|
31
|
+
};
|
|
32
|
+
exports.default = history;
|
|
@@ -0,0 +1,29 @@
|
|
|
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 path_1 = __importDefault(require("path"));
|
|
7
|
+
const router_1 = __importDefault(require("@koa/router"));
|
|
8
|
+
const history_1 = __importDefault(require("../middleware/history"));
|
|
9
|
+
const ACCEPT_HEADERS = [
|
|
10
|
+
'text/html',
|
|
11
|
+
'application/xhtml+xml'
|
|
12
|
+
];
|
|
13
|
+
const history = (baseHref) => {
|
|
14
|
+
const router = new router_1.default({
|
|
15
|
+
sensitive: true,
|
|
16
|
+
strict: true
|
|
17
|
+
});
|
|
18
|
+
const defaultIndex = path_1.default.join(baseHref, 'index.html');
|
|
19
|
+
const historyMiddleware = (0, history_1.default)({
|
|
20
|
+
htmlAcceptHeaders: ACCEPT_HEADERS,
|
|
21
|
+
index: defaultIndex
|
|
22
|
+
});
|
|
23
|
+
const historyBase = '(.*)';
|
|
24
|
+
router.get(historyBase, historyMiddleware);
|
|
25
|
+
router.head(historyBase, historyMiddleware);
|
|
26
|
+
router.options(historyBase, historyMiddleware);
|
|
27
|
+
return router;
|
|
28
|
+
};
|
|
29
|
+
exports.default = history;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 scripts_1 = __importDefault(require("@digest/scripts"));
|
|
7
|
+
const router_1 = __importDefault(require("@koa/router"));
|
|
8
|
+
const history_1 = __importDefault(require("./history"));
|
|
9
|
+
const statics_1 = __importDefault(require("./statics"));
|
|
10
|
+
const stats_1 = __importDefault(require("./stats"));
|
|
11
|
+
const { baseHref, production } = scripts_1.default;
|
|
12
|
+
const staticPath = scripts_1.default.staticPath.replace('/bundle', '');
|
|
13
|
+
const routers = new router_1.default({
|
|
14
|
+
sensitive: true,
|
|
15
|
+
strict: true
|
|
16
|
+
});
|
|
17
|
+
const statsRouter = (0, stats_1.default)();
|
|
18
|
+
const historyRouter = (0, history_1.default)(baseHref);
|
|
19
|
+
const staticsRouter = (0, statics_1.default)(baseHref, staticPath.replace('/bundle', ''), production);
|
|
20
|
+
routers.use(baseHref, statsRouter.routes(), statsRouter.allowedMethods(), staticsRouter.routes(), staticsRouter.allowedMethods(), historyRouter.routes(), historyRouter.allowedMethods());
|
|
21
|
+
exports.default = routers;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="koa" />
|
|
2
|
+
/// <reference types="koa__router" />
|
|
3
|
+
import Router from '@koa/router';
|
|
4
|
+
import type { Options } from 'koa-static';
|
|
5
|
+
declare const statics: (baseHref: string, staticPath: string, production?: boolean, serveStaticOptions?: Options | undefined) => Router<import("koa").DefaultState, import("koa").DefaultContext>;
|
|
6
|
+
export default statics;
|
|
@@ -0,0 +1,33 @@
|
|
|
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_mount_1 = __importDefault(require("koa-mount"));
|
|
8
|
+
const koa_static_1 = __importDefault(require("koa-static"));
|
|
9
|
+
const MAX_AGE = 31536000;
|
|
10
|
+
const defaultServeStaticOptions = {
|
|
11
|
+
maxAge: MAX_AGE,
|
|
12
|
+
setHeaders: (response, filePath) => {
|
|
13
|
+
if (filePath.includes('workbox.js')) {
|
|
14
|
+
response.setHeader('Cache-Control', 'max-age=0, no-cache, no-store, must-revalidate');
|
|
15
|
+
response.setHeader('Pragma', 'no-cache');
|
|
16
|
+
response.setHeader('Expires', '0');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const statics = (baseHref, staticPath, production = false, serveStaticOptions) => {
|
|
21
|
+
const router = new router_1.default({
|
|
22
|
+
sensitive: true,
|
|
23
|
+
strict: true
|
|
24
|
+
});
|
|
25
|
+
const options = Object.assign(Object.assign({ brotli: production, defer: true, gzip: production }, defaultServeStaticOptions), serveStaticOptions);
|
|
26
|
+
const staticBase = '(.*)';
|
|
27
|
+
const serveStatic = (0, koa_static_1.default)(staticPath, options);
|
|
28
|
+
router.get(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
|
|
29
|
+
router.head(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
|
|
30
|
+
router.options(staticBase, (0, koa_mount_1.default)(baseHref, serveStatic));
|
|
31
|
+
return router;
|
|
32
|
+
};
|
|
33
|
+
exports.default = statics;
|
|
@@ -0,0 +1,25 @@
|
|
|
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': ['\'self\'', '\'unsafe-inline\'']
|
|
16
|
+
},
|
|
17
|
+
useDefaults: true
|
|
18
|
+
});
|
|
19
|
+
const statsPath = '/stats/(.*)';
|
|
20
|
+
router.get(statsPath, helmetMiddleware);
|
|
21
|
+
router.head(statsPath, helmetMiddleware);
|
|
22
|
+
router.options(statsPath, helmetMiddleware);
|
|
23
|
+
return router;
|
|
24
|
+
};
|
|
25
|
+
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.
|
|
5
|
+
"version": "3.3.4",
|
|
6
6
|
"description": "Digested Koa configurations",
|
|
7
7
|
"author": "wallzero @wallzeroblog (http://wallzero.com)",
|
|
8
8
|
"contributors": [
|
|
@@ -12,15 +12,23 @@
|
|
|
12
12
|
"position": "Initial and Lead Developer"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
|
-
"main": "dist/
|
|
16
|
-
"types": "dist/
|
|
15
|
+
"main": "dist/app.js",
|
|
16
|
+
"types": "dist/app.d.ts",
|
|
17
17
|
"files": [
|
|
18
|
+
"/dist/middleware/history.d.ts",
|
|
19
|
+
"/dist/middleware/history.js",
|
|
20
|
+
"/dist/routers/history.d.ts",
|
|
21
|
+
"/dist/routers/history.js",
|
|
22
|
+
"/dist/routers/index.d.ts",
|
|
23
|
+
"/dist/routers/index.js",
|
|
24
|
+
"/dist/routers/statics.d.ts",
|
|
25
|
+
"/dist/routers/statics.js",
|
|
26
|
+
"/dist/routers/stats.d.ts",
|
|
27
|
+
"/dist/routers/stats.js",
|
|
18
28
|
"/dist/app.d.ts",
|
|
19
29
|
"/dist/app.js",
|
|
20
30
|
"/dist/server.d.ts",
|
|
21
31
|
"/dist/server.js",
|
|
22
|
-
"/dist/start.d.ts",
|
|
23
|
-
"/dist/start.js",
|
|
24
32
|
"/LICENSE.md"
|
|
25
33
|
],
|
|
26
34
|
"homepage": "https://gitlab.com/digested/node-digest/tree/master/packages/koa",
|
|
@@ -38,17 +46,24 @@
|
|
|
38
46
|
"clean": "rimraf node_modules dist package-lock.json npm-debug.log"
|
|
39
47
|
},
|
|
40
48
|
"dependencies": {
|
|
41
|
-
"@digest/scripts": "^3.3.
|
|
49
|
+
"@digest/scripts": "^3.3.4",
|
|
42
50
|
"@koa/router": "^10.1.1",
|
|
43
51
|
"koa": "^2.13.4",
|
|
44
52
|
"koa-helmet": "^6.1.0",
|
|
53
|
+
"koa-history-api-fallback": "^1.0.0",
|
|
54
|
+
"koa-mount": "^4.0.0",
|
|
55
|
+
"koa-remove-trailing-slashes": "^2.0.3",
|
|
56
|
+
"koa-send": "^5.0.1",
|
|
45
57
|
"koa-static": "^5.0.0"
|
|
46
58
|
},
|
|
47
59
|
"devDependencies": {
|
|
60
|
+
"@types/connect-history-api-fallback": "^1.3.5",
|
|
48
61
|
"@types/koa": "^2.13.4",
|
|
49
62
|
"@types/koa-helmet": "^6.0.4",
|
|
63
|
+
"@types/koa-mount": "^4.0.1",
|
|
64
|
+
"@types/koa-send": "^4.1.3",
|
|
50
65
|
"@types/koa-static": "^4.0.2",
|
|
51
|
-
"@types/koa__router": "^8.0.
|
|
66
|
+
"@types/koa__router": "^8.0.11"
|
|
52
67
|
},
|
|
53
68
|
"peerDependencies": {
|
|
54
69
|
"koa": "^2.13.4"
|
|
@@ -57,5 +72,5 @@
|
|
|
57
72
|
"digest",
|
|
58
73
|
"koa"
|
|
59
74
|
],
|
|
60
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "9d4de3a9c295ffa38a7bf06217fd8955528fd9ee"
|
|
61
76
|
}
|
package/dist/start.d.ts
DELETED
package/dist/start.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
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 koa_1 = __importDefault(require("koa"));
|
|
7
|
-
const app_1 = __importDefault(require("./app"));
|
|
8
|
-
const server_1 = __importDefault(require("./server"));
|
|
9
|
-
const start = new koa_1.default();
|
|
10
|
-
start.use((0, app_1.default)().routes());
|
|
11
|
-
start.use((0, app_1.default)().allowedMethods());
|
|
12
|
-
(0, server_1.default)(start);
|
|
13
|
-
exports.default = start;
|