koa-helmet 8.0.3 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2014-2017 Matt Venables
3
+ Copyright (c) 2014-2025 Matt Venables
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
package/README.md CHANGED
@@ -14,7 +14,7 @@ npm i koa-helmet helmet
14
14
 
15
15
  # or:
16
16
 
17
- yarn add koa-helmet helmet
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 tests, simply run
65
+ To run the test and lint suite, simply run
66
66
 
67
67
  ```
68
- npm test
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;
@@ -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 };
@@ -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,54 +1,74 @@
1
1
  {
2
2
  "name": "koa-helmet",
3
- "author": "Matt Venables <matt@venabl.es>",
3
+ "version": "9.0.0",
4
4
  "description": "Security header middleware collection for koa",
5
- "license": "MIT",
6
- "version": "8.0.3",
7
- "main": "lib/koa-helmet.js",
8
- "typings": "./koa-helmet.d.ts",
9
- "files": [
10
- "lib",
11
- "koa-helmet.d.ts"
12
- ],
13
- "scripts": {
14
- "check": "npm run format:check && npm run lint && npm run test && npm run typecheck",
15
- "format": "prettier --write .",
16
- "format:check": "prettier --check .",
17
- "lint": "eslint .",
18
- "test": "vitest",
19
- "typecheck": "tsc --noEmit --pretty"
20
- },
21
5
  "keywords": [
22
- "security",
6
+ "csp",
23
7
  "headers",
8
+ "helmet",
9
+ "hsts",
24
10
  "koa",
25
- "x-frame-options",
26
- "csp",
27
- "hsts"
11
+ "security",
12
+ "x-frame-options"
28
13
  ],
14
+ "license": "MIT",
15
+ "author": "Matt Venables <matt@venabl.es>",
29
16
  "repository": {
30
- "url": "https://github.com/venables/koa-helmet"
17
+ "url": "git+https://github.com/venables/koa-helmet.git"
31
18
  },
32
- "engines": {
33
- "node": ">= 18.0.0"
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
+ }
34
37
  },
35
- "peerDependencies": {
36
- "helmet": ">= 6",
37
- "koa": ">= 2"
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"
38
50
  },
39
51
  "devDependencies": {
40
- "@eslint/js": "^9.38.0",
41
52
  "@types/koa": "^3.0.1",
42
53
  "@types/supertest": "^6.0.3",
43
- "eslint": "^9.38.0",
44
- "eslint-config-prettier": "^10.1.8",
45
- "globals": "^16.4.0",
54
+ "helmet-7": "npm:helmet@^7.0.0",
55
+ "helmet-8": "npm:helmet@^8.0.0",
46
56
  "koa-2": "npm:koa@^2.13.0",
47
57
  "koa-3": "npm:koa@^3.0.0",
48
- "prettier": "^3.6.2",
58
+ "oxfmt": "^0.20.0",
59
+ "oxlint": "^1.35.0",
60
+ "oxlint-tsgolint": "^0.10.0",
61
+ "publint": "^0.3.16",
49
62
  "supertest": "^7.1.4",
63
+ "tsdown": "^0.18.3",
50
64
  "typescript": "^5.9.3",
51
- "typescript-eslint": "^8.46.2",
52
- "vitest": "^4.0.6"
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"
53
73
  }
54
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;