@spinajs/fs 2.0.480 → 2.0.482
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/lib/cjs/cli/cat.d.ts +11 -0
- package/lib/cjs/cli/cat.d.ts.map +1 -0
- package/lib/cjs/cli/cat.js +40 -0
- package/lib/cjs/cli/cat.js.map +1 -0
- package/lib/cjs/cli/cp.d.ts +11 -0
- package/lib/cjs/cli/cp.d.ts.map +1 -0
- package/lib/cjs/cli/cp.js +41 -0
- package/lib/cjs/cli/cp.js.map +1 -0
- package/lib/cjs/cli/download.d.ts +7 -0
- package/lib/cjs/cli/download.d.ts.map +1 -0
- package/lib/cjs/cli/download.js +39 -0
- package/lib/cjs/cli/download.js.map +1 -0
- package/lib/cjs/cli/exists.d.ts +7 -0
- package/lib/cjs/cli/exists.d.ts.map +1 -0
- package/lib/cjs/cli/exists.js +39 -0
- package/lib/cjs/cli/exists.js.map +1 -0
- package/lib/cjs/cli/fs.d.ts +11 -0
- package/lib/cjs/cli/fs.d.ts.map +1 -1
- package/lib/cjs/cli/fs.js +47 -21
- package/lib/cjs/cli/fs.js.map +1 -1
- package/lib/cjs/cli/hash.d.ts +11 -0
- package/lib/cjs/cli/hash.d.ts.map +1 -0
- package/lib/cjs/cli/hash.js +40 -0
- package/lib/cjs/cli/hash.js.map +1 -0
- package/lib/cjs/cli/info.d.ts +7 -0
- package/lib/cjs/cli/info.d.ts.map +1 -0
- package/lib/cjs/cli/info.js +45 -0
- package/lib/cjs/cli/info.js.map +1 -0
- package/lib/cjs/cli/ls.d.ts +7 -0
- package/lib/cjs/cli/ls.d.ts.map +1 -0
- package/lib/cjs/cli/ls.js +40 -0
- package/lib/cjs/cli/ls.js.map +1 -0
- package/lib/cjs/cli/mkdir.d.ts +7 -0
- package/lib/cjs/cli/mkdir.d.ts.map +1 -0
- package/lib/cjs/cli/mkdir.js +39 -0
- package/lib/cjs/cli/mkdir.js.map +1 -0
- package/lib/cjs/cli/mv.d.ts +11 -0
- package/lib/cjs/cli/mv.d.ts.map +1 -0
- package/lib/cjs/cli/mv.js +41 -0
- package/lib/cjs/cli/mv.js.map +1 -0
- package/lib/cjs/cli/rm.d.ts +1 -6
- package/lib/cjs/cli/rm.d.ts.map +1 -1
- package/lib/cjs/cli/rm.js +14 -4
- package/lib/cjs/cli/rm.js.map +1 -1
- package/lib/cjs/cli/stat.d.ts +1 -5
- package/lib/cjs/cli/stat.d.ts.map +1 -1
- package/lib/cjs/cli/stat.js +20 -3
- package/lib/cjs/cli/stat.js.map +1 -1
- package/lib/cjs/cli/unzip.d.ts +11 -0
- package/lib/cjs/cli/unzip.d.ts.map +1 -0
- package/lib/cjs/cli/unzip.js +47 -0
- package/lib/cjs/cli/unzip.js.map +1 -0
- package/lib/cjs/cli/upload.d.ts +7 -0
- package/lib/cjs/cli/upload.d.ts.map +1 -0
- package/lib/cjs/cli/upload.js +40 -0
- package/lib/cjs/cli/upload.js.map +1 -0
- package/lib/cjs/cli/write.d.ts +13 -0
- package/lib/cjs/cli/write.d.ts.map +1 -0
- package/lib/cjs/cli/write.js +54 -0
- package/lib/cjs/cli/write.js.map +1 -0
- package/lib/cjs/cli/zip.d.ts +12 -0
- package/lib/cjs/cli/zip.d.ts.map +1 -0
- package/lib/cjs/cli/zip.js +51 -0
- package/lib/cjs/cli/zip.js.map +1 -0
- package/lib/cjs/config/fs.d.ts +9 -0
- package/lib/cjs/config/fs.d.ts.map +1 -0
- package/lib/cjs/config/fs.js +22 -0
- package/lib/cjs/config/fs.js.map +1 -0
- package/lib/cjs/file-hasher.d.ts +85 -5
- package/lib/cjs/file-hasher.d.ts.map +1 -1
- package/lib/cjs/file-hasher.js +106 -14
- package/lib/cjs/file-hasher.js.map +1 -1
- package/lib/cjs/file-info.d.ts +94 -5
- package/lib/cjs/file-info.d.ts.map +1 -1
- package/lib/cjs/file-info.js +267 -73
- package/lib/cjs/file-info.js.map +1 -1
- package/lib/cjs/fp.d.ts +80 -2
- package/lib/cjs/fp.d.ts.map +1 -1
- package/lib/cjs/fp.js +149 -3
- package/lib/cjs/fp.js.map +1 -1
- package/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +7 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +89 -12
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +13 -13
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/local-provider.d.ts +51 -6
- package/lib/cjs/local-provider.d.ts.map +1 -1
- package/lib/cjs/local-provider.js +254 -76
- package/lib/cjs/local-provider.js.map +1 -1
- package/lib/cjs/temp-cleanup-strategy.d.ts +70 -0
- package/lib/cjs/temp-cleanup-strategy.d.ts.map +1 -0
- package/lib/cjs/temp-cleanup-strategy.js +157 -0
- package/lib/cjs/temp-cleanup-strategy.js.map +1 -0
- package/lib/cjs/temp-provider.d.ts +59 -0
- package/lib/cjs/temp-provider.d.ts.map +1 -0
- package/lib/cjs/temp-provider.js +150 -0
- package/lib/cjs/temp-provider.js.map +1 -0
- package/lib/mjs/cli/cat.d.ts +11 -0
- package/lib/mjs/cli/cat.d.ts.map +1 -0
- package/lib/mjs/cli/cat.js +37 -0
- package/lib/mjs/cli/cat.js.map +1 -0
- package/lib/mjs/cli/cp.d.ts +11 -0
- package/lib/mjs/cli/cp.d.ts.map +1 -0
- package/lib/mjs/cli/cp.js +38 -0
- package/lib/mjs/cli/cp.js.map +1 -0
- package/lib/mjs/cli/download.d.ts +7 -0
- package/lib/mjs/cli/download.d.ts.map +1 -0
- package/lib/mjs/cli/download.js +36 -0
- package/lib/mjs/cli/download.js.map +1 -0
- package/lib/mjs/cli/exists.d.ts +7 -0
- package/lib/mjs/cli/exists.d.ts.map +1 -0
- package/lib/mjs/cli/exists.js +36 -0
- package/lib/mjs/cli/exists.js.map +1 -0
- package/lib/mjs/cli/fs.d.ts +11 -1
- package/lib/mjs/cli/fs.d.ts.map +1 -1
- package/lib/mjs/cli/fs.js +43 -22
- package/lib/mjs/cli/fs.js.map +1 -1
- package/lib/mjs/cli/hash.d.ts +11 -0
- package/lib/mjs/cli/hash.d.ts.map +1 -0
- package/lib/mjs/cli/hash.js +37 -0
- package/lib/mjs/cli/hash.js.map +1 -0
- package/lib/mjs/cli/info.d.ts +7 -0
- package/lib/mjs/cli/info.d.ts.map +1 -0
- package/lib/mjs/cli/info.js +42 -0
- package/lib/mjs/cli/info.js.map +1 -0
- package/lib/mjs/cli/ls.d.ts +7 -0
- package/lib/mjs/cli/ls.d.ts.map +1 -0
- package/lib/mjs/cli/ls.js +37 -0
- package/lib/mjs/cli/ls.js.map +1 -0
- package/lib/mjs/cli/mkdir.d.ts +7 -0
- package/lib/mjs/cli/mkdir.d.ts.map +1 -0
- package/lib/mjs/cli/mkdir.js +36 -0
- package/lib/mjs/cli/mkdir.js.map +1 -0
- package/lib/mjs/cli/mv.d.ts +11 -0
- package/lib/mjs/cli/mv.d.ts.map +1 -0
- package/lib/mjs/cli/mv.js +38 -0
- package/lib/mjs/cli/mv.js.map +1 -0
- package/lib/mjs/cli/rm.d.ts +1 -6
- package/lib/mjs/cli/rm.d.ts.map +1 -1
- package/lib/mjs/cli/rm.js +15 -5
- package/lib/mjs/cli/rm.js.map +1 -1
- package/lib/mjs/cli/stat.d.ts +1 -5
- package/lib/mjs/cli/stat.d.ts.map +1 -1
- package/lib/mjs/cli/stat.js +21 -4
- package/lib/mjs/cli/stat.js.map +1 -1
- package/lib/mjs/cli/unzip.d.ts +11 -0
- package/lib/mjs/cli/unzip.d.ts.map +1 -0
- package/lib/mjs/cli/unzip.js +44 -0
- package/lib/mjs/cli/unzip.js.map +1 -0
- package/lib/mjs/cli/upload.d.ts +7 -0
- package/lib/mjs/cli/upload.d.ts.map +1 -0
- package/lib/mjs/cli/upload.js +37 -0
- package/lib/mjs/cli/upload.js.map +1 -0
- package/lib/mjs/cli/write.d.ts +13 -0
- package/lib/mjs/cli/write.d.ts.map +1 -0
- package/lib/mjs/cli/write.js +51 -0
- package/lib/mjs/cli/write.js.map +1 -0
- package/lib/mjs/cli/zip.d.ts +12 -0
- package/lib/mjs/cli/zip.d.ts.map +1 -0
- package/lib/mjs/cli/zip.js +48 -0
- package/lib/mjs/cli/zip.js.map +1 -0
- package/lib/mjs/config/fs.d.ts +9 -0
- package/lib/mjs/config/fs.d.ts.map +1 -0
- package/lib/mjs/config/fs.js +20 -0
- package/lib/mjs/config/fs.js.map +1 -0
- package/lib/mjs/file-hasher.d.ts +85 -5
- package/lib/mjs/file-hasher.d.ts.map +1 -1
- package/lib/mjs/file-hasher.js +106 -14
- package/lib/mjs/file-hasher.js.map +1 -1
- package/lib/mjs/file-info.d.ts +94 -5
- package/lib/mjs/file-info.d.ts.map +1 -1
- package/lib/mjs/file-info.js +233 -73
- package/lib/mjs/file-info.js.map +1 -1
- package/lib/mjs/fp.d.ts +80 -2
- package/lib/mjs/fp.d.ts.map +1 -1
- package/lib/mjs/fp.js +135 -4
- package/lib/mjs/fp.js.map +1 -1
- package/lib/mjs/index.d.ts +2 -1
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +8 -3
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +89 -12
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +13 -13
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/local-provider.d.ts +51 -6
- package/lib/mjs/local-provider.d.ts.map +1 -1
- package/lib/mjs/local-provider.js +257 -79
- package/lib/mjs/local-provider.js.map +1 -1
- package/lib/mjs/temp-cleanup-strategy.d.ts +70 -0
- package/lib/mjs/temp-cleanup-strategy.d.ts.map +1 -0
- package/lib/mjs/temp-cleanup-strategy.js +153 -0
- package/lib/mjs/temp-cleanup-strategy.js.map +1 -0
- package/lib/mjs/temp-provider.d.ts +59 -0
- package/lib/mjs/temp-provider.d.ts.map +1 -0
- package/lib/mjs/temp-provider.js +147 -0
- package/lib/mjs/temp-provider.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -6
- package/lib/cjs/local-temp-provider.d.ts +0 -18
- package/lib/cjs/local-temp-provider.d.ts.map +0 -1
- package/lib/cjs/local-temp-provider.js +0 -63
- package/lib/cjs/local-temp-provider.js.map +0 -1
- package/lib/mjs/local-temp-provider.d.ts +0 -18
- package/lib/mjs/local-temp-provider.d.ts.map +0 -1
- package/lib/mjs/local-temp-provider.js +0 -60
- package/lib/mjs/local-temp-provider.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/fs",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.482",
|
|
4
4
|
"description": "wrapper for file operations",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
+
"types": "./lib/mjs/index.d.ts",
|
|
9
10
|
"import": "./lib/mjs/index.js",
|
|
10
11
|
"require": "./lib/cjs/index.js"
|
|
11
12
|
}
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
"compile:cjs": "tsc -b tsconfig.cjs.json",
|
|
23
24
|
"rimraf": "./node_modules/rimraf/bin.js",
|
|
24
25
|
"clean": "rimraf lib/ && rimraf tsconfig.tsbuildinfo",
|
|
25
|
-
"test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
|
|
26
|
+
"test": "ts-mocha -p tsconfig.json --exit test/**/*.test.ts",
|
|
26
27
|
"coverage": "nyc npm run test",
|
|
27
28
|
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
28
29
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
@@ -51,11 +52,14 @@
|
|
|
51
52
|
"homepage": "https://github.com/spinajs/exceptions#readme",
|
|
52
53
|
"gitHead": "002dc553b0ffffd72193d0121ac425a4083bc9ee",
|
|
53
54
|
"dependencies": {
|
|
54
|
-
"@spinajs/
|
|
55
|
-
"@spinajs/
|
|
56
|
-
"@spinajs/
|
|
55
|
+
"@spinajs/cli": "2.0.482",
|
|
56
|
+
"@spinajs/configuration": "2.0.482",
|
|
57
|
+
"@spinajs/exceptions": "2.0.482",
|
|
58
|
+
"@spinajs/log-common": "2.0.482",
|
|
59
|
+
"@spinajs/util": "2.0.482",
|
|
57
60
|
"archiver": "^5.3.1",
|
|
58
|
-
"
|
|
61
|
+
"cron": "^2.2.0",
|
|
62
|
+
"exiftool-vendored": "^36.0.0",
|
|
59
63
|
"file-type": "^20.5.0",
|
|
60
64
|
"lodash": "^4.17.21",
|
|
61
65
|
"luxon": "^3.6.1",
|
|
@@ -64,6 +68,7 @@
|
|
|
64
68
|
},
|
|
65
69
|
"devDependencies": {
|
|
66
70
|
"@types/archiver": "^5.3.1",
|
|
71
|
+
"@types/cron": "^2.0.0",
|
|
67
72
|
"@types/luxon": "^3.6.1",
|
|
68
73
|
"@types/unzipper": "^0.10.11",
|
|
69
74
|
"@types/uuid": "^9.0.0"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFsLocalTempOptions } from './interfaces.js';
|
|
2
|
-
import { fsNative } from './local-provider.js';
|
|
3
|
-
/**
|
|
4
|
-
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
5
|
-
*
|
|
6
|
-
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
7
|
-
* It only check for file/dir age at first level.
|
|
8
|
-
*/
|
|
9
|
-
export declare class fsNativeTemp extends fsNative<IFsLocalTempOptions> {
|
|
10
|
-
/**
|
|
11
|
-
* timer instance used to cleanup old temp files
|
|
12
|
-
*/
|
|
13
|
-
protected cleanupTimer: NodeJS.Timeout;
|
|
14
|
-
constructor(options: IFsLocalTempOptions);
|
|
15
|
-
dispose(): Promise<void>;
|
|
16
|
-
resolve(): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=local-temp-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.d.ts","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS/C;;;;;GAKG;AACH,qBACa,YAAa,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC;gBAE3B,OAAO,EAAE,mBAAmB;IAI3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO;CAoCrB"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.fsNativeTemp = void 0;
|
|
13
|
-
const local_provider_js_1 = require("./local-provider.js");
|
|
14
|
-
const luxon_1 = require("luxon");
|
|
15
|
-
const di_1 = require("@spinajs/di");
|
|
16
|
-
/**
|
|
17
|
-
* Default file age for temp files in seconds
|
|
18
|
-
*/
|
|
19
|
-
const DEFAULT_FILE_AGE = 60 * 60;
|
|
20
|
-
/**
|
|
21
|
-
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
22
|
-
*
|
|
23
|
-
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
24
|
-
* It only check for file/dir age at first level.
|
|
25
|
-
*/
|
|
26
|
-
let fsNativeTemp = class fsNativeTemp extends local_provider_js_1.fsNative {
|
|
27
|
-
constructor(options) {
|
|
28
|
-
super(options);
|
|
29
|
-
}
|
|
30
|
-
async dispose() {
|
|
31
|
-
if (this.cleanupTimer) {
|
|
32
|
-
clearInterval(this.cleanupTimer);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async resolve() {
|
|
36
|
-
await super.resolve();
|
|
37
|
-
if (!this.Options.cleanup) {
|
|
38
|
-
this.Logger.info(`Cleanup for temporary files system ${this.Options.name} set to false. Check configuration file if you want to automatically clenaup temporary files.`);
|
|
39
|
-
}
|
|
40
|
-
this.Logger.info(`Starting cleanup timer for temporary files system ${this.Options.name}, interval: ${this.Options.cleanupInterval}, max file age: ${this.Options.maxFileAge}`);
|
|
41
|
-
this.cleanupTimer = setInterval(async () => {
|
|
42
|
-
const files = await this.list('/');
|
|
43
|
-
const today = luxon_1.DateTime.now();
|
|
44
|
-
for (const f of files) {
|
|
45
|
-
const stat = await this.stat(f);
|
|
46
|
-
if (stat.CreationTime === undefined) {
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const timeDiff = today.diff(stat.CreationTime, 'seconds');
|
|
50
|
-
if (timeDiff.seconds > (this.Options.maxFileAge || DEFAULT_FILE_AGE)) {
|
|
51
|
-
this.Logger.trace(`Temp file at path ${f} is older than ${this.Options.maxFileAge} seconds, ( CreatedAt: ${stat.CreationTime.toFormat('dd/MM/yyyy HH:mm:ss')} ), deleting...`);
|
|
52
|
-
await this.rm(f);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}, this.Options.cleanupInterval || 10 * 60 * 1000);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
exports.fsNativeTemp = fsNativeTemp;
|
|
59
|
-
exports.fsNativeTemp = fsNativeTemp = __decorate([
|
|
60
|
-
(0, di_1.Injectable)('fs'),
|
|
61
|
-
__metadata("design:paramtypes", [Object])
|
|
62
|
-
], fsNativeTemp);
|
|
63
|
-
//# sourceMappingURL=local-temp-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.js","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAA+C;AAC/C,iCAAiC;AACjC,oCAAyC;AAEzC;;GAEG;AACH,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAA6B;IAM7D,YAAY,OAA4B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,IAAI,CAAC,OAAO,CAAC,IAAI,+FAA+F,CACvJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qDAAqD,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,eAAe,mBAAmB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAC9J,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;YAE7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAG,IAAI,CAAC,YAAY,KAAK,SAAS,EAAC,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC1D,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,CAAC,kBACpB,IAAI,CAAC,OAAO,CAAC,UACf,0BAA0B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,iBAAiB,CAC7F,CAAC;oBAEF,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AApDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAU,EAAC,IAAI,CAAC;;GACJ,YAAY,CAoDxB"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IFsLocalTempOptions } from './interfaces.js';
|
|
2
|
-
import { fsNative } from './local-provider.js';
|
|
3
|
-
/**
|
|
4
|
-
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
5
|
-
*
|
|
6
|
-
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
7
|
-
* It only check for file/dir age at first level.
|
|
8
|
-
*/
|
|
9
|
-
export declare class fsNativeTemp extends fsNative<IFsLocalTempOptions> {
|
|
10
|
-
/**
|
|
11
|
-
* timer instance used to cleanup old temp files
|
|
12
|
-
*/
|
|
13
|
-
protected cleanupTimer: NodeJS.Timeout;
|
|
14
|
-
constructor(options: IFsLocalTempOptions);
|
|
15
|
-
dispose(): Promise<void>;
|
|
16
|
-
resolve(): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=local-temp-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.d.ts","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS/C;;;;;GAKG;AACH,qBACa,YAAa,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC;gBAE3B,OAAO,EAAE,mBAAmB;IAI3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO;CAoCrB"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { fsNative } from './local-provider.js';
|
|
11
|
-
import { DateTime } from 'luxon';
|
|
12
|
-
import { Injectable } from '@spinajs/di';
|
|
13
|
-
/**
|
|
14
|
-
* Default file age for temp files in seconds
|
|
15
|
-
*/
|
|
16
|
-
const DEFAULT_FILE_AGE = 60 * 60;
|
|
17
|
-
/**
|
|
18
|
-
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
19
|
-
*
|
|
20
|
-
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
21
|
-
* It only check for file/dir age at first level.
|
|
22
|
-
*/
|
|
23
|
-
let fsNativeTemp = class fsNativeTemp extends fsNative {
|
|
24
|
-
constructor(options) {
|
|
25
|
-
super(options);
|
|
26
|
-
}
|
|
27
|
-
async dispose() {
|
|
28
|
-
if (this.cleanupTimer) {
|
|
29
|
-
clearInterval(this.cleanupTimer);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async resolve() {
|
|
33
|
-
await super.resolve();
|
|
34
|
-
if (!this.Options.cleanup) {
|
|
35
|
-
this.Logger.info(`Cleanup for temporary files system ${this.Options.name} set to false. Check configuration file if you want to automatically clenaup temporary files.`);
|
|
36
|
-
}
|
|
37
|
-
this.Logger.info(`Starting cleanup timer for temporary files system ${this.Options.name}, interval: ${this.Options.cleanupInterval}, max file age: ${this.Options.maxFileAge}`);
|
|
38
|
-
this.cleanupTimer = setInterval(async () => {
|
|
39
|
-
const files = await this.list('/');
|
|
40
|
-
const today = DateTime.now();
|
|
41
|
-
for (const f of files) {
|
|
42
|
-
const stat = await this.stat(f);
|
|
43
|
-
if (stat.CreationTime === undefined) {
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
const timeDiff = today.diff(stat.CreationTime, 'seconds');
|
|
47
|
-
if (timeDiff.seconds > (this.Options.maxFileAge || DEFAULT_FILE_AGE)) {
|
|
48
|
-
this.Logger.trace(`Temp file at path ${f} is older than ${this.Options.maxFileAge} seconds, ( CreatedAt: ${stat.CreationTime.toFormat('dd/MM/yyyy HH:mm:ss')} ), deleting...`);
|
|
49
|
-
await this.rm(f);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}, this.Options.cleanupInterval || 10 * 60 * 1000);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
fsNativeTemp = __decorate([
|
|
56
|
-
Injectable('fs'),
|
|
57
|
-
__metadata("design:paramtypes", [Object])
|
|
58
|
-
], fsNativeTemp);
|
|
59
|
-
export { fsNativeTemp };
|
|
60
|
-
//# sourceMappingURL=local-temp-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.js","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAA6B;IAM7D,YAAY,OAA4B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,IAAI,CAAC,OAAO,CAAC,IAAI,+FAA+F,CACvJ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qDAAqD,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,eAAe,mBAAmB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAC9J,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YAE7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAG,IAAI,CAAC,YAAY,KAAK,SAAS,EAAC,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC1D,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,CAAC,kBACpB,IAAI,CAAC,OAAO,CAAC,UACf,0BAA0B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,iBAAiB,CAC7F,CAAC;oBAEF,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AApDY,YAAY;IADxB,UAAU,CAAC,IAAI,CAAC;;GACJ,YAAY,CAoDxB"}
|