website-scrap-engine 0.7.1 → 0.8.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/lib/downloader/adjust-concurrency.d.ts +2 -1
- package/lib/downloader/adjust-concurrency.d.ts.map +1 -0
- package/lib/downloader/adjust-concurrency.js +4 -8
- package/lib/downloader/adjust-concurrency.js.map +1 -1
- package/lib/downloader/index.d.ts +9 -8
- package/lib/downloader/index.d.ts.map +1 -0
- package/lib/downloader/index.js +8 -40
- package/lib/downloader/index.js.map +1 -1
- package/lib/downloader/main.d.ts +15 -6
- package/lib/downloader/main.d.ts.map +1 -0
- package/lib/downloader/main.js +49 -32
- package/lib/downloader/main.js.map +1 -1
- package/lib/downloader/multi.d.ts +7 -5
- package/lib/downloader/multi.d.ts.map +1 -0
- package/lib/downloader/multi.js +10 -17
- package/lib/downloader/multi.js.map +1 -1
- package/lib/downloader/pipeline-executor-impl.d.ts +8 -7
- package/lib/downloader/pipeline-executor-impl.d.ts.map +1 -0
- package/lib/downloader/pipeline-executor-impl.js +1 -5
- package/lib/downloader/pipeline-executor-impl.js.map +1 -1
- package/lib/downloader/single.d.ts +4 -3
- package/lib/downloader/single.d.ts.map +1 -0
- package/lib/downloader/single.js +7 -11
- package/lib/downloader/single.js.map +1 -1
- package/lib/downloader/types.d.ts +4 -4
- package/lib/downloader/types.d.ts.map +1 -0
- package/lib/downloader/types.js +2 -5
- package/lib/downloader/types.js.map +1 -1
- package/lib/downloader/worker-pool.d.ts +6 -7
- package/lib/downloader/worker-pool.d.ts.map +1 -0
- package/lib/downloader/worker-pool.js +7 -35
- package/lib/downloader/worker-pool.js.map +1 -1
- package/lib/downloader/worker-type.d.ts +4 -3
- package/lib/downloader/worker-type.d.ts.map +1 -0
- package/lib/downloader/worker-type.js +1 -2
- package/lib/downloader/worker.d.ts +1 -0
- package/lib/downloader/worker.d.ts.map +1 -0
- package/lib/downloader/worker.js +52 -27
- package/lib/downloader/worker.js.map +1 -1
- package/lib/index.d.ts +9 -8
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +7 -33
- package/lib/index.js.map +1 -1
- package/lib/io.d.ts +2 -1
- package/lib/io.d.ts.map +1 -0
- package/lib/io.js +17 -25
- package/lib/io.js.map +1 -1
- package/lib/life-cycle/adapters.d.ts +7 -5
- package/lib/life-cycle/adapters.d.ts.map +1 -0
- package/lib/life-cycle/adapters.js +18 -30
- package/lib/life-cycle/adapters.js.map +1 -1
- package/lib/life-cycle/default-life-cycle.d.ts +2 -1
- package/lib/life-cycle/default-life-cycle.d.ts.map +1 -0
- package/lib/life-cycle/default-life-cycle.js +28 -32
- package/lib/life-cycle/default-life-cycle.js.map +1 -1
- package/lib/life-cycle/detect-resource-type.d.ts +2 -1
- package/lib/life-cycle/detect-resource-type.d.ts.map +1 -0
- package/lib/life-cycle/detect-resource-type.js +12 -17
- package/lib/life-cycle/detect-resource-type.js.map +1 -1
- package/lib/life-cycle/download-resource.d.ts +6 -7
- package/lib/life-cycle/download-resource.d.ts.map +1 -0
- package/lib/life-cycle/download-resource.js +23 -52
- package/lib/life-cycle/download-resource.js.map +1 -1
- package/lib/life-cycle/download-streaming-resource.d.ts +6 -5
- package/lib/life-cycle/download-streaming-resource.d.ts.map +1 -0
- package/lib/life-cycle/download-streaming-resource.js +39 -74
- package/lib/life-cycle/download-streaming-resource.js.map +1 -1
- package/lib/life-cycle/index.d.ts +16 -15
- package/lib/life-cycle/index.d.ts.map +1 -0
- package/lib/life-cycle/index.js +14 -59
- package/lib/life-cycle/index.js.map +1 -1
- package/lib/life-cycle/pipeline-executor.d.ts +7 -6
- package/lib/life-cycle/pipeline-executor.d.ts.map +1 -0
- package/lib/life-cycle/pipeline-executor.js +1 -2
- package/lib/life-cycle/process-css.d.ts +5 -4
- package/lib/life-cycle/process-css.d.ts.map +1 -0
- package/lib/life-cycle/process-css.js +10 -18
- package/lib/life-cycle/process-css.js.map +1 -1
- package/lib/life-cycle/process-html-meta.d.ts +4 -3
- package/lib/life-cycle/process-html-meta.d.ts.map +1 -0
- package/lib/life-cycle/process-html-meta.js +11 -15
- package/lib/life-cycle/process-html-meta.js.map +1 -1
- package/lib/life-cycle/process-html.d.ts +4 -3
- package/lib/life-cycle/process-html.d.ts.map +1 -0
- package/lib/life-cycle/process-html.js +27 -31
- package/lib/life-cycle/process-html.js.map +1 -1
- package/lib/life-cycle/process-site-map.d.ts +4 -3
- package/lib/life-cycle/process-site-map.d.ts.map +1 -0
- package/lib/life-cycle/process-site-map.js +7 -11
- package/lib/life-cycle/process-site-map.js.map +1 -1
- package/lib/life-cycle/process-source-map.d.ts +4 -4
- package/lib/life-cycle/process-source-map.d.ts.map +1 -0
- package/lib/life-cycle/process-source-map.js +16 -21
- package/lib/life-cycle/process-source-map.js.map +1 -1
- package/lib/life-cycle/process-svg.d.ts +4 -3
- package/lib/life-cycle/process-svg.d.ts.map +1 -0
- package/lib/life-cycle/process-svg.js +17 -21
- package/lib/life-cycle/process-svg.js.map +1 -1
- package/lib/life-cycle/read-or-copy-local-resource.d.ts +4 -3
- package/lib/life-cycle/read-or-copy-local-resource.d.ts.map +1 -0
- package/lib/life-cycle/read-or-copy-local-resource.js +15 -42
- package/lib/life-cycle/read-or-copy-local-resource.js.map +1 -1
- package/lib/life-cycle/save-html-to-disk.d.ts +6 -4
- package/lib/life-cycle/save-html-to-disk.d.ts.map +1 -0
- package/lib/life-cycle/save-html-to-disk.js +24 -33
- package/lib/life-cycle/save-html-to-disk.js.map +1 -1
- package/lib/life-cycle/save-resource-to-disk.d.ts +4 -3
- package/lib/life-cycle/save-resource-to-disk.d.ts.map +1 -0
- package/lib/life-cycle/save-resource-to-disk.js +10 -17
- package/lib/life-cycle/save-resource-to-disk.js.map +1 -1
- package/lib/life-cycle/skip-links.d.ts +1 -0
- package/lib/life-cycle/skip-links.d.ts.map +1 -0
- package/lib/life-cycle/skip-links.js +6 -10
- package/lib/life-cycle/skip-links.js.map +1 -1
- package/lib/life-cycle/types.d.ts +8 -7
- package/lib/life-cycle/types.d.ts.map +1 -0
- package/lib/life-cycle/types.js +1 -2
- package/lib/logger/config-logger.d.ts +2 -1
- package/lib/logger/config-logger.d.ts.map +1 -0
- package/lib/logger/config-logger.js +4 -30
- package/lib/logger/config-logger.js.map +1 -1
- package/lib/logger/logger-worker.d.ts +3 -2
- package/lib/logger/logger-worker.d.ts.map +1 -0
- package/lib/logger/logger-worker.js +11 -13
- package/lib/logger/logger-worker.js.map +1 -1
- package/lib/logger/logger.d.ts +2 -1
- package/lib/logger/logger.d.ts.map +1 -0
- package/lib/logger/logger.js +15 -17
- package/lib/logger/logger.js.map +1 -1
- package/lib/options.d.ts +8 -8
- package/lib/options.d.ts.map +1 -0
- package/lib/options.js +22 -32
- package/lib/options.js.map +1 -1
- package/lib/resource.d.ts +3 -4
- package/lib/resource.d.ts.map +1 -0
- package/lib/resource.js +34 -70
- package/lib/resource.js.map +1 -1
- package/lib/sources.d.ts +2 -1
- package/lib/sources.d.ts.map +1 -0
- package/lib/sources.js +9 -12
- package/lib/sources.js.map +1 -1
- package/lib/types.d.ts +1 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -2
- package/lib/util.d.ts +4 -3
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +17 -34
- package/lib/util.js.map +1 -1
- package/package.json +19 -21
- package/src/downloader/adjust-concurrency.ts +2 -2
- package/src/downloader/index.ts +8 -8
- package/src/downloader/main.ts +50 -28
- package/src/downloader/multi.ts +11 -10
- package/src/downloader/pipeline-executor-impl.ts +7 -7
- package/src/downloader/single.ts +9 -6
- package/src/downloader/types.ts +3 -3
- package/src/downloader/worker-pool.ts +9 -9
- package/src/downloader/worker-type.ts +3 -3
- package/src/downloader/worker.ts +51 -29
- package/src/index.ts +8 -8
- package/src/io.ts +6 -6
- package/src/life-cycle/adapters.ts +7 -6
- package/src/life-cycle/css-url-parser.d.ts +1 -1
- package/src/life-cycle/default-life-cycle.ts +15 -15
- package/src/life-cycle/detect-resource-type.ts +2 -2
- package/src/life-cycle/download-resource.ts +18 -20
- package/src/life-cycle/download-streaming-resource.ts +20 -18
- package/src/life-cycle/index.ts +15 -15
- package/src/life-cycle/pipeline-executor.ts +6 -6
- package/src/life-cycle/process-css.ts +6 -5
- package/src/life-cycle/process-html-meta.ts +7 -6
- package/src/life-cycle/process-html.ts +21 -13
- package/src/life-cycle/process-site-map.ts +7 -6
- package/src/life-cycle/process-source-map.ts +5 -4
- package/src/life-cycle/process-svg.ts +10 -9
- package/src/life-cycle/read-or-copy-local-resource.ts +9 -7
- package/src/life-cycle/save-html-to-disk.ts +9 -13
- package/src/life-cycle/save-resource-to-disk.ts +6 -6
- package/src/life-cycle/types.ts +7 -7
- package/src/logger/config-logger.ts +5 -3
- package/src/logger/logger-worker.ts +8 -4
- package/src/logger/logger.ts +6 -4
- package/src/options.ts +15 -19
- package/src/resource.ts +10 -5
- package/src/sources.ts +1 -1
- package/src/util.ts +6 -10
- package/tsconfig.json +6 -2
package/lib/downloader/single.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const main_1 = require("./main");
|
|
5
|
-
const logger_1 = require("../logger/logger");
|
|
6
|
-
class SingleThreadDownloader extends main_1.AbstractDownloader {
|
|
1
|
+
import { AbstractDownloader } from './main.js';
|
|
2
|
+
import { skip } from '../logger/logger.js';
|
|
3
|
+
export class SingleThreadDownloader extends AbstractDownloader {
|
|
7
4
|
constructor(pathToOptions, overrideOptions) {
|
|
8
5
|
super(pathToOptions, overrideOptions);
|
|
9
6
|
this.pathToOptions = pathToOptions;
|
|
@@ -11,7 +8,7 @@ class SingleThreadDownloader extends main_1.AbstractDownloader {
|
|
|
11
8
|
this.init = this.addInitialResource(this.options.initialUrl);
|
|
12
9
|
}
|
|
13
10
|
else {
|
|
14
|
-
this.init = this.pipeline.init(this.pipeline, this);
|
|
11
|
+
this.init = this._initOptions.then(() => this.pipeline.init(this.pipeline, this));
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
14
|
async downloadAndProcessResource(res) {
|
|
@@ -19,7 +16,7 @@ class SingleThreadDownloader extends main_1.AbstractDownloader {
|
|
|
19
16
|
try {
|
|
20
17
|
r = await this.pipeline.download(res);
|
|
21
18
|
if (!r) {
|
|
22
|
-
|
|
19
|
+
skip.debug('discarded after download', res.url, res.rawUrl, res.refUrl);
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
22
|
}
|
|
@@ -41,10 +38,10 @@ class SingleThreadDownloader extends main_1.AbstractDownloader {
|
|
|
41
38
|
try {
|
|
42
39
|
const processedResource = await this.pipeline.processAfterDownload(r, submit);
|
|
43
40
|
if (!processedResource) {
|
|
44
|
-
|
|
41
|
+
skip.warn('skipped downloaded resource', r.url, r.refUrl);
|
|
45
42
|
}
|
|
46
43
|
else if (await this.pipeline.saveToDisk(processedResource)) {
|
|
47
|
-
|
|
44
|
+
skip.warn('downloaded resource not saved', r.url, r.refUrl);
|
|
48
45
|
}
|
|
49
46
|
if (processedResource && processedResource.redirectedUrl &&
|
|
50
47
|
processedResource.redirectedUrl !== processedResource.url) {
|
|
@@ -62,5 +59,4 @@ class SingleThreadDownloader extends main_1.AbstractDownloader {
|
|
|
62
59
|
return super.onIdle();
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
|
-
exports.SingleThreadDownloader = SingleThreadDownloader;
|
|
66
62
|
//# sourceMappingURL=single.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/downloader/single.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { RawResource } from '../resource';
|
|
1
|
+
import type { MessagePort } from 'node:worker_threads';
|
|
2
|
+
import type { DownloadOptions } from '../options.js';
|
|
3
|
+
import type { RawResource } from '../resource.js';
|
|
5
4
|
export interface DownloaderStats {
|
|
6
5
|
firstPeriodCount: number;
|
|
7
6
|
lastPeriodTotalCount: number;
|
|
@@ -53,3 +52,4 @@ export interface DownloadWorkerMessage extends WorkerMessage<RawResource[]> {
|
|
|
53
52
|
*/
|
|
54
53
|
redirectedUrl?: string;
|
|
55
54
|
}
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/downloader/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IAEtD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAC7C,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAE;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAC3E,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;CACjD;AAED,oBAAY,iBAAiB;IAC3B,GAAG,IAAA;IACH,QAAQ,IAAA;CACT;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa,CAAC,WAAW,EAAE,CAAC;IACzE;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
package/lib/downloader/types.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkerMessageType = void 0;
|
|
4
|
-
var WorkerMessageType;
|
|
1
|
+
export var WorkerMessageType;
|
|
5
2
|
(function (WorkerMessageType) {
|
|
6
3
|
WorkerMessageType[WorkerMessageType["Log"] = 0] = "Log";
|
|
7
4
|
WorkerMessageType[WorkerMessageType["Complete"] = 1] = "Complete";
|
|
8
|
-
})(WorkerMessageType
|
|
5
|
+
})(WorkerMessageType || (WorkerMessageType = {}));
|
|
9
6
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/downloader/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/downloader/types.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,uDAAG,CAAA;IACH,iEAAQ,CAAA;AACV,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
6
|
-
import type { LogWorkerMessage } from './worker-type';
|
|
7
|
-
import { PendingPromise, PendingPromiseWithBody, WorkerMessage } from './types';
|
|
1
|
+
import type { MessagePort, WorkerOptions } from 'node:worker_threads';
|
|
2
|
+
import { Worker } from 'node:worker_threads';
|
|
3
|
+
import type { URL } from 'node:url';
|
|
4
|
+
import type { LogWorkerMessage } from './worker-type.js';
|
|
5
|
+
import type { PendingPromise, PendingPromiseWithBody, WorkerMessage } from './types.js';
|
|
8
6
|
export interface WorkerInfo {
|
|
9
7
|
readonly id: number;
|
|
10
8
|
load: number;
|
|
@@ -36,3 +34,4 @@ export declare class WorkerPool<T = unknown, R extends WorkerMessage = WorkerMes
|
|
|
36
34
|
nextTask(): void;
|
|
37
35
|
dispose(): Promise<number[]>;
|
|
38
36
|
}
|
|
37
|
+
//# sourceMappingURL=worker-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAElC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,YAAW,UAAU;IAI5B,MAAM,EAAE,MAAM;IAHjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,IAAI,SAAK;gBAEU,MAAM,EAAE,MAAM;CAGlC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC3D;AAOD,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa;IAQjE,QAAQ,EAAE,MAAM;IAGhB,OAAO,EAAE,MAAM;IAVxB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAM;IACpC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAM;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM;IAC3D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,SAAK;gBAGT,QAAQ,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,GAAE,MAAW,EAC3B,OAAO,GAAE,aAAoC;IAgB/C,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAIjD,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAOzD,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAa1D,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IASxD,UAAU,CACR,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAc9D,QAAQ,IAAI,IAAI;IAsCV,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAWnC"}
|
|
@@ -1,44 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.WorkerPool = exports.WorkerInfoImpl = void 0;
|
|
27
|
-
const worker_threads_1 = require("worker_threads");
|
|
28
|
-
const logger = __importStar(require("../logger/logger"));
|
|
29
|
-
const types_1 = require("./types");
|
|
30
|
-
class WorkerInfoImpl {
|
|
1
|
+
import { Worker } from 'node:worker_threads';
|
|
2
|
+
import * as logger from '../logger/logger.js';
|
|
3
|
+
import { WorkerMessageType } from './types.js';
|
|
4
|
+
export class WorkerInfoImpl {
|
|
31
5
|
constructor(worker) {
|
|
32
6
|
this.worker = worker;
|
|
33
7
|
this.load = 0;
|
|
34
8
|
this.id = worker.threadId;
|
|
35
9
|
}
|
|
36
10
|
}
|
|
37
|
-
exports.WorkerInfoImpl = WorkerInfoImpl;
|
|
38
11
|
function defaultWorkerFactory(filename, options) {
|
|
39
|
-
return new
|
|
12
|
+
return new Worker(filename, options);
|
|
40
13
|
}
|
|
41
|
-
class WorkerPool {
|
|
14
|
+
export class WorkerPool {
|
|
42
15
|
constructor(coreSize, workerScript, workerData, maxLoad = -1, factory = defaultWorkerFactory) {
|
|
43
16
|
this.coreSize = coreSize;
|
|
44
17
|
this.maxLoad = maxLoad;
|
|
@@ -59,7 +32,7 @@ class WorkerPool {
|
|
|
59
32
|
logger.error.error('worker error', info.id, err);
|
|
60
33
|
}
|
|
61
34
|
onMessage(info, message) {
|
|
62
|
-
if (message.type ===
|
|
35
|
+
if (message.type === WorkerMessageType.Complete) {
|
|
63
36
|
this.complete(info, message);
|
|
64
37
|
}
|
|
65
38
|
this.takeLog(info, message);
|
|
@@ -145,5 +118,4 @@ class WorkerPool {
|
|
|
145
118
|
return numbers;
|
|
146
119
|
}
|
|
147
120
|
}
|
|
148
|
-
exports.WorkerPool = WorkerPool;
|
|
149
121
|
//# sourceMappingURL=worker-pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/downloader/worker-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { logLevels } from '../logger/logger-worker';
|
|
2
|
-
import type * as logger from '../logger/logger';
|
|
3
|
-
import { WorkerMessage, WorkerMessageType } from './types';
|
|
1
|
+
import type { logLevels } from '../logger/logger-worker.js';
|
|
2
|
+
import type * as logger from '../logger/logger.js';
|
|
3
|
+
import type { WorkerMessage, WorkerMessageType } from './types.js';
|
|
4
4
|
export interface WorkerLog<T = unknown> {
|
|
5
5
|
logger: keyof typeof logger;
|
|
6
6
|
level: typeof logLevels[number];
|
|
@@ -13,3 +13,4 @@ export interface WorkerTaskMessage<T> {
|
|
|
13
13
|
readonly taskId: number;
|
|
14
14
|
body: T;
|
|
15
15
|
}
|
|
16
|
+
//# sourceMappingURL=worker-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-type.d.ts","sourceRoot":"","sources":["../../src/downloader/worker-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO;IACpC,MAAM,EAAE,MAAM,OAAO,MAAM,CAAC;IAC5B,KAAK,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChF,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC;CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/downloader/worker.ts"],"names":[],"mappings":""}
|
package/lib/downloader/worker.js
CHANGED
|
@@ -1,43 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
(
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { parentPort, workerData } from 'node:worker_threads';
|
|
2
|
+
import { mergeOverrideOptions } from '../options.js';
|
|
3
|
+
import { normalizeResource, prepareResourceForClone } from '../resource.js';
|
|
4
|
+
import { skip } from '../logger/logger.js';
|
|
5
|
+
import { importDefaultFromPath } from '../util.js';
|
|
6
|
+
import { WorkerMessageType } from './types.js';
|
|
7
|
+
import { PipelineExecutorImpl } from './pipeline-executor-impl.js';
|
|
8
|
+
const { pathToOptions, overrideOptions } = workerData;
|
|
9
|
+
const asyncOptions = importDefaultFromPath(pathToOptions);
|
|
10
|
+
const asyncPipeline = asyncOptions.then(options => {
|
|
11
|
+
options = mergeOverrideOptions(options, overrideOptions);
|
|
12
|
+
const pipeline = new PipelineExecutorImpl(options, options.req, options);
|
|
13
|
+
options.configureLogger(options.localRoot, options.logSubDir || '');
|
|
14
|
+
const init = pipeline.init(pipeline);
|
|
15
|
+
if (init && init.then) {
|
|
16
|
+
return init.then(() => pipeline);
|
|
17
|
+
}
|
|
18
|
+
return pipeline;
|
|
19
|
+
});
|
|
20
|
+
parentPort === null || parentPort === void 0 ? void 0 : parentPort.addListener('message', async (msg) => {
|
|
18
21
|
const collectedResource = [];
|
|
19
22
|
let error;
|
|
20
23
|
let redirectedUrl;
|
|
21
24
|
try {
|
|
22
|
-
await
|
|
25
|
+
const pipeline = await asyncPipeline;
|
|
23
26
|
const res = msg.body;
|
|
24
|
-
const downloadResource =
|
|
27
|
+
const downloadResource = normalizeResource(res);
|
|
25
28
|
const submit = (resources) => {
|
|
26
29
|
if (Array.isArray(resources)) {
|
|
27
30
|
for (let i = 0; i < resources.length; i++) {
|
|
28
|
-
collectedResource.push(
|
|
31
|
+
collectedResource.push(prepareResourceForClone(resources[i]));
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
else {
|
|
32
|
-
collectedResource.push(
|
|
35
|
+
collectedResource.push(prepareResourceForClone(resources));
|
|
33
36
|
}
|
|
34
37
|
};
|
|
35
38
|
const processedResource = await pipeline.processAfterDownload(downloadResource, submit);
|
|
36
39
|
if (!processedResource) {
|
|
37
|
-
|
|
40
|
+
skip.warn('skipped downloaded resource', downloadResource.url, downloadResource.refUrl);
|
|
38
41
|
}
|
|
39
42
|
else if (await pipeline.saveToDisk(processedResource)) {
|
|
40
|
-
|
|
43
|
+
skip.warn('downloaded resource not saved', downloadResource.url, downloadResource.refUrl);
|
|
41
44
|
}
|
|
42
45
|
if (processedResource && processedResource.redirectedUrl &&
|
|
43
46
|
processedResource.redirectedUrl !== processedResource.url) {
|
|
@@ -45,18 +48,40 @@ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ?
|
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
catch (e) {
|
|
48
|
-
//
|
|
49
|
-
|
|
51
|
+
// handle if object could not be cloned here
|
|
52
|
+
// https://github.com/website-local/website-scrap-engine/issues/340
|
|
53
|
+
try {
|
|
54
|
+
// should always be
|
|
55
|
+
if (typeof structuredClone === 'function') {
|
|
56
|
+
error = structuredClone(e);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// this is the old behavior before this
|
|
60
|
+
error = e;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (_a) {
|
|
64
|
+
// can not clone, so no need to get the full error here
|
|
65
|
+
if (e && typeof e === 'object') {
|
|
66
|
+
const clone = {};
|
|
67
|
+
for (const k in e) {
|
|
68
|
+
clone[k] = String(e[k]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
error = String(e);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
50
75
|
}
|
|
51
76
|
finally {
|
|
52
77
|
const message = {
|
|
53
78
|
taskId: msg.taskId,
|
|
54
|
-
type:
|
|
79
|
+
type: WorkerMessageType.Complete,
|
|
55
80
|
body: collectedResource,
|
|
56
81
|
error,
|
|
57
82
|
redirectedUrl
|
|
58
83
|
};
|
|
59
|
-
|
|
84
|
+
parentPort === null || parentPort === void 0 ? void 0 : parentPort.postMessage(message);
|
|
60
85
|
}
|
|
61
86
|
});
|
|
62
87
|
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/downloader/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/downloader/worker.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * as logger from './logger/logger';
|
|
2
|
-
export * as downloader from './downloader/index';
|
|
3
|
-
export * as lifeCycle from './life-cycle/index';
|
|
4
|
-
export * as io from './io';
|
|
5
|
-
export * as options from './options';
|
|
6
|
-
export * as resource from './resource';
|
|
7
|
-
export { SourceDefinition } from './sources';
|
|
8
|
-
export * as util from './util';
|
|
1
|
+
export * as logger from './logger/logger.js';
|
|
2
|
+
export * as downloader from './downloader/index.js';
|
|
3
|
+
export * as lifeCycle from './life-cycle/index.js';
|
|
4
|
+
export * as io from './io.js';
|
|
5
|
+
export * as options from './options.js';
|
|
6
|
+
export * as resource from './resource.js';
|
|
7
|
+
export type { SourceDefinition } from './sources.js';
|
|
8
|
+
export * as util from './util.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,34 +1,8 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.util = exports.resource = exports.options = exports.io = exports.lifeCycle = exports.downloader = exports.logger = void 0;
|
|
27
|
-
exports.logger = __importStar(require("./logger/logger"));
|
|
28
|
-
exports.downloader = __importStar(require("./downloader/index"));
|
|
29
|
-
exports.lifeCycle = __importStar(require("./life-cycle/index"));
|
|
30
|
-
exports.io = __importStar(require("./io"));
|
|
31
|
-
exports.options = __importStar(require("./options"));
|
|
32
|
-
exports.resource = __importStar(require("./resource"));
|
|
33
|
-
exports.util = __importStar(require("./util"));
|
|
1
|
+
export * as logger from './logger/logger.js';
|
|
2
|
+
export * as downloader from './downloader/index.js';
|
|
3
|
+
export * as lifeCycle from './life-cycle/index.js';
|
|
4
|
+
export * as io from './io.js';
|
|
5
|
+
export * as options from './options.js';
|
|
6
|
+
export * as resource from './resource.js';
|
|
7
|
+
export * as util from './util.js';
|
|
34
8
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
|
package/lib/io.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { ResourceBody, ResourceEncoding } from './resource';
|
|
1
|
+
import type { ResourceBody, ResourceEncoding } from './resource.js';
|
|
2
2
|
export declare const mkdirRetry: (dir: string, retry?: number) => Promise<void>;
|
|
3
3
|
export declare const writeFile: (filePath: string, data: ResourceBody, encoding: ResourceEncoding, mtime?: number | void | undefined, atime?: number | void | undefined) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=io.d.ts.map
|
package/lib/io.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAGlE,eAAO,MAAM,UAAU,QAAe,MAAM,qBAAc,OAAO,CAAC,IAAI,CAqBrE,CAAC;AAEF,eAAO,MAAM,SAAS,aACV,MAAM,QACV,YAAY,YACR,gBAAgB,2EAGzB,OAAO,CAAC,IAAI,CAoCd,CAAC"}
|
package/lib/io.js
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.writeFile = exports.mkdirRetry = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const mkdirp_1 = require("mkdirp");
|
|
10
|
-
const logger_1 = require("./logger/logger");
|
|
11
|
-
const mkdirRetry = async (dir, retry = 3) => {
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
import { mkdirp } from 'mkdirp';
|
|
4
|
+
import { error as errorLogger, mkdir as mkdirLogger } from './logger/logger.js';
|
|
5
|
+
export const mkdirRetry = async (dir, retry = 3) => {
|
|
12
6
|
let error;
|
|
13
7
|
for (let i = 0; i < retry; i++) {
|
|
14
8
|
error = undefined;
|
|
15
9
|
try {
|
|
16
|
-
await
|
|
10
|
+
await mkdirp(dir);
|
|
17
11
|
}
|
|
18
12
|
catch (e) {
|
|
19
13
|
error = e;
|
|
20
14
|
if (i > 0) {
|
|
21
|
-
|
|
15
|
+
mkdirLogger.debug('mkdir', dir, 'fail', i, 'times', e);
|
|
22
16
|
}
|
|
23
17
|
else {
|
|
24
|
-
|
|
18
|
+
mkdirLogger.trace('mkdir', dir, 'fail', i, 'times', e);
|
|
25
19
|
}
|
|
26
20
|
continue;
|
|
27
21
|
}
|
|
@@ -32,14 +26,13 @@ const mkdirRetry = async (dir, retry = 3) => {
|
|
|
32
26
|
throw error;
|
|
33
27
|
}
|
|
34
28
|
};
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
await (0, exports.mkdirRetry)(dir);
|
|
29
|
+
export const writeFile = async (filePath, data, encoding, mtime, atime) => {
|
|
30
|
+
const dir = dirname(filePath);
|
|
31
|
+
if (!fs.existsSync(dir)) {
|
|
32
|
+
await mkdirRetry(dir);
|
|
40
33
|
}
|
|
41
34
|
let fileData;
|
|
42
|
-
let options;
|
|
35
|
+
let options = void 0;
|
|
43
36
|
if (typeof data === 'string') {
|
|
44
37
|
fileData = data;
|
|
45
38
|
options = { encoding };
|
|
@@ -58,10 +51,10 @@ const writeFile = async (filePath, data, encoding, mtime, atime) => {
|
|
|
58
51
|
throw new TypeError('Type of data not supported.');
|
|
59
52
|
}
|
|
60
53
|
if (options) {
|
|
61
|
-
await
|
|
54
|
+
await fs.promises.writeFile(filePath, fileData, options);
|
|
62
55
|
}
|
|
63
56
|
else {
|
|
64
|
-
await
|
|
57
|
+
await fs.promises.writeFile(filePath, fileData);
|
|
65
58
|
}
|
|
66
59
|
// void and NaN check
|
|
67
60
|
if (mtime) {
|
|
@@ -69,12 +62,11 @@ const writeFile = async (filePath, data, encoding, mtime, atime) => {
|
|
|
69
62
|
atime = mtime;
|
|
70
63
|
}
|
|
71
64
|
try {
|
|
72
|
-
await
|
|
65
|
+
await fs.promises.utimes(filePath, atime, mtime);
|
|
73
66
|
}
|
|
74
67
|
catch (e) {
|
|
75
|
-
|
|
68
|
+
errorLogger.warn('skipping utimes ' + filePath, e);
|
|
76
69
|
}
|
|
77
70
|
}
|
|
78
71
|
};
|
|
79
|
-
exports.writeFile = writeFile;
|
|
80
72
|
//# sourceMappingURL=io.js.map
|
package/lib/io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Resource
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
1
|
+
import type { Resource } from '../resource.js';
|
|
2
|
+
import { ResourceType } from '../resource.js';
|
|
3
|
+
import type { AsyncResult, DownloadResource, LinkRedirectFunc, ProcessResourceAfterDownloadFunc, ProcessResourceBeforeDownloadFunc, SubmitResourceFunc } from './types.js';
|
|
4
|
+
import type { StaticDownloadOptions } from '../options.js';
|
|
5
|
+
import type { PipelineExecutor } from './pipeline-executor.js';
|
|
6
|
+
import type { Cheerio, CheerioStatic } from '../types.js';
|
|
6
7
|
export interface SkipProcessFunc {
|
|
7
8
|
(url: string, element: Cheerio | null, parent: Resource | null): boolean;
|
|
8
9
|
}
|
|
@@ -36,3 +37,4 @@ export interface AsyncHtmlProcessFunc {
|
|
|
36
37
|
}): AsyncResult<CheerioStatic>;
|
|
37
38
|
}
|
|
38
39
|
export declare const processHtmlAsync: (fn: AsyncHtmlProcessFunc) => ProcessResourceAfterDownloadFunc;
|
|
40
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/life-cycle/adapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gCAAgC,EAChC,iCAAiC,EACjC,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;CAC1E;AAED,eAAO,MAAM,WAAW,OAAQ,eAAe,KAAG,gBACoB,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,OAAQ,gBAAgB,KAAG,iCAMjD,CAAC;AAGJ,MAAM,WAAW,sBAAsB;IACrC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;CACtF;AAED,eAAO,MAAM,UAAU,OAAQ,sBAAsB,KAAG,iCAIrD,CAAC;AAEJ,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,eAAe,OAAQ,mBAAmB,KAAG,iCAUvD,CAAC;AAEJ,eAAO,MAAM,cAAc,OAAQ,mBAAmB,KAAG,gCAMtD,CAAC;AAEJ,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAclC;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;KAAE,GAAG,aAAa,CAAC;CAChF;AAED,eAAO,MAAM,SAAS,QACf,gBAAgB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;CAAE,WAC1C,qBAAqB,KAC7B,aAOF,CAAC;AAEF,eAAO,MAAM,WAAW,OAAQ,eAAe,KAAG,gCAS/C,CAAC;AAGJ,MAAM,WAAW,oBAAoB;IACnC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAA;KAAE,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,eAAO,MAAM,gBAAgB,OAAQ,oBAAoB,KAAG,gCASzD,CAAC"}
|