koa-helmet 8.0.2 → 9.0.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/LICENSE +1 -1
- package/README.md +15 -3
- package/dist/index.cjs +52 -0
- package/dist/index.d.cts +13 -0
- package/dist/index.d.mts +13 -0
- package/dist/index.mjs +24 -0
- package/package.json +54 -35
- package/koa-helmet.d.ts +0 -20
- package/lib/koa-helmet.js +0 -32
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ npm i koa-helmet helmet
|
|
|
14
14
|
|
|
15
15
|
# or:
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
bun add koa-helmet helmet
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## Usage
|
|
@@ -62,12 +62,24 @@ app.listen(4000);
|
|
|
62
62
|
|
|
63
63
|
## Testing
|
|
64
64
|
|
|
65
|
-
To run the
|
|
65
|
+
To run the test and lint suite, simply run
|
|
66
66
|
|
|
67
67
|
```
|
|
68
|
-
npm
|
|
68
|
+
npm check
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
+
Alternatively, you can run:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npm run test
|
|
75
|
+
npm run lint
|
|
76
|
+
npm run format:check
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Contributing
|
|
80
|
+
|
|
81
|
+
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
82
|
+
|
|
71
83
|
## Versioning
|
|
72
84
|
|
|
73
85
|
- koa-helmet >=2.x (main branch) supports koa 2.x and 3.x
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
let helmet = require("helmet");
|
|
29
|
+
helmet = __toESM(helmet);
|
|
30
|
+
let node_util = require("node:util");
|
|
31
|
+
|
|
32
|
+
//#region src/index.ts
|
|
33
|
+
function koaHelmet(...args) {
|
|
34
|
+
const helmetPromise = (0, node_util.promisify)((0, helmet.default)(...args));
|
|
35
|
+
const middleware = (ctx, next) => helmetPromise(ctx.req, ctx.res).then(next);
|
|
36
|
+
middleware._name = "helmet";
|
|
37
|
+
return middleware;
|
|
38
|
+
}
|
|
39
|
+
for (const [key, method] of Object.entries(helmet.default)) {
|
|
40
|
+
if (key === "default" || typeof method !== "function") continue;
|
|
41
|
+
const koaMethod = (...args) => {
|
|
42
|
+
const methodPromise = (0, node_util.promisify)(method(...args));
|
|
43
|
+
const middleware = (ctx, next) => methodPromise(ctx.req, ctx.res).then(next);
|
|
44
|
+
return middleware;
|
|
45
|
+
};
|
|
46
|
+
Object.assign(koaMethod, method);
|
|
47
|
+
koaHelmet[key] = koaMethod;
|
|
48
|
+
}
|
|
49
|
+
var src_default = koaHelmet;
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
module.exports = src_default;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import helmet, { HelmetOptions } from "helmet";
|
|
2
|
+
import { Middleware } from "koa";
|
|
3
|
+
|
|
4
|
+
//#region src/index.d.ts
|
|
5
|
+
type KoaMiddleware = Middleware & {
|
|
6
|
+
_name?: string;
|
|
7
|
+
};
|
|
8
|
+
type Helmet = typeof helmet;
|
|
9
|
+
type HelmetMethod = Helmet[keyof Helmet];
|
|
10
|
+
type KoaHelmet = { [HelmetMiddleware in keyof Helmet]: (...options: Parameters<Helmet[HelmetMiddleware]>) => Middleware } & ((options?: HelmetOptions) => Middleware);
|
|
11
|
+
declare const _default: KoaHelmet;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Helmet, HelmetMethod, KoaHelmet, KoaMiddleware, _default as default };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import helmet, { HelmetOptions } from "helmet";
|
|
2
|
+
import { Middleware } from "koa";
|
|
3
|
+
|
|
4
|
+
//#region src/index.d.ts
|
|
5
|
+
type KoaMiddleware = Middleware & {
|
|
6
|
+
_name?: string;
|
|
7
|
+
};
|
|
8
|
+
type Helmet = typeof helmet;
|
|
9
|
+
type HelmetMethod = Helmet[keyof Helmet];
|
|
10
|
+
type KoaHelmet = { [HelmetMiddleware in keyof Helmet]: (...options: Parameters<Helmet[HelmetMiddleware]>) => Middleware } & ((options?: HelmetOptions) => Middleware);
|
|
11
|
+
declare const _default: KoaHelmet;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Helmet, HelmetMethod, KoaHelmet, KoaMiddleware, _default as default };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import helmet from "helmet";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
|
|
4
|
+
//#region src/index.ts
|
|
5
|
+
function koaHelmet(...args) {
|
|
6
|
+
const helmetPromise = promisify(helmet(...args));
|
|
7
|
+
const middleware = (ctx, next) => helmetPromise(ctx.req, ctx.res).then(next);
|
|
8
|
+
middleware._name = "helmet";
|
|
9
|
+
return middleware;
|
|
10
|
+
}
|
|
11
|
+
for (const [key, method] of Object.entries(helmet)) {
|
|
12
|
+
if (key === "default" || typeof method !== "function") continue;
|
|
13
|
+
const koaMethod = (...args) => {
|
|
14
|
+
const methodPromise = promisify(method(...args));
|
|
15
|
+
const middleware = (ctx, next) => methodPromise(ctx.req, ctx.res).then(next);
|
|
16
|
+
return middleware;
|
|
17
|
+
};
|
|
18
|
+
Object.assign(koaMethod, method);
|
|
19
|
+
koaHelmet[key] = koaMethod;
|
|
20
|
+
}
|
|
21
|
+
var src_default = koaHelmet;
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { src_default as default };
|
package/package.json
CHANGED
|
@@ -1,55 +1,74 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koa-helmet",
|
|
3
|
-
"
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "Security header middleware collection for koa",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"version": "8.0.2",
|
|
8
|
-
"main": "lib/koa-helmet.js",
|
|
9
|
-
"typings": "./koa-helmet.d.ts",
|
|
10
|
-
"files": [
|
|
11
|
-
"lib",
|
|
12
|
-
"koa-helmet.d.ts"
|
|
13
|
-
],
|
|
14
|
-
"scripts": {
|
|
15
|
-
"check": "npm run format:check && npm run lint && npm run test && npm run typecheck",
|
|
16
|
-
"format": "prettier --write .",
|
|
17
|
-
"format:check": "prettier --check .",
|
|
18
|
-
"lint": "eslint .",
|
|
19
|
-
"test": "vitest",
|
|
20
|
-
"typecheck": "tsc --noEmit --pretty"
|
|
21
|
-
},
|
|
22
5
|
"keywords": [
|
|
23
|
-
"
|
|
6
|
+
"csp",
|
|
24
7
|
"headers",
|
|
8
|
+
"helmet",
|
|
9
|
+
"hsts",
|
|
25
10
|
"koa",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"hsts"
|
|
11
|
+
"security",
|
|
12
|
+
"x-frame-options"
|
|
29
13
|
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "Matt Venables <matt@venabl.es>",
|
|
30
16
|
"repository": {
|
|
31
|
-
"url": "https://github.com/venables/koa-helmet"
|
|
17
|
+
"url": "git+https://github.com/venables/koa-helmet.git"
|
|
32
18
|
},
|
|
33
|
-
"
|
|
34
|
-
"
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"type": "commonjs",
|
|
23
|
+
"main": "./dist/index.cjs",
|
|
24
|
+
"module": "./dist/index.mjs",
|
|
25
|
+
"types": "./dist/index.d.mts",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./dist/index.d.mts",
|
|
30
|
+
"default": "./dist/index.mjs"
|
|
31
|
+
},
|
|
32
|
+
"require": {
|
|
33
|
+
"types": "./dist/index.d.cts",
|
|
34
|
+
"default": "./dist/index.cjs"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
35
37
|
},
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "tsdown src/index.ts --format esm,cjs --dts --clean",
|
|
40
|
+
"changeset": "npx @changesets/cli",
|
|
41
|
+
"check": "npm run format:check && npm run lint && npm run typecheck && npm run build && npm test",
|
|
42
|
+
"fix": "npm run format && npm run lint:fix",
|
|
43
|
+
"format": "oxfmt --write .",
|
|
44
|
+
"format:check": "oxfmt --check .",
|
|
45
|
+
"lint": "oxlint .",
|
|
46
|
+
"lint:fix": "oxlint --fix --fix-suggestions",
|
|
47
|
+
"prepublishOnly": "npm run build",
|
|
48
|
+
"test": "vitest",
|
|
49
|
+
"typecheck": "tsc --noEmit --pretty"
|
|
39
50
|
},
|
|
40
51
|
"devDependencies": {
|
|
41
|
-
"@eslint/js": "^9.38.0",
|
|
42
52
|
"@types/koa": "^3.0.1",
|
|
43
53
|
"@types/supertest": "^6.0.3",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"globals": "^16.4.0",
|
|
54
|
+
"helmet-7": "npm:helmet@^7.0.0",
|
|
55
|
+
"helmet-8": "npm:helmet@^8.0.0",
|
|
47
56
|
"koa-2": "npm:koa@^2.13.0",
|
|
48
57
|
"koa-3": "npm:koa@^3.0.0",
|
|
49
|
-
"
|
|
58
|
+
"oxfmt": "^0.20.0",
|
|
59
|
+
"oxlint": "^1.35.0",
|
|
60
|
+
"oxlint-tsgolint": "^0.10.0",
|
|
61
|
+
"publint": "^0.3.16",
|
|
50
62
|
"supertest": "^7.1.4",
|
|
63
|
+
"tsdown": "^0.18.3",
|
|
51
64
|
"typescript": "^5.9.3",
|
|
52
|
-
"
|
|
53
|
-
|
|
65
|
+
"vitest": "^3.2.4"
|
|
66
|
+
},
|
|
67
|
+
"peerDependencies": {
|
|
68
|
+
"helmet": "^6 || ^7 || ^8",
|
|
69
|
+
"koa": "^2 || ^3"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">= 18.0.0"
|
|
54
73
|
}
|
|
55
74
|
}
|
package/koa-helmet.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Type definitions for koa-helmet 8.0
|
|
2
|
-
// Project: https://github.com/venables/koa-helmet#readme
|
|
3
|
-
// Definitions by: Nick Simmons <https://github.com/nsimmons>
|
|
4
|
-
// Jan Dolezel <https://github.com/dolezel>
|
|
5
|
-
// Julien Wajsberg <https://github.com/julienw>
|
|
6
|
-
// TypeScript Version: 2.3
|
|
7
|
-
|
|
8
|
-
import type { default as helmet, HelmetOptions } from "helmet";
|
|
9
|
-
import { Middleware } from "koa";
|
|
10
|
-
|
|
11
|
-
type Helmet = typeof helmet;
|
|
12
|
-
|
|
13
|
-
type KoaHelmet = {
|
|
14
|
-
[HelmetMiddleware in keyof Helmet]: (
|
|
15
|
-
...options: Parameters<Helmet[HelmetMiddleware]>
|
|
16
|
-
) => Middleware;
|
|
17
|
-
} & ((options?: HelmetOptions) => Middleware);
|
|
18
|
-
|
|
19
|
-
declare const koaHelmet: KoaHelmet;
|
|
20
|
-
export default koaHelmet;
|
package/lib/koa-helmet.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const helmet = require("helmet");
|
|
4
|
-
const { promisify } = require("util");
|
|
5
|
-
|
|
6
|
-
const koaHelmet = function () {
|
|
7
|
-
const helmetPromise = promisify(helmet.apply(null, arguments));
|
|
8
|
-
|
|
9
|
-
const middleware = (ctx, next) => {
|
|
10
|
-
return helmetPromise(ctx.req, ctx.res).then(next);
|
|
11
|
-
};
|
|
12
|
-
middleware._name = "helmet";
|
|
13
|
-
return middleware;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
Object.keys(helmet).forEach(function (helmetMethod) {
|
|
17
|
-
koaHelmet[helmetMethod] = function () {
|
|
18
|
-
const methodPromise = promisify(
|
|
19
|
-
helmet[helmetMethod].apply(null, arguments),
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
return (ctx, next) => {
|
|
23
|
-
return methodPromise(ctx.req, ctx.res).then(next);
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
Object.keys(helmet[helmetMethod]).forEach((methodExports) => {
|
|
27
|
-
koaHelmet[helmetMethod][methodExports] =
|
|
28
|
-
helmet[helmetMethod][methodExports];
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
module.exports = koaHelmet;
|