@flystorage/file-storage 0.1.2 → 0.1.3
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/cjs/checksum-from-stream.js +3 -7
- package/dist/cjs/errors.js +22 -47
- package/dist/cjs/file-storage.js +23 -36
- package/dist/cjs/index.js +6 -22
- package/dist/cjs/path-normalizer.js +5 -11
- package/dist/cjs/path-prefixer.js +3 -7
- package/dist/cjs/portable-visibility.js +2 -5
- package/package.json +2 -2
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.checksumFromStream = void 0;
|
|
4
|
-
const crypto_1 = require("crypto");
|
|
5
|
-
async function checksumFromStream(stream, options) {
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
export async function checksumFromStream(stream, options) {
|
|
6
3
|
return new Promise(async (resolve, reject) => {
|
|
7
|
-
const hash =
|
|
4
|
+
const hash = createHash(options.algo ?? 'md5');
|
|
8
5
|
stream.on('error', reject);
|
|
9
6
|
stream.pipe(hash, { end: false });
|
|
10
7
|
stream.on('end', () => {
|
|
@@ -13,4 +10,3 @@ async function checksumFromStream(stream, options) {
|
|
|
13
10
|
});
|
|
14
11
|
});
|
|
15
12
|
}
|
|
16
|
-
exports.checksumFromStream = checksumFromStream;
|
package/dist/cjs/errors.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnableToListDirectory = exports.UnableToCheckDirectoryExistence = exports.UnableToCheckFileExistence = exports.UnableToDeleteFile = exports.UnableToDeleteDirectory = exports.UnableToCreateDirectory = exports.UnableToGetStat = exports.UnableToMoveFile = exports.UnableToCopyFile = exports.UnableToGetTemporaryUrl = exports.UnableToGetPublicUrl = exports.UnableToGetVisibility = exports.UnableToSetVisibility = exports.UnableToReadFile = exports.UnableToWriteFile = exports.UnableToGetFileSize = exports.UnableToGetLastModified = exports.UnableToGetMimeType = exports.UnableToGetChecksum = exports.ChecksumIsNotAvailable = exports.FlystorageError = exports.errorToMessage = void 0;
|
|
4
|
-
function errorToMessage(error) {
|
|
1
|
+
export function errorToMessage(error) {
|
|
5
2
|
return error instanceof Error ? error.message : String(error);
|
|
6
3
|
}
|
|
7
|
-
|
|
8
|
-
class FlystorageError extends Error {
|
|
4
|
+
export class FlystorageError extends Error {
|
|
9
5
|
context;
|
|
10
6
|
code = 'unknown_error';
|
|
11
7
|
constructor(message, context = {}, cause = undefined) {
|
|
@@ -15,12 +11,11 @@ class FlystorageError extends Error {
|
|
|
15
11
|
this.context = context;
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
|
-
exports.FlystorageError = FlystorageError;
|
|
19
14
|
/**
|
|
20
15
|
* Thrown when the checksum algo is not supported or not pre-computed. This error
|
|
21
16
|
* is thrown with the intention of falling back to computing it based on a file read.
|
|
22
17
|
*/
|
|
23
|
-
class ChecksumIsNotAvailable extends FlystorageError {
|
|
18
|
+
export class ChecksumIsNotAvailable extends FlystorageError {
|
|
24
19
|
algo;
|
|
25
20
|
code = 'flystorage.checksum_not_supported';
|
|
26
21
|
constructor(message, algo, context = {}, cause = undefined) {
|
|
@@ -29,100 +24,80 @@ class ChecksumIsNotAvailable extends FlystorageError {
|
|
|
29
24
|
}
|
|
30
25
|
static checksumNotSupported = (algo, { context = {}, cause = undefined } = {}) => new ChecksumIsNotAvailable(`Checksum algo "${algo}" is not supported`, algo, { ...context, algo }, cause);
|
|
31
26
|
}
|
|
32
|
-
|
|
33
|
-
class UnableToGetChecksum extends FlystorageError {
|
|
27
|
+
export class UnableToGetChecksum extends FlystorageError {
|
|
34
28
|
code = 'flystorage.unable_to_get_checksum';
|
|
35
29
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetChecksum(`Unable to write the file. Reason: ${reason}`, context, cause);
|
|
36
30
|
}
|
|
37
|
-
|
|
38
|
-
class UnableToGetMimeType extends FlystorageError {
|
|
31
|
+
export class UnableToGetMimeType extends FlystorageError {
|
|
39
32
|
code = 'flystorage.unable_to_get_mimetype';
|
|
40
33
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetMimeType(`Unable to get mime-type. Reason: ${reason}`, context, cause);
|
|
41
34
|
}
|
|
42
|
-
|
|
43
|
-
class UnableToGetLastModified extends FlystorageError {
|
|
35
|
+
export class UnableToGetLastModified extends FlystorageError {
|
|
44
36
|
code = 'flystorage.unable_to_get_last_modified';
|
|
45
37
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetLastModified(`Unable to get last modified. Reason: ${reason}`, context, cause);
|
|
46
38
|
}
|
|
47
|
-
|
|
48
|
-
class UnableToGetFileSize extends FlystorageError {
|
|
39
|
+
export class UnableToGetFileSize extends FlystorageError {
|
|
49
40
|
code = 'flystorage.unable_to_get_file_size';
|
|
50
41
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetFileSize(`Unable to get file size. Reason: ${reason}`, context, cause);
|
|
51
42
|
}
|
|
52
|
-
|
|
53
|
-
class UnableToWriteFile extends FlystorageError {
|
|
43
|
+
export class UnableToWriteFile extends FlystorageError {
|
|
54
44
|
code = 'flystorage.unable_to_write_file';
|
|
55
45
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToWriteFile(`Unable to write the file. Reason: ${reason}`, context, cause);
|
|
56
46
|
}
|
|
57
|
-
|
|
58
|
-
class UnableToReadFile extends FlystorageError {
|
|
47
|
+
export class UnableToReadFile extends FlystorageError {
|
|
59
48
|
code = 'flystorage.unable_to_read_file';
|
|
60
49
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToReadFile(`Unable to read the file. Reason: ${reason}`, context, cause);
|
|
61
50
|
}
|
|
62
|
-
|
|
63
|
-
class UnableToSetVisibility extends FlystorageError {
|
|
51
|
+
export class UnableToSetVisibility extends FlystorageError {
|
|
64
52
|
code = 'flystorage.unable_to_set_visibility';
|
|
65
53
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToSetVisibility(`Unable to set visibility. Reason: ${reason}`, context, cause);
|
|
66
54
|
}
|
|
67
|
-
|
|
68
|
-
class UnableToGetVisibility extends FlystorageError {
|
|
55
|
+
export class UnableToGetVisibility extends FlystorageError {
|
|
69
56
|
code = 'flystorage.unable_to_get_visibility';
|
|
70
57
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetVisibility(`Unable to get visibility. Reason: ${reason}`, context, cause);
|
|
71
58
|
}
|
|
72
|
-
|
|
73
|
-
class UnableToGetPublicUrl extends FlystorageError {
|
|
59
|
+
export class UnableToGetPublicUrl extends FlystorageError {
|
|
74
60
|
code = 'flystorage.unable_to_get_public_url';
|
|
75
61
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetPublicUrl(`Unable to get public URL. Reason: ${reason}`, context, cause);
|
|
76
62
|
}
|
|
77
|
-
|
|
78
|
-
class UnableToGetTemporaryUrl extends FlystorageError {
|
|
63
|
+
export class UnableToGetTemporaryUrl extends FlystorageError {
|
|
79
64
|
code = 'flystorage.unable_to_get_temporary_url';
|
|
80
65
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetTemporaryUrl(`Unable to get temporary URL. Reason: ${reason}`, context, cause);
|
|
81
66
|
}
|
|
82
|
-
|
|
83
|
-
class UnableToCopyFile extends FlystorageError {
|
|
67
|
+
export class UnableToCopyFile extends FlystorageError {
|
|
84
68
|
code = 'flystorage.unable_to_copy_file';
|
|
85
69
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToCopyFile(`Unable to copy file. Reason: ${reason}`, context, cause);
|
|
86
70
|
}
|
|
87
|
-
|
|
88
|
-
class UnableToMoveFile extends FlystorageError {
|
|
71
|
+
export class UnableToMoveFile extends FlystorageError {
|
|
89
72
|
code = 'flystorage.unable_to_move_file';
|
|
90
73
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToMoveFile(`Unable to move file. Reason: ${reason}`, context, cause);
|
|
91
74
|
}
|
|
92
|
-
|
|
93
|
-
class UnableToGetStat extends FlystorageError {
|
|
75
|
+
export class UnableToGetStat extends FlystorageError {
|
|
94
76
|
code = 'flystorage.unable_to_get_stat';
|
|
95
77
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToGetStat(`Unable to get stat. Reason: ${reason}`, context, cause);
|
|
96
78
|
static noFileStatResolved = ({ context = {}, cause = undefined }) => new UnableToGetStat(`Stat was not a file.`, context, cause);
|
|
97
79
|
}
|
|
98
|
-
|
|
99
|
-
class UnableToCreateDirectory extends FlystorageError {
|
|
80
|
+
export class UnableToCreateDirectory extends FlystorageError {
|
|
100
81
|
code = 'flystorage.unable_to_create_directory';
|
|
101
82
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToCreateDirectory(`Unable to create directory. Reason: ${reason}`, context, cause);
|
|
102
83
|
}
|
|
103
|
-
|
|
104
|
-
class UnableToDeleteDirectory extends FlystorageError {
|
|
84
|
+
export class UnableToDeleteDirectory extends FlystorageError {
|
|
105
85
|
code = 'flystorage.unable_to_delete_directory';
|
|
106
86
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToDeleteDirectory(`Unable to delete directory. Reason: ${reason}`, context, cause);
|
|
107
87
|
}
|
|
108
|
-
|
|
109
|
-
class UnableToDeleteFile extends FlystorageError {
|
|
88
|
+
export class UnableToDeleteFile extends FlystorageError {
|
|
110
89
|
code = 'flystorage.unable_to_delete_file';
|
|
111
90
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToDeleteFile(`Unable to delete file. Reason: ${reason}`, context, cause);
|
|
112
91
|
}
|
|
113
|
-
|
|
114
|
-
class UnableToCheckFileExistence extends FlystorageError {
|
|
92
|
+
export class UnableToCheckFileExistence extends FlystorageError {
|
|
115
93
|
code = 'flystorage.unable_to_check_file_existence';
|
|
116
94
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToCheckFileExistence(`Unable to check file existence. Reason: ${reason}`, context, cause);
|
|
117
95
|
}
|
|
118
|
-
|
|
119
|
-
class UnableToCheckDirectoryExistence extends FlystorageError {
|
|
96
|
+
export class UnableToCheckDirectoryExistence extends FlystorageError {
|
|
120
97
|
code = 'flystorage.unable_to_check_directory_existence';
|
|
121
98
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToCheckDirectoryExistence(`Unable to check directory existence. Reason: ${reason}`, context, cause);
|
|
122
99
|
}
|
|
123
|
-
|
|
124
|
-
class UnableToListDirectory extends FlystorageError {
|
|
100
|
+
export class UnableToListDirectory extends FlystorageError {
|
|
125
101
|
code = 'flystorage.unable_to_list_directory_contents';
|
|
126
102
|
static because = (reason, { context = {}, cause = undefined }) => new UnableToListDirectory(`Unable to list directory contents. Reason: ${reason}`, context, cause);
|
|
127
103
|
}
|
|
128
|
-
exports.UnableToListDirectory = UnableToListDirectory;
|
package/dist/cjs/file-storage.js
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const path_normalizer_js_1 = require("./path-normalizer.js");
|
|
9
|
-
const util_1 = require("util");
|
|
10
|
-
function isFile(stat) {
|
|
1
|
+
import { Readable } from 'stream';
|
|
2
|
+
import { checksumFromStream } from './checksum-from-stream.js';
|
|
3
|
+
import * as errors from './errors.js';
|
|
4
|
+
import { ChecksumIsNotAvailable } from './errors.js';
|
|
5
|
+
import { PathNormalizerV1 } from './path-normalizer.js';
|
|
6
|
+
import { TextEncoder } from "util";
|
|
7
|
+
export function isFile(stat) {
|
|
11
8
|
return stat.isFile;
|
|
12
9
|
}
|
|
13
|
-
|
|
14
|
-
function isDirectory(stat) {
|
|
10
|
+
export function isDirectory(stat) {
|
|
15
11
|
return stat.isDirectory;
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
class DirectoryListing {
|
|
13
|
+
export class DirectoryListing {
|
|
19
14
|
listing;
|
|
20
15
|
path;
|
|
21
16
|
deep;
|
|
@@ -53,23 +48,21 @@ class DirectoryListing {
|
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (contents instanceof stream_1.Readable) {
|
|
51
|
+
export function toReadable(contents) {
|
|
52
|
+
if (contents instanceof Readable) {
|
|
59
53
|
return contents;
|
|
60
54
|
}
|
|
61
|
-
return
|
|
55
|
+
return Readable.from(contents);
|
|
62
56
|
}
|
|
63
|
-
exports.toReadable = toReadable;
|
|
64
57
|
const naturalSorting = new Intl.Collator(undefined, {
|
|
65
58
|
numeric: true,
|
|
66
59
|
sensitivity: 'base'
|
|
67
60
|
});
|
|
68
|
-
class FileStorage {
|
|
61
|
+
export class FileStorage {
|
|
69
62
|
adapter;
|
|
70
63
|
pathNormalizer;
|
|
71
64
|
options;
|
|
72
|
-
constructor(adapter, pathNormalizer = new
|
|
65
|
+
constructor(adapter, pathNormalizer = new PathNormalizerV1(), options = {}) {
|
|
73
66
|
this.adapter = adapter;
|
|
74
67
|
this.pathNormalizer = pathNormalizer;
|
|
75
68
|
this.options = options;
|
|
@@ -86,7 +79,7 @@ class FileStorage {
|
|
|
86
79
|
}
|
|
87
80
|
async read(path) {
|
|
88
81
|
try {
|
|
89
|
-
return
|
|
82
|
+
return Readable.from(await this.adapter.read(this.pathNormalizer.normalizePath(path)));
|
|
90
83
|
}
|
|
91
84
|
catch (error) {
|
|
92
85
|
throw errors.UnableToReadFile.because(errors.errorToMessage(error), { cause: error, context: { path } });
|
|
@@ -218,7 +211,7 @@ class FileStorage {
|
|
|
218
211
|
return await this.adapter.checksum(this.pathNormalizer.normalizePath(path), { ...this.options.checksums, ...options });
|
|
219
212
|
}
|
|
220
213
|
catch (error) {
|
|
221
|
-
if (error instanceof
|
|
214
|
+
if (error instanceof ChecksumIsNotAvailable) {
|
|
222
215
|
return this.calculateChecksum(path, options);
|
|
223
216
|
}
|
|
224
217
|
throw errors.UnableToGetChecksum.because(errors.errorToMessage(error), { cause: error, context: { path, options } });
|
|
@@ -250,23 +243,20 @@ class FileStorage {
|
|
|
250
243
|
}
|
|
251
244
|
async calculateChecksum(path, options) {
|
|
252
245
|
try {
|
|
253
|
-
return await
|
|
246
|
+
return await checksumFromStream(await this.read(path), options);
|
|
254
247
|
}
|
|
255
248
|
catch (error) {
|
|
256
249
|
throw errors.UnableToGetChecksum.because(errors.errorToMessage(error), { cause: error, context: { path, options } });
|
|
257
250
|
}
|
|
258
251
|
}
|
|
259
252
|
}
|
|
260
|
-
|
|
261
|
-
function normalizeExpiryToDate(expiresAt) {
|
|
253
|
+
export function normalizeExpiryToDate(expiresAt) {
|
|
262
254
|
return expiresAt instanceof Date ? expiresAt : new Date(expiresAt);
|
|
263
255
|
}
|
|
264
|
-
|
|
265
|
-
function normalizeExpiryToMilliseconds(expiresAt) {
|
|
256
|
+
export function normalizeExpiryToMilliseconds(expiresAt) {
|
|
266
257
|
return expiresAt instanceof Date ? expiresAt.getTime() : expiresAt;
|
|
267
258
|
}
|
|
268
|
-
|
|
269
|
-
async function closeReadable(body) {
|
|
259
|
+
export async function closeReadable(body) {
|
|
270
260
|
if (body.closed) {
|
|
271
261
|
return;
|
|
272
262
|
}
|
|
@@ -277,16 +267,14 @@ async function closeReadable(body) {
|
|
|
277
267
|
body.destroy();
|
|
278
268
|
});
|
|
279
269
|
}
|
|
280
|
-
exports.closeReadable = closeReadable;
|
|
281
270
|
const decoder = new TextDecoder();
|
|
282
|
-
async function readableToString(stream) {
|
|
271
|
+
export async function readableToString(stream) {
|
|
283
272
|
const contents = decoder.decode(await readableToUint8Array(stream));
|
|
284
273
|
await closeReadable(stream);
|
|
285
274
|
return contents;
|
|
286
275
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
function readableToUint8Array(stream) {
|
|
276
|
+
const encoder = new TextEncoder();
|
|
277
|
+
export function readableToUint8Array(stream) {
|
|
290
278
|
return new Promise((resolve, reject) => {
|
|
291
279
|
const parts = [];
|
|
292
280
|
stream.on('data', (chunk) => {
|
|
@@ -303,7 +291,6 @@ function readableToUint8Array(stream) {
|
|
|
303
291
|
stream.on('end', () => resolve(concatUint8Arrays(parts)));
|
|
304
292
|
});
|
|
305
293
|
}
|
|
306
|
-
exports.readableToUint8Array = readableToUint8Array;
|
|
307
294
|
function concatUint8Arrays(input) {
|
|
308
295
|
const length = input.reduce((l, a) => l + (a.byteLength), 0);
|
|
309
296
|
const output = new Uint8Array(length);
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./checksum-from-stream.js"), exports);
|
|
18
|
-
__exportStar(require("./file-storage.js"), exports);
|
|
19
|
-
__exportStar(require("./errors.js"), exports);
|
|
20
|
-
__exportStar(require("./path-normalizer.js"), exports);
|
|
21
|
-
__exportStar(require("./path-prefixer.js"), exports);
|
|
22
|
-
__exportStar(require("./portable-visibility.js"), exports);
|
|
1
|
+
export * from './checksum-from-stream.js';
|
|
2
|
+
export * from './file-storage.js';
|
|
3
|
+
export * from './errors.js';
|
|
4
|
+
export * from './path-normalizer.js';
|
|
5
|
+
export * from './path-prefixer.js';
|
|
6
|
+
export * from './portable-visibility.js';
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PathTraversalDetected = exports.CorruptedPathDetected = exports.PathNormalizerV1 = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
1
|
+
import { join } from 'node:path';
|
|
5
2
|
const funkyWhiteSpaceRegex = new RegExp('\\p{C}+', 'u');
|
|
6
|
-
class PathNormalizerV1 {
|
|
3
|
+
export class PathNormalizerV1 {
|
|
7
4
|
normalizePath(path) {
|
|
8
5
|
if (funkyWhiteSpaceRegex.test(path)) {
|
|
9
6
|
throw CorruptedPathDetected.unexpectedWhitespace(path);
|
|
10
7
|
}
|
|
11
|
-
const normalized =
|
|
8
|
+
const normalized = join(...(path.split('/')));
|
|
12
9
|
if (normalized.indexOf('../') !== -1 || normalized == '..') {
|
|
13
10
|
throw PathTraversalDetected.forPath(path);
|
|
14
11
|
}
|
|
15
12
|
return normalized === '.' ? '' : normalized;
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
class CorruptedPathDetected extends Error {
|
|
15
|
+
export class CorruptedPathDetected extends Error {
|
|
20
16
|
static unexpectedWhitespace = (path) => new CorruptedPathDetected(`Corrupted path detected with unexpected whitespace: ${path}`);
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
class PathTraversalDetected extends Error {
|
|
18
|
+
export class PathTraversalDetected extends Error {
|
|
24
19
|
static forPath = (path) => new PathTraversalDetected(`Path traversal detected for: ${path}`);
|
|
25
20
|
}
|
|
26
|
-
exports.PathTraversalDetected = PathTraversalDetected;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.PathPrefixer = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
|
-
class PathPrefixer {
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
export class PathPrefixer {
|
|
6
3
|
separator;
|
|
7
4
|
joinFunc;
|
|
8
5
|
prefix = '';
|
|
9
|
-
constructor(prefix = '', separator = '/', joinFunc =
|
|
6
|
+
constructor(prefix = '', separator = '/', joinFunc = join) {
|
|
10
7
|
this.separator = separator;
|
|
11
8
|
this.joinFunc = joinFunc;
|
|
12
9
|
if (prefix.length > 0) {
|
|
@@ -26,4 +23,3 @@ class PathPrefixer {
|
|
|
26
23
|
return this.stripFilePath(path).replace(/\/+$/g, '');
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
exports.PathPrefixer = PathPrefixer;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Visibility = void 0;
|
|
4
|
-
var Visibility;
|
|
1
|
+
export var Visibility;
|
|
5
2
|
(function (Visibility) {
|
|
6
3
|
Visibility["PUBLIC"] = "public";
|
|
7
4
|
Visibility["PRIVATE"] = "private";
|
|
8
|
-
})(Visibility || (
|
|
5
|
+
})(Visibility || (Visibility = {}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flystorage/file-storage",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
5
5
|
"description": "File-storage abstraction: multiple filesystems, one API.",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
7
7
|
"types": "./dist/types/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"compile": "rm -rf ./dist/ && concurrently npm:compile:* && echo '{\"type\": \"commonjs\"}' > ./dist/cjs/package.json",
|
|
22
22
|
"compile:esm": "tsc --outDir ./dist/esm/ --declaration false",
|
|
23
|
-
"compile:cjs": "tsc --outDir ./dist/cjs/ --declaration false --module
|
|
23
|
+
"compile:cjs": "tsc --outDir ./dist/cjs/ --declaration false --module node16 --moduleResolution node16",
|
|
24
24
|
"compile:types": "tsc --outDir ./dist/types/ --declaration --emitDeclarationOnly",
|
|
25
25
|
"watch": "tsc --watch"
|
|
26
26
|
},
|