koa-files 2.3.0 → 2.3.2
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/README.md +1 -3
- package/cjs/Send.cjs +22 -13
- package/cjs/index.cjs +2 -2
- package/cjs/utils.cjs +10 -4
- package/esm/Send.js +1 -1
- package/esm/index.js +1 -1
- package/esm/utils.js +2 -2
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# koa-files
|
|
2
2
|
|
|
3
|
+
<!-- prettier-ignore -->
|
|
3
4
|
> A static files serving middleware for koa.
|
|
4
5
|
>
|
|
5
6
|
> [![NPM Version][npm-image]][npm-url]
|
|
6
7
|
> [![Download Status][download-image]][npm-url]
|
|
7
8
|
> [![Snyk Vulnerabilities][snyk-image]][snyk-url]
|
|
8
9
|
> ![Node Version][node-image]
|
|
9
|
-
> [![Dependencies][david-image]][david-url]
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -105,5 +105,3 @@ MIT
|
|
|
105
105
|
[snyk-image]: https://img.shields.io/snyk/vulnerabilities/github/nuintun/koa-files.svg?style=flat-square
|
|
106
106
|
[snyk-url]: https://snyk.io/test/github/nuintun/koa-files
|
|
107
107
|
[node-image]: https://img.shields.io/node/v/koa-files.svg?style=flat-square
|
|
108
|
-
[david-image]: https://img.shields.io/david/nuintun/koa-files.svg?style=flat-square
|
|
109
|
-
[david-url]: https://david-dm.org/nuintun/koa-files
|
package/cjs/Send.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package koa-files
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 2.3.
|
|
4
|
+
* @version 2.3.2
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A static files serving middleware for koa.
|
|
7
7
|
* @see https://github.com/nuintun/koa-files#readme
|
|
@@ -9,13 +9,22 @@
|
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
const etag = require('etag');
|
|
13
|
+
const destroy = require('destroy');
|
|
14
|
+
const stream = require('stream');
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
const parseRange = require('range-parser');
|
|
18
|
+
const utils = require('./utils.cjs');
|
|
19
|
+
|
|
20
|
+
function _interopDefault(e) {
|
|
21
|
+
return e && e.__esModule ? e : { default: e };
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const etag__default = /*#__PURE__*/ _interopDefault(etag);
|
|
25
|
+
const destroy__default = /*#__PURE__*/ _interopDefault(destroy);
|
|
26
|
+
const fs__default = /*#__PURE__*/ _interopDefault(fs);
|
|
27
|
+
const parseRange__default = /*#__PURE__*/ _interopDefault(parseRange);
|
|
19
28
|
|
|
20
29
|
/**
|
|
21
30
|
* @module Send
|
|
@@ -120,7 +129,7 @@ class Send {
|
|
|
120
129
|
// Range fresh
|
|
121
130
|
if (range && this.isRangeFresh()) {
|
|
122
131
|
// Parse range -1 -2 or []
|
|
123
|
-
const ranges =
|
|
132
|
+
const ranges = parseRange__default.default(size, range, { combine: true });
|
|
124
133
|
// -1 signals an unsatisfiable range
|
|
125
134
|
// -2 signals a malformed header string
|
|
126
135
|
if (ranges === -1 || ranges === -2) {
|
|
@@ -185,7 +194,7 @@ class Send {
|
|
|
185
194
|
// ETag
|
|
186
195
|
if (options.etag !== false) {
|
|
187
196
|
// Set ETag
|
|
188
|
-
ctx.set('ETag',
|
|
197
|
+
ctx.set('ETag', etag__default.default(stats));
|
|
189
198
|
}
|
|
190
199
|
// Accept-Ranges
|
|
191
200
|
if (acceptRanges !== false) {
|
|
@@ -214,7 +223,7 @@ class Send {
|
|
|
214
223
|
read(path, range, buffer, end) {
|
|
215
224
|
return new Promise((resolve, reject) => {
|
|
216
225
|
// Create file stream
|
|
217
|
-
const file =
|
|
226
|
+
const file = fs__default.default.createReadStream(path, range);
|
|
218
227
|
// File read stream open
|
|
219
228
|
if (range.prefix) {
|
|
220
229
|
file.once('open', () => {
|
|
@@ -227,7 +236,7 @@ class Send {
|
|
|
227
236
|
// Unpipe
|
|
228
237
|
file.unpipe(buffer);
|
|
229
238
|
// Destroy file stream
|
|
230
|
-
|
|
239
|
+
destroy__default.default(file);
|
|
231
240
|
// Reject
|
|
232
241
|
reject(error);
|
|
233
242
|
});
|
|
@@ -243,7 +252,7 @@ class Send {
|
|
|
243
252
|
// Unpipe
|
|
244
253
|
file.unpipe(buffer);
|
|
245
254
|
// Destroy file stream
|
|
246
|
-
|
|
255
|
+
destroy__default.default(file);
|
|
247
256
|
// Resolve
|
|
248
257
|
resolve(true);
|
|
249
258
|
});
|
package/cjs/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package koa-files
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 2.3.
|
|
4
|
+
* @version 2.3.2
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A static files serving middleware for koa.
|
|
7
7
|
* @see https://github.com/nuintun/koa-files#readme
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
const Send = require('./Send.cjs');
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @module index
|
package/cjs/utils.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package koa-files
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 2.3.
|
|
4
|
+
* @version 2.3.2
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A static files serving middleware for koa.
|
|
7
7
|
* @see https://github.com/nuintun/koa-files#readme
|
|
@@ -9,8 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const fs = require('fs');
|
|
13
|
+
const path = require('path');
|
|
14
|
+
|
|
15
|
+
function _interopDefault(e) {
|
|
16
|
+
return e && e.__esModule ? e : { default: e };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const fs__default = /*#__PURE__*/ _interopDefault(fs);
|
|
14
20
|
|
|
15
21
|
/**
|
|
16
22
|
* @module utils
|
|
@@ -72,7 +78,7 @@ function boundaryGenerator() {
|
|
|
72
78
|
*/
|
|
73
79
|
function fstat(path) {
|
|
74
80
|
return new Promise((resolve, reject) => {
|
|
75
|
-
|
|
81
|
+
fs__default.default.stat(path, (error, stats) => {
|
|
76
82
|
error ? reject(error) : resolve(stats);
|
|
77
83
|
});
|
|
78
84
|
});
|
package/esm/Send.js
CHANGED
package/esm/index.js
CHANGED
package/esm/utils.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package koa-files
|
|
3
3
|
* @license MIT
|
|
4
|
-
* @version 2.3.
|
|
4
|
+
* @version 2.3.2
|
|
5
5
|
* @author nuintun <nuintun@qq.com>
|
|
6
6
|
* @description A static files serving middleware for koa.
|
|
7
7
|
* @see https://github.com/nuintun/koa-files#readme
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import fs from 'fs';
|
|
11
|
-
import {
|
|
11
|
+
import { relative, isAbsolute } from 'path';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @module utils
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koa-files",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "A static files serving middleware for koa.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "cjs/index.cjs",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"test": "node tests",
|
|
20
20
|
"lint": "tsc --noEmit",
|
|
21
21
|
"clean": "node tools/clean.js",
|
|
22
|
+
"format": "prettier --write .",
|
|
22
23
|
"prepublishOnly": "npm run build",
|
|
23
24
|
"build:cjs": "rollup -c tools/rollup.cjs.js",
|
|
24
25
|
"build:esm": "rollup -c tools/rollup.esm.js",
|
|
25
|
-
"format": "prettier --write tools src cjs esm tests types",
|
|
26
26
|
"build": "npm run clean && npm run build:main && npm run format",
|
|
27
27
|
"build:main": "npm run build:cjs && npm run build:esm && npm run build:types",
|
|
28
28
|
"build:types": "tsc --declaration --emitDeclarationOnly --declarationDir types"
|
|
@@ -59,19 +59,19 @@
|
|
|
59
59
|
"destroy": "^1.2.0",
|
|
60
60
|
"etag": "^1.8.1",
|
|
61
61
|
"range-parser": "^1.2.1",
|
|
62
|
-
"tslib": "^2.
|
|
62
|
+
"tslib": "^2.5.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@rollup/plugin-typescript": "^
|
|
65
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
66
66
|
"@types/destroy": "^1.0.0",
|
|
67
67
|
"@types/etag": "^1.8.1",
|
|
68
|
-
"@types/koa": "^2.13.
|
|
68
|
+
"@types/koa": "^2.13.5",
|
|
69
69
|
"@types/range-parser": "^1.2.4",
|
|
70
|
-
"koa": "^2.
|
|
71
|
-
"magic-string": "^0.
|
|
72
|
-
"prettier": "^2.
|
|
73
|
-
"rimraf": "^
|
|
74
|
-
"rollup": "^
|
|
75
|
-
"typescript": "^4.
|
|
70
|
+
"koa": "^2.14.1",
|
|
71
|
+
"magic-string": "^0.27.0",
|
|
72
|
+
"prettier": "^2.8.3",
|
|
73
|
+
"rimraf": "^4.1.2",
|
|
74
|
+
"rollup": "^3.12.0",
|
|
75
|
+
"typescript": "^4.9.4"
|
|
76
76
|
}
|
|
77
|
-
}
|
|
77
|
+
}
|