@hestia-earth/pipeline-utils 0.9.4 → 0.9.5
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/CHANGELOG.md +7 -0
- package/dist/progress.d.ts +2 -2
- package/dist/s3.d.ts +1 -0
- package/dist/s3.js +12 -12
- package/dist/s3.js.map +1 -1
- package/dist/sns.d.ts +1 -2
- package/dist/sns.js +15 -12
- package/dist/sns.js.map +1 -1
- package/package.json +1 -1
- package/src/s3.ts +2 -2
- package/src/sns.ts +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.9.5](https://gitlab.com/hestia-earth/hestia-pipeline-utils/compare/v0.9.4...v0.9.5) (2023-05-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **sns:** disable in local mode ([7c234aa](https://gitlab.com/hestia-earth/hestia-pipeline-utils/commit/7c234aabbfbaa495a38a3e630b5618289898daf8))
|
|
11
|
+
|
|
5
12
|
### [0.9.4](https://gitlab.com/hestia-earth/hestia-pipeline-utils/compare/v0.9.3...v0.9.4) (2023-05-03)
|
|
6
13
|
|
|
7
14
|
|
package/dist/progress.d.ts
CHANGED
|
@@ -16,6 +16,6 @@ export declare class HestiaError extends Error {
|
|
|
16
16
|
stack: string;
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
export declare const handleError: (step: FileProgress, params: IFunctionParam, since?: Date, Bucket?: string) => (err: HestiaError) => import("rxjs").Observable<
|
|
20
|
-
export declare const handleSuccess: (step: FileProgress, params: IFunctionParam, since?: Date, Bucket?: string) => (details?: any) => import("rxjs").Observable<
|
|
19
|
+
export declare const handleError: (step: FileProgress, params: IFunctionParam, since?: Date, Bucket?: string) => (err: HestiaError) => import("rxjs").Observable<any>;
|
|
20
|
+
export declare const handleSuccess: (step: FileProgress, params: IFunctionParam, since?: Date, Bucket?: string) => (details?: any) => import("rxjs").Observable<any>;
|
|
21
21
|
export declare const defaultErrorHandler: (key: string) => (err: Error) => import("rxjs").Observable<never>;
|
package/dist/s3.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as AWS from 'aws-sdk';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
export declare const isS3Mode: boolean;
|
|
4
5
|
export declare const bucket: string;
|
|
5
6
|
export declare const filePath: (key: string) => string;
|
|
6
7
|
export interface IFunctionParam {
|
package/dist/s3.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLargeFile = exports.listFolder = exports.deleteObject = exports.fileSize = exports.fileExists = exports.lastModified = exports.waitObjectCreated = exports.uploadJSON = exports.uploadText = exports.uploadFile = exports.loadJSONFile = exports.loadTextFile = exports.loadFile = exports.loadStream = exports.copyObject = exports.deleteObjects = exports.putObject = exports.getObject = exports.getS3 = exports.filePath = exports.bucket = void 0;
|
|
3
|
+
exports.isLargeFile = exports.listFolder = exports.deleteObject = exports.fileSize = exports.fileExists = exports.lastModified = exports.waitObjectCreated = exports.uploadJSON = exports.uploadText = exports.uploadFile = exports.loadJSONFile = exports.loadTextFile = exports.loadFile = exports.loadStream = exports.copyObject = exports.deleteObjects = exports.putObject = exports.getObject = exports.getS3 = exports.filePath = exports.bucket = exports.isS3Mode = void 0;
|
|
4
4
|
const AWS = require("aws-sdk");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const rxjs_1 = require("rxjs");
|
|
@@ -9,7 +9,7 @@ const api_1 = require("@hestia-earth/api");
|
|
|
9
9
|
const log_1 = require("./log");
|
|
10
10
|
const local = require("./local");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
|
-
|
|
12
|
+
exports.isS3Mode = (process.env.SOURCE_MODE || 's3') === 's3';
|
|
13
13
|
exports.bucket = process.env.BUCKET;
|
|
14
14
|
const filePath = (key) => `https://${exports.bucket}.s3.amazonaws.com/${key || ''}`;
|
|
15
15
|
exports.filePath = filePath;
|
|
@@ -56,12 +56,12 @@ const loadFile = (key) => {
|
|
|
56
56
|
return subject.asObservable();
|
|
57
57
|
};
|
|
58
58
|
exports.loadFile = loadFile;
|
|
59
|
-
const loadTextFile = (key, Bucket = exports.bucket) => isS3Mode ? (0, exports.getObject)({
|
|
59
|
+
const loadTextFile = (key, Bucket = exports.bucket) => exports.isS3Mode ? (0, exports.getObject)({
|
|
60
60
|
Bucket,
|
|
61
61
|
Key: key
|
|
62
62
|
}).pipe((0, operators_1.map)(res => res.replace(/\"/g, ''))) : local.loadTextFile(Bucket)(key);
|
|
63
63
|
exports.loadTextFile = loadTextFile;
|
|
64
|
-
const loadJSONFile = (key, Bucket = exports.bucket) => isS3Mode ? (0, exports.getObject)({
|
|
64
|
+
const loadJSONFile = (key, Bucket = exports.bucket) => exports.isS3Mode ? (0, exports.getObject)({
|
|
65
65
|
Bucket,
|
|
66
66
|
Key: key,
|
|
67
67
|
ResponseContentType: 'application/json'
|
|
@@ -73,20 +73,20 @@ const uploadFile = (filepath, key, Bucket = exports.bucket) => (0, exports.putOb
|
|
|
73
73
|
Body: (0, fs_1.createReadStream)(filepath, 'utf8')
|
|
74
74
|
});
|
|
75
75
|
exports.uploadFile = uploadFile;
|
|
76
|
-
const uploadText = (key, data, Bucket = exports.bucket) => isS3Mode ? (0, exports.putObject)({
|
|
76
|
+
const uploadText = (key, data, Bucket = exports.bucket) => exports.isS3Mode ? (0, exports.putObject)({
|
|
77
77
|
Bucket,
|
|
78
78
|
Key: key,
|
|
79
79
|
Body: data
|
|
80
80
|
}) : local.uploadText(Bucket)(key, data);
|
|
81
81
|
exports.uploadText = uploadText;
|
|
82
|
-
const uploadJSON = (key, data, type = 'application/json', Bucket = exports.bucket) => isS3Mode ? (0, exports.putObject)({
|
|
82
|
+
const uploadJSON = (key, data, type = 'application/json', Bucket = exports.bucket) => exports.isS3Mode ? (0, exports.putObject)({
|
|
83
83
|
Bucket,
|
|
84
84
|
Key: key,
|
|
85
85
|
Body: JSON.stringify(data, null, 2),
|
|
86
86
|
ContentType: type
|
|
87
87
|
}) : local.uploadJSON(Bucket)(key, data);
|
|
88
88
|
exports.uploadJSON = uploadJSON;
|
|
89
|
-
const waitObjectCreated = (key, Bucket = exports.bucket) => isS3Mode ?
|
|
89
|
+
const waitObjectCreated = (key, Bucket = exports.bucket) => exports.isS3Mode ?
|
|
90
90
|
(0, rxjs_1.from)((0, exports.getS3)().waitFor('objectExists', {
|
|
91
91
|
Bucket,
|
|
92
92
|
Key: decodeURI(key)
|
|
@@ -96,13 +96,13 @@ const headObject = (key, Bucket = exports.bucket) => (0, rxjs_1.from)((0, export
|
|
|
96
96
|
Bucket,
|
|
97
97
|
Key: decodeURI(key)
|
|
98
98
|
}).promise());
|
|
99
|
-
const lastModified = (key, Bucket = exports.bucket) => isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(({ LastModified }) => LastModified), (0, operators_1.catchError)(() => (0, rxjs_1.of)(null)), (0, operators_1.take)(1)) : local.lastModified(Bucket)(key);
|
|
99
|
+
const lastModified = (key, Bucket = exports.bucket) => exports.isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(({ LastModified }) => LastModified), (0, operators_1.catchError)(() => (0, rxjs_1.of)(null)), (0, operators_1.take)(1)) : local.lastModified(Bucket)(key);
|
|
100
100
|
exports.lastModified = lastModified;
|
|
101
|
-
const fileExists = (key, Bucket = exports.bucket) => isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(() => true), (0, operators_1.catchError)(() => (0, rxjs_1.of)(false)), (0, operators_1.take)(1)) : local.fileExists(Bucket)(key);
|
|
101
|
+
const fileExists = (key, Bucket = exports.bucket) => exports.isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(() => true), (0, operators_1.catchError)(() => (0, rxjs_1.of)(false)), (0, operators_1.take)(1)) : local.fileExists(Bucket)(key);
|
|
102
102
|
exports.fileExists = fileExists;
|
|
103
|
-
const fileSize = (key, Bucket = exports.bucket) => isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(({ ContentLength }) => ContentLength), (0, operators_1.catchError)(() => (0, rxjs_1.of)(undefined)), (0, operators_1.take)(1)) : local.fileSize(Bucket)(key);
|
|
103
|
+
const fileSize = (key, Bucket = exports.bucket) => exports.isS3Mode ? headObject(key, Bucket).pipe((0, operators_1.map)(({ ContentLength }) => ContentLength), (0, operators_1.catchError)(() => (0, rxjs_1.of)(undefined)), (0, operators_1.take)(1)) : local.fileSize(Bucket)(key);
|
|
104
104
|
exports.fileSize = fileSize;
|
|
105
|
-
const deleteObject = (key, Bucket = exports.bucket) => isS3Mode ? (0, rxjs_1.from)((0, exports.getS3)().deleteObject({
|
|
105
|
+
const deleteObject = (key, Bucket = exports.bucket) => exports.isS3Mode ? (0, rxjs_1.from)((0, exports.getS3)().deleteObject({
|
|
106
106
|
Bucket,
|
|
107
107
|
Key: decodeURI(key)
|
|
108
108
|
}).promise()) : local.deleteFile(Bucket)(key);
|
|
@@ -118,6 +118,6 @@ const listFolder = async (Prefix = '', Bucket = exports.bucket, nextToken) => {
|
|
|
118
118
|
};
|
|
119
119
|
exports.listFolder = listFolder;
|
|
120
120
|
const largeFileSize = +(process.env.LARGE_SIZE_MB || '100');
|
|
121
|
-
const isLargeFile = (key, Bucket = exports.bucket) => (0, exports.fileSize)(key, Bucket).pipe((0, operators_1.tap)(size => (0, log_1.debug)('Detected file size:', size, 'max size:', largeFileSize)), (0, operators_1.map)(size => (0, api_1.sizeInMb)(size) > largeFileSize));
|
|
121
|
+
const isLargeFile = (key, Bucket = exports.bucket) => (0, exports.fileSize)(key, Bucket).pipe((0, operators_1.tap)(size => (0, log_1.debug)('Detected file size:', (0, api_1.sizeInMb)(size), 'max size:', largeFileSize)), (0, operators_1.map)(size => (0, api_1.sizeInMb)(size) > largeFileSize));
|
|
122
122
|
exports.isLargeFile = isLargeFile;
|
|
123
123
|
//# sourceMappingURL=s3.js.map
|
package/dist/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2BAAsC;AACtC,+BAAqD;AACrD,8CAA4D;AAC5D,2CAA6C;AAE7C,+BAA8B;AAC9B,iCAAiC;AACjC,mCAAmC;
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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"}
|
package/dist/sns.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import * as AWS from 'aws-sdk';
|
|
2
1
|
import { IFunctionParam } from './s3';
|
|
3
|
-
export declare const publish: (functionName: string, params: IFunctionParam, topicArn?: string) => import("rxjs").Observable<
|
|
2
|
+
export declare const publish: (functionName: string, params: IFunctionParam, topicArn?: string) => import("rxjs").Observable<any>;
|
package/dist/sns.js
CHANGED
|
@@ -5,18 +5,21 @@ const AWS = require("aws-sdk");
|
|
|
5
5
|
const rxjs_1 = require("rxjs");
|
|
6
6
|
const operators_1 = require("rxjs/operators");
|
|
7
7
|
const log_1 = require("./log");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
const s3_1 = require("./s3");
|
|
9
|
+
const publish = (functionName, params, topicArn = process.env.SNS_TOPIC) => s3_1.isS3Mode
|
|
10
|
+
? (0, rxjs_1.of)(null)
|
|
11
|
+
: (0, rxjs_1.from)(new AWS.SNS().publish({
|
|
12
|
+
TopicArn: topicArn,
|
|
13
|
+
Message: JSON.stringify(params),
|
|
14
|
+
MessageAttributes: {
|
|
15
|
+
functionName: {
|
|
16
|
+
DataType: 'String',
|
|
17
|
+
StringValue: functionName
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}));
|
|
20
|
+
}).promise()).pipe((0, operators_1.take)(1), (0, operators_1.map)(res => {
|
|
21
|
+
(0, log_1.debug)(`publish ${functionName}`, res);
|
|
22
|
+
return res;
|
|
23
|
+
}));
|
|
21
24
|
exports.publish = publish;
|
|
22
25
|
//# sourceMappingURL=sns.js.map
|
package/dist/sns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sns.js","sourceRoot":"","sources":["../src/sns.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+
|
|
1
|
+
{"version":3,"file":"sns.js","sourceRoot":"","sources":["../src/sns.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+BAAgC;AAChC,8CAA2C;AAE3C,+BAA8B;AAC9B,6BAAgD;AAEzC,MAAM,OAAO,GAAG,CAAC,YAAoB,EAAE,MAAsB,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,aAAQ;IACjH,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC;IACV,CAAC,CAAC,IAAA,WAAI,EACJ,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,iBAAiB,EAAE;YACjB,YAAY,EAAE;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,YAAY;aAC1B;SACF;KACF,CAAC,CAAC,OAAO,EAAE,CACb,CAAC,IAAI,CACJ,IAAA,gBAAI,EAAC,CAAC,CAAC,EACP,IAAA,eAAG,EAAC,GAAG,CAAC,EAAE;QACR,IAAA,WAAK,EAAC,WAAW,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CACH,CAAC;AAnBS,QAAA,OAAO,WAmBhB"}
|
package/package.json
CHANGED
package/src/s3.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { debug } from './log';
|
|
|
8
8
|
import * as local from './local';
|
|
9
9
|
import { stripBOM } from './utils';
|
|
10
10
|
|
|
11
|
-
const isS3Mode = (process.env.SOURCE_MODE || 's3') === 's3';
|
|
11
|
+
export const isS3Mode = (process.env.SOURCE_MODE || 's3') === 's3';
|
|
12
12
|
export const bucket = process.env.BUCKET;
|
|
13
13
|
|
|
14
14
|
export const filePath = (key: string) => `https://${bucket}.s3.amazonaws.com/${key || ''}`;
|
|
@@ -166,6 +166,6 @@ const largeFileSize = +(process.env.LARGE_SIZE_MB || '100');
|
|
|
166
166
|
|
|
167
167
|
export const isLargeFile = (key: string, Bucket = bucket) =>
|
|
168
168
|
fileSize(key, Bucket).pipe(
|
|
169
|
-
tap(size => debug('Detected file size:', size, 'max size:', largeFileSize)),
|
|
169
|
+
tap(size => debug('Detected file size:', sizeInMb(size), 'max size:', largeFileSize)),
|
|
170
170
|
map(size => sizeInMb(size) > largeFileSize)
|
|
171
171
|
);
|
package/src/sns.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as AWS from 'aws-sdk';
|
|
2
|
-
import { from } from 'rxjs';
|
|
2
|
+
import { from, of } from 'rxjs';
|
|
3
3
|
import { take, map } from 'rxjs/operators';
|
|
4
4
|
|
|
5
5
|
import { debug } from './log';
|
|
6
|
-
import { IFunctionParam } from './s3';
|
|
6
|
+
import { IFunctionParam, isS3Mode } from './s3';
|
|
7
7
|
|
|
8
|
-
export const publish = (functionName: string, params: IFunctionParam, topicArn = process.env.SNS_TOPIC) =>
|
|
9
|
-
|
|
8
|
+
export const publish = (functionName: string, params: IFunctionParam, topicArn = process.env.SNS_TOPIC) => isS3Mode
|
|
9
|
+
? of(null)
|
|
10
|
+
: from(
|
|
10
11
|
new AWS.SNS().publish({
|
|
11
12
|
TopicArn: topicArn,
|
|
12
13
|
Message: JSON.stringify(params),
|