@dcl/opscli 1.0.0-10506787171.commit-f460b87 → 1.0.0-10559981082.commit-e4ac0c1
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 +21 -6
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +35 -19
- package/dist/bin.js.map +1 -1
- package/dist/commands/check-ab-conversion.d.ts.map +1 -1
- package/dist/commands/check-ab-conversion.js +14 -14
- package/dist/commands/check-ab-conversion.js.map +1 -1
- package/dist/commands/circleci.js +10 -10
- package/dist/commands/circleci.js.map +1 -1
- package/dist/commands/concat-snapshots.js +12 -12
- package/dist/commands/concat-snapshots.js.map +1 -1
- package/dist/commands/deploy-entity.js +25 -25
- package/dist/commands/deploy-entity.js.map +1 -1
- package/dist/commands/download-entity.js +7 -7
- package/dist/commands/parameters-manager.js +22 -22
- package/dist/commands/parameters-manager.js.map +1 -1
- package/dist/commands/pointer-consistency.js +8 -8
- package/dist/commands/pointer-consistency.js.map +1 -1
- package/dist/commands/query-rollout.js +6 -6
- package/dist/commands/queue-ab-conversion-about.d.ts.map +1 -1
- package/dist/commands/queue-ab-conversion-about.js +23 -19
- package/dist/commands/queue-ab-conversion-about.js.map +1 -1
- package/dist/commands/queue-ab-conversion-snapshot.d.ts.map +1 -1
- package/dist/commands/queue-ab-conversion-snapshot.js +49 -43
- package/dist/commands/queue-ab-conversion-snapshot.js.map +1 -1
- package/dist/commands/queue-ab-conversion.d.ts.map +1 -1
- package/dist/commands/queue-ab-conversion.js +26 -20
- package/dist/commands/queue-ab-conversion.js.map +1 -1
- package/dist/commands/secret-manager.js +28 -28
- package/dist/commands/secret-manager.js.map +1 -1
- package/dist/commands/update-renderer-upm.d.ts.map +1 -1
- package/dist/commands/update-renderer-upm.js +14 -14
- package/dist/commands/update-renderer-upm.js.map +1 -1
- package/dist/commands/wearables-consistency.js +5 -5
- package/dist/commands/wearables-consistency.js.map +1 -1
- package/dist/helpers/ago.js +10 -10
- package/dist/helpers/ago.js.map +1 -1
- package/dist/helpers/assert.d.ts +1 -1
- package/dist/helpers/asset-bundles.d.ts +8 -6
- package/dist/helpers/asset-bundles.d.ts.map +1 -1
- package/dist/helpers/asset-bundles.js +21 -25
- package/dist/helpers/asset-bundles.js.map +1 -1
- package/dist/helpers/catalysts.js +4 -4
- package/dist/helpers/downloads.d.ts +1 -1
- package/dist/helpers/downloads.js +6 -6
- package/dist/helpers/env-domains.js +9 -9
- package/dist/helpers/fileWriter.d.ts.map +1 -1
- package/dist/helpers/fileWriter.js +4 -1
- package/dist/helpers/fileWriter.js.map +1 -1
- package/dist/helpers/parse-utils.js +6 -6
- package/dist/helpers/parse-utils.js.map +1 -1
- package/dist/helpers/parseEntityUrn.d.ts.map +1 -1
- package/dist/helpers/parseEntityUrn.js.map +1 -1
- package/dist/helpers/rollouts.d.ts.map +1 -1
- package/dist/helpers/rollouts.js +2 -2
- package/dist/helpers/sign-gpg.js +5 -5
- package/package.json +15 -11
package/README.md
CHANGED
|
@@ -20,24 +20,36 @@ npx @dcl/opscli queue-ab-conversion \
|
|
|
20
20
|
--pointer "110,10" \
|
|
21
21
|
--cid "110,10" \
|
|
22
22
|
--token <ACCESS_TOKEN> \
|
|
23
|
-
[--
|
|
23
|
+
[--platform webgl] \
|
|
24
|
+
[--platform mac] \
|
|
25
|
+
[--platform windows] \
|
|
26
|
+
[--ab-server https://ab-admin.decentraland.org] \
|
|
24
27
|
[--content-server https://peer.decentraland.org/content]
|
|
25
28
|
```
|
|
29
|
+
> If no platform is specified, it runs for all platforms. Also, more than one can be specified at a time.
|
|
30
|
+
|
|
31
|
+
> For dev, use `--ab-server https://ab-admin.decentraland.zone`.
|
|
26
32
|
|
|
27
33
|
### Schedule asset bundle conversion of all worlds
|
|
28
34
|
```
|
|
29
35
|
npx @dcl/opscli queue-ab-conversion-snapshot \
|
|
30
36
|
--snapshot worlds \
|
|
37
|
+
[--platform webgl] \
|
|
38
|
+
[--platform mac] \
|
|
39
|
+
[--platform windows] \
|
|
31
40
|
--token <ACCESS_TOKEN> \
|
|
32
|
-
[--ab-server https://
|
|
41
|
+
[--ab-server https://ab-admin.decentraland.org]
|
|
33
42
|
```
|
|
34
43
|
|
|
35
|
-
### Schedule asset bundle conversion of specific world by name
|
|
44
|
+
### Schedule asset bundle conversion of a specific world by name
|
|
36
45
|
```
|
|
37
46
|
npx @dcl/opscli queue-ab-conversion-snapshot \
|
|
38
47
|
--snapshot worlds \
|
|
48
|
+
[--platform webgl] \
|
|
49
|
+
[--platform mac] \
|
|
50
|
+
[--platform windows] \
|
|
39
51
|
--token <ACCESS_TOKEN> \
|
|
40
|
-
[--ab-server https://
|
|
52
|
+
[--ab-server https://ab-admin.decentraland.org]
|
|
41
53
|
[--world-name <world-name.dcl.eth>]
|
|
42
54
|
```
|
|
43
55
|
|
|
@@ -46,11 +58,14 @@ npx @dcl/opscli queue-ab-conversion-snapshot \
|
|
|
46
58
|
```
|
|
47
59
|
npx @dcl/opscli queue-ab-conversion-about \
|
|
48
60
|
--token <ACCESS_TOKEN> \
|
|
61
|
+
[--platform webgl] \
|
|
62
|
+
[--platform mac] \
|
|
63
|
+
[--platform windows] \
|
|
49
64
|
--about-url https://sdk-team-cdn.decentraland.org/ipfs/goerli-plaza-main/about \
|
|
50
|
-
[--ab-server https://
|
|
65
|
+
[--ab-server https://ab-admin.decentraland.org]
|
|
51
66
|
```
|
|
52
67
|
|
|
53
|
-
### Check status of conversion
|
|
68
|
+
### Check the status of conversion
|
|
54
69
|
|
|
55
70
|
```
|
|
56
71
|
npx @dcl/opscli check-ab-conversion \
|
package/dist/bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAiBA,qBAAa,QAAS,SAAQ,KAAK;CAAG"}
|
package/dist/bin.js
CHANGED
|
@@ -1,36 +1,52 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
exports.CliError = void 0;
|
|
8
|
+
const query_rollout_1 = __importDefault(require("./commands/query-rollout"));
|
|
9
|
+
const wearables_consistency_1 = __importDefault(require("./commands/wearables-consistency"));
|
|
10
|
+
const pointer_consistency_1 = __importDefault(require("./commands/pointer-consistency"));
|
|
11
|
+
const update_renderer_upm_1 = __importDefault(require("./commands/update-renderer-upm"));
|
|
12
|
+
const secret_manager_1 = __importDefault(require("./commands/secret-manager"));
|
|
13
|
+
const parameters_manager_1 = __importDefault(require("./commands/parameters-manager"));
|
|
14
|
+
const download_entity_1 = __importDefault(require("./commands/download-entity"));
|
|
15
|
+
const deploy_entity_1 = __importDefault(require("./commands/deploy-entity"));
|
|
16
|
+
const queue_ab_conversion_1 = __importDefault(require("./commands/queue-ab-conversion"));
|
|
17
|
+
const queue_ab_conversion_snapshot_1 = __importDefault(require("./commands/queue-ab-conversion-snapshot"));
|
|
18
|
+
const queue_ab_conversion_about_1 = __importDefault(require("./commands/queue-ab-conversion-about"));
|
|
19
|
+
const check_ab_conversion_1 = __importDefault(require("./commands/check-ab-conversion"));
|
|
20
|
+
const circleci_1 = __importDefault(require("./commands/circleci"));
|
|
21
|
+
const concat_snapshots_1 = __importDefault(require("./commands/concat-snapshots"));
|
|
5
22
|
class CliError extends Error {
|
|
6
23
|
}
|
|
7
24
|
exports.CliError = CliError;
|
|
8
25
|
const commands = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
'query-rollout': query_rollout_1.default,
|
|
27
|
+
'wearables-consistency': wearables_consistency_1.default,
|
|
28
|
+
'pointer-consistency': pointer_consistency_1.default,
|
|
29
|
+
'update-renderer-upm': update_renderer_upm_1.default,
|
|
30
|
+
'secret-manager': secret_manager_1.default,
|
|
31
|
+
'parameters-manager': parameters_manager_1.default,
|
|
32
|
+
'download-entity': download_entity_1.default,
|
|
33
|
+
'deploy-entity': deploy_entity_1.default,
|
|
34
|
+
'queue-ab-conversion': queue_ab_conversion_1.default,
|
|
35
|
+
'queue-ab-conversion-snapshot': queue_ab_conversion_snapshot_1.default,
|
|
36
|
+
'queue-ab-conversion-about': queue_ab_conversion_about_1.default,
|
|
37
|
+
'check-ab-conversion': check_ab_conversion_1.default,
|
|
38
|
+
circleci: circleci_1.default,
|
|
39
|
+
'concat-snapshots': concat_snapshots_1.default
|
|
23
40
|
};
|
|
24
41
|
async function main() {
|
|
25
42
|
const commandName = process.argv[2];
|
|
26
43
|
if (!commandName || !commands[commandName]) {
|
|
27
|
-
throw new CliError(
|
|
44
|
+
throw new CliError('Invalid command. Possible are:\n' +
|
|
28
45
|
Object.keys(commands)
|
|
29
|
-
.map(($) =>
|
|
30
|
-
.join(
|
|
46
|
+
.map(($) => ' npx @dcl/opscli ' + $ + '\n')
|
|
47
|
+
.join(''));
|
|
31
48
|
}
|
|
32
|
-
|
|
33
|
-
await fn();
|
|
49
|
+
await commands[commandName]();
|
|
34
50
|
}
|
|
35
51
|
main().catch((err) => {
|
|
36
52
|
if (err instanceof CliError) {
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;;;;AAEA,6EAAmD;AACnD,6FAAmE;AACnE,yFAA+D;AAC/D,yFAA8D;AAC9D,+EAAqD;AACrD,uFAA6D;AAC7D,iFAAuD;AACvD,6EAAmD;AACnD,yFAA8D;AAC9D,2GAA+E;AAC/E,qGAAyE;AACzE,yFAA8D;AAC9D,mEAA0C;AAC1C,mFAAyD;AAEzD,MAAa,QAAS,SAAQ,KAAK;CAAG;AAAtC,4BAAsC;AAEtC,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,uBAAY;IAC7B,uBAAuB,EAAE,+BAAoB;IAC7C,qBAAqB,EAAE,6BAAkB;IACzC,qBAAqB,EAAE,6BAAiB;IACxC,gBAAgB,EAAE,wBAAa;IAC/B,oBAAoB,EAAE,4BAAiB;IACvC,iBAAiB,EAAE,yBAAc;IACjC,eAAe,EAAE,uBAAY;IAC7B,qBAAqB,EAAE,6BAAiB;IACxC,8BAA8B,EAAE,sCAAyB;IACzD,2BAA2B,EAAE,mCAAsB;IACnD,qBAAqB,EAAE,6BAAiB;IACxC,QAAQ,EAAE,kBAAQ;IAClB,kBAAkB,EAAE,0BAAe;CACpC,CAAA;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA0B,CAAA;IAE5D,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC1C,MAAM,IAAI,QAAQ,CAChB,kCAAkC;YAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC3C,IAAI,CAAC,EAAE,CAAC,CACd,CAAA;KACF;IAED,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAA;AAC/B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,GAAG,YAAY,QAAQ,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KACzB;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-ab-conversion.d.ts","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":";AAMA,
|
|
1
|
+
{"version":3,"file":"check-ab-conversion.d.ts","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":";AAMA,wBAmEC"}
|
|
@@ -10,16 +10,16 @@ const assert_1 = require("../helpers/assert");
|
|
|
10
10
|
const downloads_1 = require("../helpers/downloads");
|
|
11
11
|
exports.default = async () => {
|
|
12
12
|
const args = (0, arg_1.default)({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
'--cid': [String],
|
|
14
|
+
'--pointer': [String],
|
|
15
|
+
'--content-server': String,
|
|
16
|
+
'--ab-cdn': String
|
|
17
17
|
});
|
|
18
|
-
const pointers = args[
|
|
19
|
-
const cids = args[
|
|
20
|
-
const abServer = args[
|
|
21
|
-
(0, assert_1.assert)(pointers.length > 0 || cids.length > 0,
|
|
22
|
-
const contentUrl = (args[
|
|
18
|
+
const pointers = args['--pointer'] || [];
|
|
19
|
+
const cids = args['--cid'] || [];
|
|
20
|
+
const abServer = args['--ab-cdn'] || 'https://ab-cdn.decentraland.org';
|
|
21
|
+
(0, assert_1.assert)(pointers.length > 0 || cids.length > 0, '--pointer or --cid are required');
|
|
22
|
+
const contentUrl = (args['--content-server'] || 'https://peer.decentraland.org/content').replace(/\/$/, '');
|
|
23
23
|
const entityIdsToConvert = [];
|
|
24
24
|
if (pointers.length) {
|
|
25
25
|
for (const entity of await (0, downloads_1.getActiveEntities)(pointers, contentUrl)) {
|
|
@@ -38,7 +38,7 @@ exports.default = async () => {
|
|
|
38
38
|
if (!promise.ok) {
|
|
39
39
|
const failManifest = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_failed.json`);
|
|
40
40
|
if (failManifest.ok) {
|
|
41
|
-
const manifest = await failManifest.json();
|
|
41
|
+
const manifest = (await failManifest.json());
|
|
42
42
|
console.log(`🟠 ${entityId} (${pointers[0]}): Failed. Version=${manifest.version} ExitCode=${manifest.exitCode} Date=${manifest.date} Log=${manifest.log}`);
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
@@ -46,7 +46,7 @@ exports.default = async () => {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
const manifest = await promise.json();
|
|
49
|
+
const manifest = (await promise.json());
|
|
50
50
|
console.log(`🟢 ${entityId} (${pointers[0]}): Version=${manifest.version} ExitCode=${manifest.exitCode} Date=${manifest.date}`);
|
|
51
51
|
}
|
|
52
52
|
};
|
|
@@ -54,11 +54,11 @@ exports.default = async () => {
|
|
|
54
54
|
const result = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}.json`);
|
|
55
55
|
const resultWindows = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_windows.json`);
|
|
56
56
|
const resultMac = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_mac.json`);
|
|
57
|
-
console.log(
|
|
57
|
+
console.log('WEBGL');
|
|
58
58
|
await check(entityId, pointers, result);
|
|
59
|
-
console.log(
|
|
59
|
+
console.log('WINDOWS');
|
|
60
60
|
await check(entityId, pointers, resultWindows);
|
|
61
|
-
console.log(
|
|
61
|
+
console.log('MAC');
|
|
62
62
|
await check(entityId, pointers, resultMac);
|
|
63
63
|
}
|
|
64
64
|
console.log(`Finished!`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-ab-conversion.js","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":";;;;;AAAA,0CAA6C;AAC7C,8CAAqB;AACrB,mCAAwC;AACxC,8CAA0C;AAC1C,oDAAwD;AAExD,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM;QAC1B,UAAU,EAAE,MAAM;KACnB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,iCAAiC,CAAA;IAEtE,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,iCAAiC,CAAC,CAAA;IAEjF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,uCAAuC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE3G,MAAM,kBAAkB,GAA+C,EAAE,CAAA;IAEzE,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,KAAK,MAAM,MAAM,IAAI,MAAM,IAAA,6BAAiB,EAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;YAClE,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;SAC5E;KACF;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,IAAI,gBAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,gBAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChD,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SAC5D;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,CAAA;SACzD;KACF;IAED,MAAM,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,QAAkB,EAAE,OAAiB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"check-ab-conversion.js","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,23 +10,23 @@ const env_domains_1 = require("../helpers/env-domains");
|
|
|
10
10
|
const sign_gpg_1 = require("../helpers/sign-gpg");
|
|
11
11
|
async function default_1() {
|
|
12
12
|
const args = (0, arg_1.default)({
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
'--repo': String,
|
|
14
|
+
'--branch': String
|
|
15
15
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const envDomain = (0, env_domains_1.tldFromEnv)(
|
|
16
|
+
const repo = (0, assert_1.assert)(args['--repo'], '--repo is missing');
|
|
17
|
+
const branch = (0, assert_1.assert)(args['--branch'], '--branch is missing');
|
|
18
|
+
const envDomain = (0, env_domains_1.tldFromEnv)('prd');
|
|
19
19
|
const signed = await (0, sign_gpg_1.signGpgCleartext)(`${repo}\n${branch}`);
|
|
20
|
-
console.log(
|
|
20
|
+
console.log('> Starting the pipeline...');
|
|
21
21
|
const res = await (0, undici_1.fetch)(`https://ops-lambdas.decentraland.${envDomain}/circleci`, {
|
|
22
|
-
method:
|
|
23
|
-
body: signed.toString()
|
|
22
|
+
method: 'POST',
|
|
23
|
+
body: signed.toString()
|
|
24
24
|
});
|
|
25
25
|
const response = await res.text();
|
|
26
|
-
if (res.status
|
|
26
|
+
if (res.status !== 200) {
|
|
27
27
|
throw new Error(`An error has occured while uploading the secret: ${response}`);
|
|
28
28
|
}
|
|
29
|
-
console.log(
|
|
29
|
+
console.log(' OK! Response:');
|
|
30
30
|
console.log(response);
|
|
31
31
|
}
|
|
32
32
|
exports.default = default_1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleci.js","sourceRoot":"","sources":["../../src/commands/circleci.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,mCAA8B;AAC9B,8CAA0C;AAC1C,wDAAmD;AACnD,kDAAsD;AAEvC,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;KACnB,CAAC,CAAA;IAEF,
|
|
1
|
+
{"version":3,"file":"circleci.js","sourceRoot":"","sources":["../../src/commands/circleci.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,mCAA8B;AAC9B,8CAA0C;AAC1C,wDAAmD;AACnD,kDAAsD;AAEvC,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;KACnB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,KAAK,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA;IAE3D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,oCAAoC,SAAS,WAAW,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,EAAE,CAAC,CAAA;KAChF;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvB,CAAC;AA3BD,4BA2BC"}
|
|
@@ -18,7 +18,7 @@ async function* streamEntitiesFromSnapshot(contentUrl, snapshotHash) {
|
|
|
18
18
|
console.log(` File length ${(len / 1024 / 1024).toFixed(1)}MB`);
|
|
19
19
|
let currentCursor = 0;
|
|
20
20
|
let nextCursor = 0;
|
|
21
|
-
while ((nextCursor = jsonNd.indexOf('\n', currentCursor + 1))
|
|
21
|
+
while ((nextCursor = jsonNd.indexOf('\n', currentCursor + 1)) !== -1) {
|
|
22
22
|
const line = jsonNd.substring(currentCursor, nextCursor);
|
|
23
23
|
currentCursor = nextCursor;
|
|
24
24
|
if (line.trim().startsWith('{')) {
|
|
@@ -29,23 +29,23 @@ async function* streamEntitiesFromSnapshot(contentUrl, snapshotHash) {
|
|
|
29
29
|
const ALL_TYPES_ARG = 'all-types';
|
|
30
30
|
exports.default = async () => {
|
|
31
31
|
const args = (0, arg_1.default)({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
'--entity-type': String,
|
|
33
|
+
'--content-server': String,
|
|
34
|
+
'--output-file': String
|
|
35
35
|
});
|
|
36
|
-
const entityType = args[
|
|
37
|
-
(0, assert_1.assert)(!!entityType,
|
|
38
|
-
const outputFile = args[
|
|
39
|
-
(0, assert_1.assert)(!!outputFile,
|
|
36
|
+
const entityType = args['--entity-type'];
|
|
37
|
+
(0, assert_1.assert)(!!entityType, '--entity-type is missing');
|
|
38
|
+
const outputFile = args['--output-file'];
|
|
39
|
+
(0, assert_1.assert)(!!outputFile, '--output-file is missing');
|
|
40
40
|
console.log(`> Parameters:`);
|
|
41
|
-
const contentUrl = (args[
|
|
41
|
+
const contentUrl = (args['--content-server'] || 'https://peer.decentraland.zone/content').replace(/\/$/, '');
|
|
42
42
|
console.log(` Entity type: ${entityType}`);
|
|
43
43
|
console.log(` Content server: ${contentUrl}`);
|
|
44
44
|
console.log(`> Fetching snapshots ${contentUrl}/snapshots`);
|
|
45
45
|
const snapshotsReq = await (0, undici_1.fetch)(`${contentUrl}/snapshots`);
|
|
46
46
|
if (!snapshotsReq.ok)
|
|
47
47
|
throw new bin_1.CliError(`Invalid snapshot response from ${contentUrl}/snapshot`);
|
|
48
|
-
const snapshotsJson = await snapshotsReq.json();
|
|
48
|
+
const snapshotsJson = (await snapshotsReq.json());
|
|
49
49
|
for (const snapshot of snapshotsJson) {
|
|
50
50
|
if (!('hash' in snapshot)) {
|
|
51
51
|
throw new bin_1.CliError(`Invalid snapshot ${snapshot}`);
|
|
@@ -54,12 +54,12 @@ exports.default = async () => {
|
|
|
54
54
|
const snapshotHashes = snapshotsJson.map((s) => s.hash);
|
|
55
55
|
console.log(snapshotHashes);
|
|
56
56
|
const newSnapshotFile = await (0, fileWriter_1.createFileWriter)(outputFile || '');
|
|
57
|
-
newSnapshotFile.appendDebounced('### Decentraland json snapshot\n');
|
|
57
|
+
await newSnapshotFile.appendDebounced('### Decentraland json snapshot\n');
|
|
58
58
|
for (const snapshotHash of snapshotHashes) {
|
|
59
59
|
for await (const snapshotElem of streamEntitiesFromSnapshot(contentUrl, snapshotHash)) {
|
|
60
60
|
const entity = JSON.parse(snapshotElem);
|
|
61
61
|
if (entityType === ALL_TYPES_ARG || entity.entityType === entityType) {
|
|
62
|
-
newSnapshotFile.appendDebounced(JSON.stringify(entity) + '\n');
|
|
62
|
+
await newSnapshotFile.appendDebounced(JSON.stringify(entity) + '\n');
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat-snapshots.js","sourceRoot":"","sources":["../../src/commands/concat-snapshots.ts"],"names":[],"mappings":";;;;;AACA,8CAAqB;AACrB,mCAA8B;AAC9B,gCAAiC;AACjC,8CAA0C;AAC1C,sDAAwD;AAExD,KAAK,SAAS,CAAC,CAAC,0BAA0B,CAAC,UAAkB,EAAE,YAAoB;IACjF,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,aAAa,YAAY,EAAE,CAAC,CAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,cAAK,EAAC,GAAG,UAAU,aAAa,YAAY,EAAE,CAAC,CAAA;IACvE,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,MAAM,IAAI,cAAQ,CAAC,yBAAyB,UAAU,aAAa,YAAY,EAAE,CAAC,CAAA;IACrG,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;IACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAChE,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"concat-snapshots.js","sourceRoot":"","sources":["../../src/commands/concat-snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,22 +18,22 @@ const recurse_folder_1 = require("../helpers/recurse-folder");
|
|
|
18
18
|
const fetch_component_1 = require("@well-known-components/fetch-component");
|
|
19
19
|
exports.default = async () => {
|
|
20
20
|
const args = (0, arg_1.default)({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
'--folder': String,
|
|
22
|
+
'--private-key': String,
|
|
23
|
+
'--entity-type': String,
|
|
24
|
+
'--pointer': [String],
|
|
25
|
+
'--content-server': String,
|
|
26
|
+
'--dry': Boolean
|
|
27
27
|
});
|
|
28
|
-
const folder = path_1.default.resolve(args[
|
|
29
|
-
const entityType = args[
|
|
30
|
-
(0, console_1.assert)(entityType,
|
|
31
|
-
const pointers = args[
|
|
32
|
-
(0, console_1.assert)(pointers.length > 0,
|
|
28
|
+
const folder = path_1.default.resolve(args['--folder'] || process.cwd());
|
|
29
|
+
const entityType = args['--entity-type'];
|
|
30
|
+
(0, console_1.assert)(entityType, 'An --entity-type must be provided');
|
|
31
|
+
const pointers = args['--pointer'];
|
|
32
|
+
(0, console_1.assert)(pointers.length > 0, '--pointer is missing');
|
|
33
33
|
console.log(`> Deploying entity in folder: ${folder}`);
|
|
34
34
|
console.log(` Entity type: ${entityType}`);
|
|
35
|
-
console.log(` Pointers: ${pointers.join(
|
|
36
|
-
const contentUrl = (args[
|
|
35
|
+
console.log(` Pointers: ${pointers.join(',')}`);
|
|
36
|
+
const contentUrl = (args['--content-server'] || 'https://peer.decentraland.org/content').replace(/\/$/, '');
|
|
37
37
|
console.log(` Content server: ${contentUrl}`);
|
|
38
38
|
const fetch = (0, fetch_component_1.createFetchComponent)();
|
|
39
39
|
const client = (0, dcl_catalyst_client_1.createContentClient)({ url: contentUrl, fetcher: fetch });
|
|
@@ -41,13 +41,13 @@ exports.default = async () => {
|
|
|
41
41
|
console.log(` Content files:`);
|
|
42
42
|
for await (const fullPath of (0, recurse_folder_1.recurseFolder)(folder)) {
|
|
43
43
|
// NOTE: this may not work on windows machines because of path separators
|
|
44
|
-
|
|
45
|
-
if (file.startsWith(
|
|
44
|
+
const file = path_1.default.relative(folder, fullPath);
|
|
45
|
+
if (file.startsWith('.'))
|
|
46
46
|
continue; // ignore dotfiles and git
|
|
47
47
|
console.log(` - ${file}`);
|
|
48
48
|
files.set(file, await (0, promises_1.readFile)(fullPath));
|
|
49
49
|
}
|
|
50
|
-
const metadataPath = path_1.default.join(folder,
|
|
50
|
+
const metadataPath = path_1.default.join(folder, '.metadata');
|
|
51
51
|
if (!(0, fs_1.existsSync)(metadataPath)) {
|
|
52
52
|
throw new bin_1.CliError(`File ${metadataPath} doesn't exist`);
|
|
53
53
|
}
|
|
@@ -58,27 +58,27 @@ exports.default = async () => {
|
|
|
58
58
|
pointers,
|
|
59
59
|
files,
|
|
60
60
|
metadata,
|
|
61
|
-
timestamp: new Date().getTime()
|
|
61
|
+
timestamp: new Date().getTime()
|
|
62
62
|
});
|
|
63
63
|
console.log(` EntityId: ${deploymentEntity.entityId}`);
|
|
64
64
|
console.log(` Hashes: ${Array.from(deploymentEntity.files.keys()).join(',')}`);
|
|
65
|
-
const privateKey = args[
|
|
66
|
-
(0, console_1.assert)(privateKey,
|
|
67
|
-
const sig = (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(privateKey),
|
|
68
|
-
const address = (0, crypto_2.recoverAddressFromEthSignature)(sig,
|
|
65
|
+
const privateKey = args['--private-key'] || process.env.PRIVATE_KEY;
|
|
66
|
+
(0, console_1.assert)(privateKey, 'Missing --private-key or PRIVATE_KEY env var');
|
|
67
|
+
const sig = (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(privateKey), 'test');
|
|
68
|
+
const address = (0, crypto_2.recoverAddressFromEthSignature)(sig, 'test');
|
|
69
69
|
console.log(` Signer address: ${address}`);
|
|
70
70
|
const messageHash = crypto_1.Authenticator.createEthereumMessageHash(deploymentEntity.entityId);
|
|
71
|
-
const signature = eth_crypto_1.default.sign(privateKey, Buffer.from(messageHash).toString(
|
|
71
|
+
const signature = eth_crypto_1.default.sign(privateKey, Buffer.from(messageHash).toString('hex'));
|
|
72
72
|
const authChain = crypto_1.Authenticator.createSimpleAuthChain(deploymentEntity.entityId, address, signature);
|
|
73
73
|
console.log(` Auth chain: ${JSON.stringify(authChain)}`);
|
|
74
|
-
if (!args[
|
|
74
|
+
if (!args['--dry']) {
|
|
75
75
|
try {
|
|
76
76
|
const result = await client.deploy({
|
|
77
77
|
entityId: deploymentEntity.entityId,
|
|
78
78
|
authChain: authChain,
|
|
79
|
-
files: deploymentEntity.files
|
|
79
|
+
files: deploymentEntity.files
|
|
80
80
|
});
|
|
81
|
-
console.log(
|
|
81
|
+
console.log('> Done. Result:');
|
|
82
82
|
console.log(result);
|
|
83
83
|
}
|
|
84
84
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-entity.js","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":";;;;;AAAA,0CAAsC;AACtC,4DAAkC;AAClC,6DAA4E;AAC5E,wCAA2C;AAC3C,6CAAwC;AACxC,oDAAiF;AACjF,gDAAuB;AACvB,2BAA+B;AAC/B,gCAAiC;AACjC,8CAAqB;AACrB,qCAAgC;AAChC,8DAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"deploy-entity.js","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,14 +32,14 @@ const assert_1 = require("../helpers/assert");
|
|
|
32
32
|
const downloads_1 = require("../helpers/downloads");
|
|
33
33
|
exports.default = async () => {
|
|
34
34
|
const args = (0, arg_1.default)({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
'--pointer': [String],
|
|
36
|
+
'--content-server': String,
|
|
37
|
+
'--out': String
|
|
38
38
|
});
|
|
39
|
-
const pointers = args[
|
|
40
|
-
(0, assert_1.assert)(pointers.length > 0,
|
|
41
|
-
const server = (args[
|
|
42
|
-
const out = args[
|
|
39
|
+
const pointers = args['--pointer'];
|
|
40
|
+
(0, assert_1.assert)(pointers.length > 0, '--pointer is missing');
|
|
41
|
+
const server = (args['--content-server'] || 'https://peer.decentraland.org/content').replace(/\/$/, '');
|
|
42
|
+
const out = args['--out'] || process.cwd();
|
|
43
43
|
const entities = await (0, downloads_1.getActiveEntities)(pointers, server);
|
|
44
44
|
for (const entity of entities) {
|
|
45
45
|
const destFolder = (0, path_1.join)((0, path_1.resolve)(out), entity.pointers[0]) + path_1.default.sep;
|
|
@@ -10,46 +10,46 @@ const env_domains_1 = require("../helpers/env-domains");
|
|
|
10
10
|
const sign_gpg_1 = require("../helpers/sign-gpg");
|
|
11
11
|
async function default_1() {
|
|
12
12
|
const args = (0, arg_1.default)({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
'--env': String,
|
|
14
|
+
'--name': String,
|
|
15
|
+
'--value': String,
|
|
16
|
+
'--update': Boolean,
|
|
17
|
+
'--delete': Boolean
|
|
18
18
|
});
|
|
19
|
-
const env = (0, assert_1.assert)(args[
|
|
20
|
-
const name = (0, assert_1.assert)(args[
|
|
21
|
-
const hasValue = !!args[
|
|
22
|
-
const hasUpdate = !!args[
|
|
23
|
-
const hasDelete = !!args[
|
|
19
|
+
const env = (0, assert_1.assert)(args['--env'], '--env is missing');
|
|
20
|
+
const name = (0, assert_1.assert)(args['--name'], '--name is missing');
|
|
21
|
+
const hasValue = !!args['--value'];
|
|
22
|
+
const hasUpdate = !!args['--update'];
|
|
23
|
+
const hasDelete = !!args['--delete'];
|
|
24
24
|
if (hasDelete && hasValue) {
|
|
25
|
-
throw new Error(
|
|
25
|
+
throw new Error('Cannot use --delete with --value');
|
|
26
26
|
}
|
|
27
27
|
else if (!hasDelete && !hasValue) {
|
|
28
|
-
throw new Error(
|
|
28
|
+
throw new Error('You must provide either --value or --delete');
|
|
29
29
|
}
|
|
30
30
|
if (hasDelete && hasUpdate) {
|
|
31
|
-
throw new Error(
|
|
31
|
+
throw new Error('Cannot use --delete with --update');
|
|
32
32
|
}
|
|
33
|
-
const value = hasValue ? args[
|
|
34
|
-
const fileContent = [env, name, value].join(
|
|
33
|
+
const value = hasValue ? args['--value'] : '';
|
|
34
|
+
const fileContent = [env, name, value].join('\n');
|
|
35
35
|
const envDomain = (0, env_domains_1.tldFromEnv)(env);
|
|
36
36
|
const signed = await (0, sign_gpg_1.signGpgCleartext)(fileContent);
|
|
37
37
|
if (hasDelete)
|
|
38
|
-
console.log(
|
|
38
|
+
console.log('> Deleting the parameter...');
|
|
39
39
|
else
|
|
40
|
-
console.log(
|
|
40
|
+
console.log('> Uploading the parameter...');
|
|
41
41
|
const res = await (0, undici_1.fetch)(`https://ops-lambdas.decentraland.${envDomain}/parameters-manager`, {
|
|
42
|
-
method: hasDelete ?
|
|
43
|
-
body: signed.toString()
|
|
42
|
+
method: hasDelete ? 'DELETE' : hasUpdate ? 'PUT' : 'POST',
|
|
43
|
+
body: signed.toString()
|
|
44
44
|
});
|
|
45
45
|
const response = await res.text();
|
|
46
|
-
if (res.status
|
|
47
|
-
if (response.includes(
|
|
46
|
+
if (res.status !== 200) {
|
|
47
|
+
if (response.includes('ParameterAlreadyExists')) {
|
|
48
48
|
throw new Error("That parameter already exists, please use '--update' if you want to update it");
|
|
49
49
|
}
|
|
50
50
|
throw new Error(`An error has occured while uploading the secret: ${response}`);
|
|
51
51
|
}
|
|
52
|
-
console.log(
|
|
52
|
+
console.log(' OK! Response:');
|
|
53
53
|
console.log(response);
|
|
54
54
|
}
|
|
55
55
|
exports.default = default_1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters-manager.js","sourceRoot":"","sources":["../../src/commands/parameters-manager.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,mCAA8B;AAC9B,8CAA0C;AAC1C,wDAAmD;AACnD,kDAAsD;AAEvC,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEpC,IAAI,SAAS,IAAI,QAAQ,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;SAAM,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IAED,IAAI,SAAS,IAAI,SAAS,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE9C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjD,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC,WAAW,CAAC,CAAA;IAElD,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;;QACpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,oCAAoC,SAAS,qBAAqB,EAAE;QAC1F,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACzD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"parameters-manager.js","sourceRoot":"","sources":["../../src/commands/parameters-manager.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AACrB,mCAA8B;AAC9B,8CAA0C;AAC1C,wDAAmD;AACnD,kDAAsD;AAEvC,KAAK;IAClB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEpC,IAAI,SAAS,IAAI,QAAQ,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;SAAM,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IAED,IAAI,SAAS,IAAI,SAAS,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;KACrD;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE9C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjD,MAAM,SAAS,GAAG,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC,WAAW,CAAC,CAAA;IAElD,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;;QACpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,oCAAoC,SAAS,qBAAqB,EAAE;QAC1F,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACzD,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAA;SACjG;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,QAAQ,EAAE,CAAC,CAAA;KAChF;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvB,CAAC;AAtDD,4BAsDC"}
|
|
@@ -9,9 +9,9 @@ const assert_1 = require("../helpers/assert");
|
|
|
9
9
|
const catalysts_1 = require("../helpers/catalysts");
|
|
10
10
|
async function default_1() {
|
|
11
11
|
const args = (0, arg_1.default)({
|
|
12
|
-
|
|
12
|
+
'--pointer': String
|
|
13
13
|
});
|
|
14
|
-
let pointer = (0, assert_1.assert)(args[
|
|
14
|
+
let pointer = (0, assert_1.assert)(args['--pointer'], '--pointer is missing');
|
|
15
15
|
if (pointer.startsWith('\\')) {
|
|
16
16
|
pointer = pointer.substring(1);
|
|
17
17
|
}
|
|
@@ -20,12 +20,12 @@ async function default_1() {
|
|
|
20
20
|
console.log(`> Fetching pointer in every catalyst: ${JSON.stringify(pointer)}`);
|
|
21
21
|
const timestamps = [];
|
|
22
22
|
const entityIds = new Set();
|
|
23
|
-
for (
|
|
23
|
+
for (const { baseUrl } of catalysts) {
|
|
24
24
|
try {
|
|
25
25
|
const result = await (0, catalysts_1.fetchEntityByPointer)(baseUrl, pointer);
|
|
26
26
|
const date = new Date(result.deployments[0]?.localTimestamp);
|
|
27
|
-
console.log(
|
|
28
|
-
result.baseUrl.padEnd(45,
|
|
27
|
+
console.log(' ' +
|
|
28
|
+
result.baseUrl.padEnd(45, ' ') +
|
|
29
29
|
date.toISOString() +
|
|
30
30
|
` (${(0, ago_1.ago)(date)}) ` +
|
|
31
31
|
result.deployments[0]?.entityId);
|
|
@@ -33,15 +33,15 @@ async function default_1() {
|
|
|
33
33
|
entityIds.add(result.deployments[0]?.entityId);
|
|
34
34
|
}
|
|
35
35
|
catch (err) {
|
|
36
|
-
console.log(
|
|
36
|
+
console.log(' ' + baseUrl.padEnd(45, ' ') + err.message);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
timestamps.sort();
|
|
40
40
|
const minDate = timestamps[0];
|
|
41
41
|
const maxDate = timestamps[timestamps.length - 1];
|
|
42
|
-
console.log(`> PropagationTime: ${Math.floor((maxDate.getTime() - minDate.getTime()) / 1000)} seconds `.padEnd(47,
|
|
42
|
+
console.log(`> PropagationTime: ${Math.floor((maxDate.getTime() - minDate.getTime()) / 1000)} seconds `.padEnd(47, ' ') +
|
|
43
43
|
`${minDate.toISOString()} -> ${maxDate.toISOString()}`);
|
|
44
|
-
console.log(`> Convergent: ${entityIds.size
|
|
44
|
+
console.log(`> Convergent: ${entityIds.size === 1 ? '✅' : '❌'}`);
|
|
45
45
|
}
|
|
46
46
|
exports.default = default_1;
|
|
47
47
|
//# sourceMappingURL=pointer-consistency.js.map
|