@targetprocess/publish-frontend-assets 0.1.0-rc.6 → 1.1.0-ci.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/README.md +0 -2
- package/dist/app.js +8 -5
- package/dist/app.js.map +1 -1
- package/dist/assetsLoader.js +39 -6
- package/dist/assetsLoader.js.map +1 -1
- package/dist/assetsPublisher.js +13 -10
- package/dist/assetsPublisher.js.map +1 -1
- package/dist/config.js +36 -3
- package/dist/config.js.map +1 -1
- package/dist/fsAsync.js +38 -4
- package/dist/fsAsync.js.map +1 -1
- package/dist/logging.js +1 -1
- package/dist/logging.js.map +1 -1
- package/dist/parallel.js +2 -2
- package/dist/parallel.js.map +1 -1
- package/dist/parallel.test.js +8 -8
- package/dist/parallel.test.js.map +1 -1
- package/dist/profiler.js +3 -3
- package/dist/profiler.js.map +1 -1
- package/dist/retry.js +3 -3
- package/dist/retry.js.map +1 -1
- package/dist/unreachable.js +1 -1
- package/dist/unreachable.js.map +1 -1
- package/package.json +16 -17
- package/CHANGELOG.md +0 -7
package/README.md
CHANGED
|
@@ -78,6 +78,4 @@ You can use these values to override defaults.
|
|
|
78
78
|
Because this package is run via `npx`, there's a dummy file `bin/publish-frontend-assets` with explicit hashbang header,
|
|
79
79
|
which calls `dist/app.js`, which is build from `src/app.ts`.
|
|
80
80
|
|
|
81
|
-
Package version is automatically set via `npm version` from the current commit tag during pipeline build, so version in `package.json` is set to `0.0.0` in source code.
|
|
82
|
-
|
|
83
81
|
When running locally, use `.env` file to set AWS credentials and other env variables. **Do not commit that file**.
|
package/dist/app.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const config_1 = require("./config");
|
|
4
|
-
const logging_1 = require("./logging");
|
|
6
|
+
const config_1 = __importDefault(require("./config"));
|
|
7
|
+
const logging_1 = __importDefault(require("./logging"));
|
|
5
8
|
const assetsLoader_1 = require("./assetsLoader");
|
|
6
9
|
const assetsPublisher_1 = require("./assetsPublisher");
|
|
7
10
|
function validateAssets(assets) {
|
|
@@ -20,11 +23,11 @@ async function run() {
|
|
|
20
23
|
serviceName: config_1.default.SERVICE_NAME,
|
|
21
24
|
serviceVersion: config_1.default.SERVICE_VERSION,
|
|
22
25
|
bucketName: config_1.default.AWS_S3_BUCKET_NAME,
|
|
23
|
-
assetsDir: config_1.default.ASSETS_DIR
|
|
26
|
+
assetsDir: config_1.default.ASSETS_DIR,
|
|
24
27
|
});
|
|
25
|
-
const assets = await assetsLoader_1.getAssets(config_1.default.ASSETS_DIR);
|
|
28
|
+
const assets = await (0, assetsLoader_1.getAssets)(config_1.default.ASSETS_DIR);
|
|
26
29
|
validateAssets(assets);
|
|
27
|
-
await assetsPublisher_1.publishManyAssets(assets, config_1.default.SERVICE_NAME + '/' + config_1.default.SERVICE_VERSION);
|
|
30
|
+
await (0, assetsPublisher_1.publishManyAssets)(assets, config_1.default.SERVICE_NAME + '/' + config_1.default.SERVICE_VERSION);
|
|
28
31
|
}
|
|
29
32
|
async function main() {
|
|
30
33
|
try {
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;;;AAGA,sDAA6B;AAC7B,wDAA+B;AAC/B,iDAAwC;AACxC,uDAAmD;AAGnD,SAAS,cAAc,CAAC,MAA+B;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;IAE7D,iBAAO,CAAC,IAAI,CAAC,aAAa,KAAK,gCAAgC,IAAI,QAAQ,CAAC,CAAA;IAE5E,IAAI,KAAK,GAAG,gBAAM,CAAC,yBAAyB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,6DAA6D,gBAAM,CAAC,yBAAyB,uIAAuI,CACvP,CAAA;IACH,CAAC;IAED,IAAI,IAAI,GAAG,gBAAM,CAAC,oBAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,iDAAiD,gBAAM,CAAC,oBAAoB,+HAA+H,CAC/O,CAAA;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG;IAChB,iBAAO,CAAC,IAAI,CAAC,SAAS,EAAE;QACtB,WAAW,EAAE,gBAAM,CAAC,YAAY;QAChC,cAAc,EAAE,gBAAM,CAAC,eAAe;QACtC,UAAU,EAAE,gBAAM,CAAC,kBAAkB;QACrC,SAAS,EAAE,gBAAM,CAAC,UAAU;KAC7B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,gBAAM,CAAC,UAAU,CAAC,CAAA;IAEjD,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,IAAA,mCAAiB,EAAC,MAAM,EAAE,gBAAM,CAAC,YAAY,GAAG,GAAG,GAAG,gBAAM,CAAC,eAAe,CAAC,CAAA;AACrF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
|
package/dist/assetsLoader.js
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const
|
|
36
|
+
exports.getAssets = getAssets;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const mimeTypes = __importStar(require("mime-types"));
|
|
5
39
|
const fsAsync_1 = require("./fsAsync");
|
|
6
40
|
async function getFileNames(dir, currentParentDirs) {
|
|
7
41
|
const res = [];
|
|
8
|
-
const paths = await fsAsync_1.readdirAsync(dir);
|
|
42
|
+
const paths = await (0, fsAsync_1.readdirAsync)(dir);
|
|
9
43
|
for (const p of paths) {
|
|
10
44
|
const fullPath = path.join(dir, p);
|
|
11
|
-
const stat = await fsAsync_1.statAsync(fullPath);
|
|
45
|
+
const stat = await (0, fsAsync_1.statAsync)(fullPath);
|
|
12
46
|
if (stat) {
|
|
13
47
|
if (stat.isDirectory()) {
|
|
14
48
|
const nestedDirs = [...currentParentDirs, p];
|
|
@@ -23,7 +57,7 @@ async function getFileNames(dir, currentParentDirs) {
|
|
|
23
57
|
fullPath,
|
|
24
58
|
parentDirectories: [...currentParentDirs],
|
|
25
59
|
contentType: mimeTypes.lookup(path.extname(p)) || undefined,
|
|
26
|
-
size: stat.size
|
|
60
|
+
size: stat.size,
|
|
27
61
|
});
|
|
28
62
|
}
|
|
29
63
|
}
|
|
@@ -33,5 +67,4 @@ async function getFileNames(dir, currentParentDirs) {
|
|
|
33
67
|
function getAssets(directoryPath) {
|
|
34
68
|
return getFileNames(directoryPath, []);
|
|
35
69
|
}
|
|
36
|
-
exports.getAssets = getAssets;
|
|
37
70
|
//# sourceMappingURL=assetsLoader.js.map
|
package/dist/assetsLoader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetsLoader.js","sourceRoot":"","sources":["../src/assetsLoader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assetsLoader.js","sourceRoot":"","sources":["../src/assetsLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,8BAEC;AAlCD,2CAA4B;AAE5B,sDAAuC;AACvC,uCAAiD;AAEjD,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,iBAAwC;IAC/E,MAAM,GAAG,GAAe,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAA;gBAC5C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;gBACzD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,QAAQ;oBACR,iBAAiB,EAAE,CAAC,GAAG,iBAAiB,CAAC;oBACzC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;oBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,SAAS,CAAC,aAAqB;IAC7C,OAAO,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC"}
|
package/dist/assetsPublisher.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.publishManyAssets = publishManyAssets;
|
|
3
7
|
const aws_sdk_1 = require("aws-sdk");
|
|
4
|
-
const config_1 = require("./config");
|
|
5
|
-
const logging_1 = require("./logging");
|
|
8
|
+
const config_1 = __importDefault(require("./config"));
|
|
9
|
+
const logging_1 = __importDefault(require("./logging"));
|
|
6
10
|
const fsAsync_1 = require("./fsAsync");
|
|
7
11
|
const profiler_1 = require("./profiler");
|
|
8
12
|
const retry_1 = require("./retry");
|
|
@@ -10,7 +14,7 @@ const parallel_1 = require("./parallel");
|
|
|
10
14
|
const s3 = new aws_sdk_1.S3({
|
|
11
15
|
accessKeyId: config_1.default.AWS_S3_ACCESS_KEY_ID,
|
|
12
16
|
secretAccessKey: config_1.default.AWS_S3_ACCESS_KEY_SECRET,
|
|
13
|
-
apiVersion: '2019-12-16'
|
|
17
|
+
apiVersion: '2019-12-16',
|
|
14
18
|
});
|
|
15
19
|
function normalizeDirPrefix(dirPrefix) {
|
|
16
20
|
if (!dirPrefix.length) {
|
|
@@ -30,29 +34,29 @@ function nestedName(dirPrefix, parentDirectories, childName) {
|
|
|
30
34
|
return res;
|
|
31
35
|
}
|
|
32
36
|
async function publishFile(asset, dirPrefix) {
|
|
33
|
-
const [, duration] = await profiler_1.measureAsync(async () => {
|
|
37
|
+
const [, duration] = await (0, profiler_1.measureAsync)(async () => {
|
|
34
38
|
const uploadKey = nestedName(dirPrefix, asset.parentDirectories, asset.name);
|
|
35
39
|
let stream;
|
|
36
40
|
try {
|
|
37
|
-
stream = await fsAsync_1.readFileAsync(asset.fullPath);
|
|
41
|
+
stream = await (0, fsAsync_1.readFileAsync)(asset.fullPath);
|
|
38
42
|
}
|
|
39
43
|
catch (err) {
|
|
40
44
|
throw new Error(`Unable to read file '${asset.fullPath}': ${err}`);
|
|
41
45
|
}
|
|
42
46
|
try {
|
|
43
|
-
await retry_1.withRetry(() => {
|
|
47
|
+
await (0, retry_1.withRetry)(() => {
|
|
44
48
|
const statement = {
|
|
45
49
|
Bucket: config_1.default.AWS_S3_BUCKET_NAME,
|
|
46
50
|
Body: stream,
|
|
47
51
|
Key: uploadKey,
|
|
48
52
|
ContentType: asset.contentType,
|
|
49
|
-
CacheControl: config_1.default.AWS_S3_CACHE_CONTROL
|
|
53
|
+
CacheControl: config_1.default.AWS_S3_CACHE_CONTROL,
|
|
50
54
|
};
|
|
51
55
|
if (config_1.default.AWS_S3_TAG) {
|
|
52
56
|
statement.Tagging = config_1.default.AWS_S3_TAG;
|
|
53
57
|
}
|
|
54
58
|
return s3.putObject(statement).promise();
|
|
55
|
-
}, x => {
|
|
59
|
+
}, (x) => {
|
|
56
60
|
if (x.attempts <= config_1.default.UPLOAD_RETRY_ATTEMPTS) {
|
|
57
61
|
logging_1.default.info(`Error uploading '${asset.fullPath}', going to retry in ${config_1.default.UPLOAD_RETRY_DELAY_MS} ms: ${x.err}`);
|
|
58
62
|
return { retry: true, delay: config_1.default.UPLOAD_RETRY_DELAY_MS };
|
|
@@ -68,8 +72,7 @@ async function publishFile(asset, dirPrefix) {
|
|
|
68
72
|
}
|
|
69
73
|
async function publishManyAssets(assets, dirPrefix) {
|
|
70
74
|
const normalizedPrefix = normalizeDirPrefix(dirPrefix);
|
|
71
|
-
const [, duration] = await profiler_1.measureAsync(() => parallel_1.runInParallel(assets, asset => publishFile(asset, normalizedPrefix), config_1.default.UPLOAD_DEGREE_OF_PARALLELISM));
|
|
75
|
+
const [, duration] = await (0, profiler_1.measureAsync)(() => (0, parallel_1.runInParallel)(assets, (asset) => publishFile(asset, normalizedPrefix), config_1.default.UPLOAD_DEGREE_OF_PARALLELISM));
|
|
72
76
|
logging_1.default.info(`Uploaded ${assets.length} assets in ${duration.ms} ms`);
|
|
73
77
|
}
|
|
74
|
-
exports.publishManyAssets = publishManyAssets;
|
|
75
78
|
//# sourceMappingURL=assetsPublisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetsPublisher.js","sourceRoot":"","sources":["../src/assetsPublisher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assetsPublisher.js","sourceRoot":"","sources":["../src/assetsPublisher.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,12 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const envalid = require("envalid");
|
|
36
|
+
const envalid = __importStar(require("envalid"));
|
|
4
37
|
const env = envalid.cleanEnv(process.env, {
|
|
5
38
|
AWS_S3_ACCESS_KEY_ID: envalid.str(),
|
|
6
39
|
AWS_S3_ACCESS_KEY_SECRET: envalid.str(),
|
|
7
40
|
AWS_S3_BUCKET_NAME: envalid.str({ default: 'frontend.cdntpondemand.com' }),
|
|
8
41
|
AWS_S3_CACHE_CONTROL: envalid.str({ default: 'public, max-age=31557600' }),
|
|
9
|
-
AWS_S3_TAG: envalid.str({ default: '' }),
|
|
42
|
+
AWS_S3_TAG: envalid.str({ default: 'TTL=365' }),
|
|
10
43
|
SERVICE_NAME: envalid.str(),
|
|
11
44
|
SERVICE_VERSION: envalid.str(),
|
|
12
45
|
ASSETS_DIR: envalid.str(),
|
|
@@ -14,7 +47,7 @@ const env = envalid.cleanEnv(process.env, {
|
|
|
14
47
|
MAX_TOTAL_ASSET_SIZE: envalid.num({ default: 500 * 1024 }),
|
|
15
48
|
UPLOAD_RETRY_ATTEMPTS: envalid.num({ default: 3 }),
|
|
16
49
|
UPLOAD_RETRY_DELAY_MS: envalid.num({ default: 100 }),
|
|
17
|
-
UPLOAD_DEGREE_OF_PARALLELISM: envalid.num({ default: 8 })
|
|
50
|
+
UPLOAD_DEGREE_OF_PARALLELISM: envalid.num({ default: 8 }),
|
|
18
51
|
});
|
|
19
52
|
exports.default = env;
|
|
20
53
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,iDAAkC;AAkBlC,MAAM,GAAG,GAAW,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;IAChD,oBAAoB,EAAE,OAAO,CAAC,GAAG,EAAE;IACnC,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE;IACvC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,4BAA4B,EAAC,CAAC;IACxE,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,0BAA0B,EAAC,CAAC;IACxE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE;IAC3B,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE;IAC9B,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;IACzB,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IACvD,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,GAAG,IAAI,EAAC,CAAC;IACxD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;IAChD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;IAClD,4BAA4B,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;CACxD,CAAC,CAAA;AAEF,kBAAe,GAAG,CAAA"}
|
package/dist/fsAsync.js
CHANGED
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.readFileAsync = exports.statAsync = exports.readdirAsync = void 0;
|
|
3
37
|
const util_1 = require("util");
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
exports.readdirAsync = util_1.promisify(fs.readdir);
|
|
6
|
-
exports.statAsync = util_1.promisify(fs.stat);
|
|
7
|
-
exports.readFileAsync = util_1.promisify(fs.readFile);
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
exports.readdirAsync = (0, util_1.promisify)(fs.readdir);
|
|
40
|
+
exports.statAsync = (0, util_1.promisify)(fs.stat);
|
|
41
|
+
exports.readFileAsync = (0, util_1.promisify)(fs.readFile);
|
|
8
42
|
//# sourceMappingURL=fsAsync.js.map
|
package/dist/fsAsync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsAsync.js","sourceRoot":"","sources":["../src/fsAsync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fsAsync.js","sourceRoot":"","sources":["../src/fsAsync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,+BAA8B;AAC9B,uCAAwB;AAEX,QAAA,YAAY,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACpC,QAAA,SAAS,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAC9B,QAAA,aAAa,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA"}
|
package/dist/logging.js
CHANGED
package/dist/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":";;AAGA,kBAAe;IACb,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,CAAC,GAAG,IAAe;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;CACF,CAAA"}
|
package/dist/parallel.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runInParallel = runInParallel;
|
|
3
4
|
function runInParallel(inputs, action, degreeOfParallelism) {
|
|
4
5
|
return new Promise(async (resolve, reject) => {
|
|
5
6
|
let currentActivePromises = 0;
|
|
6
7
|
let completedCount = 0;
|
|
7
8
|
const queue = inputs.map((x, i) => ({ input: x, index: i }));
|
|
8
|
-
const results = inputs.map(_ => undefined);
|
|
9
|
+
const results = inputs.map((_) => undefined);
|
|
9
10
|
let rejected = false;
|
|
10
11
|
async function runTaskSafe(input, index) {
|
|
11
12
|
let res;
|
|
@@ -41,5 +42,4 @@ function runInParallel(inputs, action, degreeOfParallelism) {
|
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
|
-
exports.runInParallel = runInParallel;
|
|
45
45
|
//# sourceMappingURL=parallel.js.map
|
package/dist/parallel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../src/parallel.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../src/parallel.ts"],"names":[],"mappings":";;AAGA,sCAkDC;AAlDD,SAAgB,aAAa,CAC3B,MAA6B,EAC7B,MAAqD,EACrD,mBAA2B;IAE3B,OAAO,IAAI,OAAO,CAAY,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACtD,IAAI,qBAAqB,GAAG,CAAC,CAAA;QAC7B,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,OAAO,GAA4B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa;YACrD,IAAI,GAAY,CAAA;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAA;gBACf,MAAM,CAAC,GAAG,CAAC,CAAA;gBACX,OAAM;YACR,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;YACpB,qBAAqB,EAAE,CAAA;YACvB,cAAc,EAAE,CAAA;YAEhB,IAAI,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,CAAC,OAAoB,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YAED,IAAI,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;gBAChD,SAAS,EAAE,CAAA;YACb,CAAC;QACH,CAAC;QAED,SAAS,SAAS;YAChB,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAM;YACR,CAAC;YAED,qBAAqB,EAAE,CAAA;YACvB,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;YACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,IAAI,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;YACnE,SAAS,EAAE,CAAA;QACb,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/parallel.test.js
CHANGED
|
@@ -6,17 +6,17 @@ function createRange(number) {
|
|
|
6
6
|
}
|
|
7
7
|
it('should run all sync promises', async () => {
|
|
8
8
|
const inputs = createRange(10);
|
|
9
|
-
const fn = jest.fn(i => Promise.resolve(i));
|
|
10
|
-
const res = await parallel_1.runInParallel(inputs, fn, 3);
|
|
9
|
+
const fn = jest.fn((i) => Promise.resolve(i));
|
|
10
|
+
const res = await (0, parallel_1.runInParallel)(inputs, fn, 3);
|
|
11
11
|
expect(res).toEqual(createRange(10));
|
|
12
|
-
expect(fn).
|
|
12
|
+
expect(fn).toHaveBeenCalledTimes(10);
|
|
13
13
|
});
|
|
14
14
|
it('should run all async promises', async () => {
|
|
15
15
|
const inputs = createRange(10);
|
|
16
|
-
const fn = jest.fn(i => new Promise(resolve => process.nextTick(() => resolve(i))));
|
|
17
|
-
const res = await parallel_1.runInParallel(inputs, fn, 3);
|
|
16
|
+
const fn = jest.fn((i) => new Promise((resolve) => process.nextTick(() => resolve(i))));
|
|
17
|
+
const res = await (0, parallel_1.runInParallel)(inputs, fn, 3);
|
|
18
18
|
expect(res).toEqual(createRange(10));
|
|
19
|
-
expect(fn).
|
|
19
|
+
expect(fn).toHaveBeenCalledTimes(10);
|
|
20
20
|
});
|
|
21
21
|
it('should stop on first sync fail', async () => {
|
|
22
22
|
const inputs = createRange(10);
|
|
@@ -24,14 +24,14 @@ it('should stop on first sync fail', async () => {
|
|
|
24
24
|
const fn = jest.fn(() => {
|
|
25
25
|
throw err;
|
|
26
26
|
});
|
|
27
|
-
await expect(parallel_1.runInParallel(inputs, fn, 3)).rejects.toEqual(err);
|
|
27
|
+
await expect((0, parallel_1.runInParallel)(inputs, fn, 3)).rejects.toEqual(err);
|
|
28
28
|
expect(fn).toHaveBeenCalledTimes(3);
|
|
29
29
|
});
|
|
30
30
|
it('should stop on first async call', async () => {
|
|
31
31
|
const inputs = createRange(10);
|
|
32
32
|
const err = new Error('Test');
|
|
33
33
|
const fn = jest.fn(() => new Promise((_, reject) => process.nextTick(() => reject(err))));
|
|
34
|
-
await expect(parallel_1.runInParallel(inputs, fn, 3)).rejects.toEqual(err);
|
|
34
|
+
await expect((0, parallel_1.runInParallel)(inputs, fn, 3)).rejects.toEqual(err);
|
|
35
35
|
expect(fn).toHaveBeenCalledTimes(3);
|
|
36
36
|
});
|
|
37
37
|
//# sourceMappingURL=parallel.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel.test.js","sourceRoot":"","sources":["../src/parallel.test.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parallel.test.js","sourceRoot":"","sources":["../src/parallel.test.ts"],"names":[],"mappings":"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"}
|
package/dist/profiler.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.measureAsync = measureAsync;
|
|
3
4
|
async function measureAsync(action) {
|
|
4
5
|
const hrstart = process.hrtime.bigint();
|
|
5
6
|
const result = await action();
|
|
6
7
|
const hrend = process.hrtime.bigint();
|
|
7
|
-
const ns = hrend - hrstart;
|
|
8
|
-
return [result, { ns, ms: Number(ns /
|
|
8
|
+
const ns = Number(hrend - hrstart);
|
|
9
|
+
return [result, { ns, ms: Number(ns / 1000000) }];
|
|
9
10
|
}
|
|
10
|
-
exports.measureAsync = measureAsync;
|
|
11
11
|
//# sourceMappingURL=profiler.js.map
|
package/dist/profiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.js","sourceRoot":"","sources":["../src/profiler.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"profiler.js","sourceRoot":"","sources":["../src/profiler.ts"],"names":[],"mappings":";;AAGA,oCAMC;AANM,KAAK,UAAU,YAAY,CAAI,MAAwB;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;IAClC,OAAO,CAAC,MAAM,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAC,CAAC,CAAA;AACjD,CAAC"}
|
package/dist/retry.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withRetry = withRetry;
|
|
3
4
|
async function withRetry(action, onError) {
|
|
4
5
|
async function run(attempts) {
|
|
5
6
|
try {
|
|
@@ -7,10 +8,10 @@ async function withRetry(action, onError) {
|
|
|
7
8
|
}
|
|
8
9
|
catch (err) {
|
|
9
10
|
const nextAttempts = attempts + 1;
|
|
10
|
-
const res = onError({ err, attempts: nextAttempts });
|
|
11
|
+
const res = onError({ err: err, attempts: nextAttempts });
|
|
11
12
|
if (res.retry) {
|
|
12
13
|
if (res.delay) {
|
|
13
|
-
await new Promise(resolve => setTimeout(resolve, res.delay));
|
|
14
|
+
await new Promise((resolve) => setTimeout(resolve, res.delay));
|
|
14
15
|
}
|
|
15
16
|
return await run(nextAttempts);
|
|
16
17
|
}
|
|
@@ -19,5 +20,4 @@ async function withRetry(action, onError) {
|
|
|
19
20
|
}
|
|
20
21
|
return await run(0);
|
|
21
22
|
}
|
|
22
|
-
exports.withRetry = withRetry;
|
|
23
23
|
//# sourceMappingURL=retry.js.map
|
package/dist/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;AAeA,8BAsBC;AAtBM,KAAK,UAAU,SAAS,CAC7B,MAAwB,EACxB,OAA+D;IAE/D,KAAK,UAAU,GAAG,CAAC,QAAgB;QACjC,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,EAAE,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAC,GAAG,EAAE,GAAY,EAAE,QAAQ,EAAE,YAAY,EAAC,CAAC,CAAA;YAChE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChE,CAAC;gBACD,OAAO,MAAM,GAAG,CAAC,YAAY,CAAC,CAAA;YAChC,CAAC;YAED,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC"}
|
package/dist/unreachable.js
CHANGED
package/dist/unreachable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unreachable.js","sourceRoot":"","sources":["../src/unreachable.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"unreachable.js","sourceRoot":"","sources":["../src/unreachable.ts"],"names":[],"mappings":";;AAGA,kCAEC;AAFD,SAAgB,WAAW,CAAI,MAAa;IAC1C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"name": "Andrew Khmylov",
|
|
5
5
|
"email": "khmylov@targetprocess.com"
|
|
6
6
|
},
|
|
7
|
-
"repository": "https://
|
|
8
|
-
"version": "
|
|
7
|
+
"repository": "https://github.com/TargetProcess/sdk_publish-frontend-assets",
|
|
8
|
+
"version": "1.1.0-ci.0",
|
|
9
9
|
"description": "Script to publish assets of Targetprocess UI services (JS, CSS, images, etc.) to AWS S3",
|
|
10
10
|
"private": false,
|
|
11
11
|
"license": "ISC",
|
|
@@ -21,23 +21,22 @@
|
|
|
21
21
|
"lint:fix": "prettier --write src/**/*.ts"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/
|
|
25
|
-
"@types/
|
|
26
|
-
"@types/
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"ts-
|
|
34
|
-
"
|
|
35
|
-
"typescript": "^3.7.3"
|
|
24
|
+
"@types/jest": "^30.0.0",
|
|
25
|
+
"@types/mime-types": "^3.0.1",
|
|
26
|
+
"@types/node": "^25.6.0",
|
|
27
|
+
"husky": "^9.1.7",
|
|
28
|
+
"jest": "^30.3.0",
|
|
29
|
+
"lint-staged": "^16.4.0",
|
|
30
|
+
"prettier": "^3.8.3",
|
|
31
|
+
"rimraf": "^6.1.3",
|
|
32
|
+
"ts-jest": "^29.4.9",
|
|
33
|
+
"ts-node": "^10.9.2",
|
|
34
|
+
"typescript": "^6.0.3"
|
|
36
35
|
},
|
|
37
36
|
"dependencies": {
|
|
38
|
-
"aws-sdk": "2.
|
|
39
|
-
"envalid": "
|
|
40
|
-
"mime-types": "
|
|
37
|
+
"aws-sdk": "2.1693.0",
|
|
38
|
+
"envalid": "8.1.1",
|
|
39
|
+
"mime-types": "3.0.2"
|
|
41
40
|
},
|
|
42
41
|
"files": [
|
|
43
42
|
"bin",
|