@dcl/opscli 1.0.0-10506215515.commit-084d41d
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 +176 -0
- package/dist/bin.d.ts +4 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +44 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/check-ab-conversion.d.ts +3 -0
- package/dist/commands/check-ab-conversion.d.ts.map +1 -0
- package/dist/commands/check-ab-conversion.js +66 -0
- package/dist/commands/check-ab-conversion.js.map +1 -0
- package/dist/commands/circleci.d.ts +2 -0
- package/dist/commands/circleci.d.ts.map +1 -0
- package/dist/commands/circleci.js +33 -0
- package/dist/commands/circleci.js.map +1 -0
- package/dist/commands/concat-snapshots.d.ts +3 -0
- package/dist/commands/concat-snapshots.d.ts.map +1 -0
- package/dist/commands/concat-snapshots.js +69 -0
- package/dist/commands/concat-snapshots.js.map +1 -0
- package/dist/commands/deploy-entity.d.ts +3 -0
- package/dist/commands/deploy-entity.d.ts.map +1 -0
- package/dist/commands/deploy-entity.js +88 -0
- package/dist/commands/deploy-entity.js.map +1 -0
- package/dist/commands/download-entity.d.ts +3 -0
- package/dist/commands/download-entity.d.ts.map +1 -0
- package/dist/commands/download-entity.js +46 -0
- package/dist/commands/download-entity.js.map +1 -0
- package/dist/commands/parameters-manager.d.ts +2 -0
- package/dist/commands/parameters-manager.d.ts.map +1 -0
- package/dist/commands/parameters-manager.js +56 -0
- package/dist/commands/parameters-manager.js.map +1 -0
- package/dist/commands/pointer-consistency.d.ts +2 -0
- package/dist/commands/pointer-consistency.d.ts.map +1 -0
- package/dist/commands/pointer-consistency.js +47 -0
- package/dist/commands/pointer-consistency.js.map +1 -0
- package/dist/commands/query-rollout.d.ts +3 -0
- package/dist/commands/query-rollout.d.ts.map +1 -0
- package/dist/commands/query-rollout.js +34 -0
- package/dist/commands/query-rollout.js.map +1 -0
- package/dist/commands/queue-ab-conversion-about.d.ts +3 -0
- package/dist/commands/queue-ab-conversion-about.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion-about.js +57 -0
- package/dist/commands/queue-ab-conversion-about.js.map +1 -0
- package/dist/commands/queue-ab-conversion-snapshot.d.ts +3 -0
- package/dist/commands/queue-ab-conversion-snapshot.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion-snapshot.js +223 -0
- package/dist/commands/queue-ab-conversion-snapshot.js.map +1 -0
- package/dist/commands/queue-ab-conversion.d.ts +3 -0
- package/dist/commands/queue-ab-conversion.d.ts.map +1 -0
- package/dist/commands/queue-ab-conversion.js +65 -0
- package/dist/commands/queue-ab-conversion.js.map +1 -0
- package/dist/commands/secret-manager.d.ts +2 -0
- package/dist/commands/secret-manager.d.ts.map +1 -0
- package/dist/commands/secret-manager.js +73 -0
- package/dist/commands/secret-manager.js.map +1 -0
- package/dist/commands/update-renderer-upm.d.ts +3 -0
- package/dist/commands/update-renderer-upm.d.ts.map +1 -0
- package/dist/commands/update-renderer-upm.js +49 -0
- package/dist/commands/update-renderer-upm.js.map +1 -0
- package/dist/commands/wearables-consistency.d.ts +2 -0
- package/dist/commands/wearables-consistency.d.ts.map +1 -0
- package/dist/commands/wearables-consistency.js +28 -0
- package/dist/commands/wearables-consistency.js.map +1 -0
- package/dist/helpers/ago.d.ts +2 -0
- package/dist/helpers/ago.d.ts.map +1 -0
- package/dist/helpers/ago.js +35 -0
- package/dist/helpers/ago.js.map +1 -0
- package/dist/helpers/assert.d.ts +2 -0
- package/dist/helpers/assert.d.ts.map +1 -0
- package/dist/helpers/assert.js +10 -0
- package/dist/helpers/assert.js.map +1 -0
- package/dist/helpers/asset-bundles.d.ts +9 -0
- package/dist/helpers/asset-bundles.d.ts.map +1 -0
- package/dist/helpers/asset-bundles.js +44 -0
- package/dist/helpers/asset-bundles.js.map +1 -0
- package/dist/helpers/catalysts.d.ts +30 -0
- package/dist/helpers/catalysts.d.ts.map +1 -0
- package/dist/helpers/catalysts.js +26 -0
- package/dist/helpers/catalysts.js.map +1 -0
- package/dist/helpers/downloads.d.ts +6 -0
- package/dist/helpers/downloads.d.ts.map +1 -0
- package/dist/helpers/downloads.js +48 -0
- package/dist/helpers/downloads.js.map +1 -0
- package/dist/helpers/env-domains.d.ts +2 -0
- package/dist/helpers/env-domains.d.ts.map +1 -0
- package/dist/helpers/env-domains.js +18 -0
- package/dist/helpers/env-domains.js.map +1 -0
- package/dist/helpers/fileWriter.d.ts +7 -0
- package/dist/helpers/fileWriter.d.ts.map +1 -0
- package/dist/helpers/fileWriter.js +79 -0
- package/dist/helpers/fileWriter.js.map +1 -0
- package/dist/helpers/parse-utils.d.ts +7 -0
- package/dist/helpers/parse-utils.d.ts.map +1 -0
- package/dist/helpers/parse-utils.js +60 -0
- package/dist/helpers/parse-utils.js.map +1 -0
- package/dist/helpers/parseEntityUrn.d.ts +6 -0
- package/dist/helpers/parseEntityUrn.d.ts.map +1 -0
- package/dist/helpers/parseEntityUrn.js +23 -0
- package/dist/helpers/parseEntityUrn.js.map +1 -0
- package/dist/helpers/recurse-folder.d.ts +2 -0
- package/dist/helpers/recurse-folder.d.ts.map +1 -0
- package/dist/helpers/recurse-folder.js +36 -0
- package/dist/helpers/recurse-folder.js.map +1 -0
- package/dist/helpers/rollouts.d.ts +16 -0
- package/dist/helpers/rollouts.d.ts.map +1 -0
- package/dist/helpers/rollouts.js +16 -0
- package/dist/helpers/rollouts.js.map +1 -0
- package/dist/helpers/sign-gpg.d.ts +3 -0
- package/dist/helpers/sign-gpg.d.ts.map +1 -0
- package/dist/helpers/sign-gpg.js +41 -0
- package/dist/helpers/sign-gpg.js.map +1 -0
- package/dist/helpers/types.d.ts +2 -0
- package/dist/helpers/types.d.ts.map +1 -0
- package/dist/helpers/types.js +3 -0
- package/dist/helpers/types.js.map +1 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# @dcl/opscli
|
|
2
|
+
|
|
3
|
+
Operations command line tool.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
### Validate deployment consistency
|
|
8
|
+
|
|
9
|
+
Check the active deployment by pointer on every catalyst, usage:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
npx @dcl/opscli pointer-consistency --pointer "0,0"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Schedule asset bundle conversion
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
npx @dcl/opscli queue-ab-conversion \
|
|
19
|
+
--pointer "0,0" \
|
|
20
|
+
--pointer "110,10" \
|
|
21
|
+
--cid "110,10" \
|
|
22
|
+
--token <ACCESS_TOKEN> \
|
|
23
|
+
[--ab-server https://asset-bundle-converter.decentraland.org] \
|
|
24
|
+
[--content-server https://peer.decentraland.org/content]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Schedule asset bundle conversion of all worlds
|
|
28
|
+
```
|
|
29
|
+
npx @dcl/opscli queue-ab-conversion-snapshot \
|
|
30
|
+
--snapshot worlds \
|
|
31
|
+
--token <ACCESS_TOKEN> \
|
|
32
|
+
[--ab-server https://asset-bundle-converter.decentraland.org]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Schedule asset bundle conversion of specific world by name
|
|
36
|
+
```
|
|
37
|
+
npx @dcl/opscli queue-ab-conversion-snapshot \
|
|
38
|
+
--snapshot worlds \
|
|
39
|
+
--token <ACCESS_TOKEN> \
|
|
40
|
+
[--ab-server https://asset-bundle-converter.decentraland.org]
|
|
41
|
+
[--world-name <world-name.dcl.eth>]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Schedule asset bundle conversion from custom about
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
npx @dcl/opscli queue-ab-conversion-about \
|
|
48
|
+
--token <ACCESS_TOKEN> \
|
|
49
|
+
--about-url https://sdk-team-cdn.decentraland.org/ipfs/goerli-plaza-main/about \
|
|
50
|
+
[--ab-server https://asset-bundle-converter.decentraland.org]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Check status of conversion
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
npx @dcl/opscli check-ab-conversion \
|
|
57
|
+
--pointer "0,0" \
|
|
58
|
+
--pointer "110,10" \
|
|
59
|
+
[--cid "bafy....."]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### `query-rollout`
|
|
63
|
+
|
|
64
|
+
Usage:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
$ npx @dcl/opscli query-rollout --domain play.decentraland.zone --rolloutName _site
|
|
68
|
+
|
|
69
|
+
Current rollouts for domain "play.decentraland.zone" for this request
|
|
70
|
+
┌─────────────────────┬────────────┬─────────────────────────┬───────────────────────────────────┐
|
|
71
|
+
│ (index) │ percentage │ prefix │ version │
|
|
72
|
+
├─────────────────────┼────────────┼─────────────────────────┼───────────────────────────────────┤
|
|
73
|
+
│ _site │ 100 │ '@dcl/explorer-website' │ '0.0.1-1133229304.commit-901ee9a' │
|
|
74
|
+
│ @dcl/kernel │ 100 │ '@dcl/kernel' │ '1.0.0-1133249286.commit-a9ca05e' │
|
|
75
|
+
│ @dcl/unity-renderer │ 100 │ '@dcl/unity-renderer' │ '1.0.10553' │
|
|
76
|
+
└─────────────────────┴────────────┴─────────────────────────┴───────────────────────────────────┘
|
|
77
|
+
Raw data for rollout "_site" for domain "play.decentraland.zone"
|
|
78
|
+
┌─────────┬────────────┬───────────────────────────────────┐
|
|
79
|
+
│ (index) │ percentage │ version │
|
|
80
|
+
├─────────┼────────────┼───────────────────────────────────┤
|
|
81
|
+
│ 0 │ 100 │ '0.0.1-1133229304.commit-901ee9a' │
|
|
82
|
+
│ 1 │ 100 │ '0.0.1-1129066963.commit-a6c2178' │
|
|
83
|
+
│ 2 │ 100 │ '0.0.1-1125482159.commit-645a9e8' │
|
|
84
|
+
│ 3 │ 100 │ '0.0.1-1124920935.commit-57e48a2' │
|
|
85
|
+
│ 4 │ 100 │ '0.0.1-1121248349.commit-0568cf7' │
|
|
86
|
+
│ 5 │ 100 │ '0.0.1-1120296389.commit-cd95321' │
|
|
87
|
+
│ 6 │ 100 │ '0.0.1-1120045215.commit-7d17a4e' │
|
|
88
|
+
│ 7 │ 100 │ '0.0.1-1117962007.commit-cd75435' │
|
|
89
|
+
│ 8 │ 100 │ '0.0.1-1117258971.commit-bee96ab' │
|
|
90
|
+
│ 9 │ 100 │ '0.0.1-1114103774.commit-cfe9ba9' │
|
|
91
|
+
│ 10 │ 100 │ '0.0.1-1114086203.commit-cc86da6' │
|
|
92
|
+
│ 11 │ 100 │ '0.0.1-1105802712.commit-80b54a0' │
|
|
93
|
+
│ 12 │ 100 │ '0.0.1-1105772932.commit-ff46bfb' │
|
|
94
|
+
│ 13 │ 100 │ '0.0.1-1105284880.commit-32d26de' │
|
|
95
|
+
│ 14 │ 100 │ '0.0.1-1094578839.commit-e8461eb' │
|
|
96
|
+
│ 15 │ 100 │ '0.0.1-1092142520.commit-746716e' │
|
|
97
|
+
│ 16 │ 100 │ '0.0.1-1091984380.commit-77a1383' │
|
|
98
|
+
└─────────┴────────────┴───────────────────────────────────┘
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
### `download-entity`
|
|
104
|
+
|
|
105
|
+
Downloads a specific entity from a content server, as specified in https://adr.decentraland.org/adr/ADR-79
|
|
106
|
+
|
|
107
|
+
It creates an extra file named `.metadata` including the deployment metadata. Which in some cases (wearables) is not present as a file in the deployed entity.
|
|
108
|
+
|
|
109
|
+
In the specified folder, it will create one
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
$ npx @dcl/opscli download-entity \
|
|
113
|
+
--content-server https://play.decentraland.org/content \
|
|
114
|
+
--pointer=0,0 \
|
|
115
|
+
--pointer=urn:decentraland:off-chain:base-avatars:brown_pants \
|
|
116
|
+
--out ~/Downloads
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### `deploy-entity`
|
|
120
|
+
|
|
121
|
+
Deploys an entity to a content server
|
|
122
|
+
|
|
123
|
+
- `--pointer` Pointers of the entities, can be used many times, e.g. `--pointer=0,0 --pointer=0,1`
|
|
124
|
+
- `--entity-type` Entity type
|
|
125
|
+
- `--private-key` or `PRIVATE_KEY` env var
|
|
126
|
+
- `--dry` do everything except publishing the entity
|
|
127
|
+
- `--folder` to deploy, root level paths starting with `.` will be ignored, i.e. for .git folder. the `.metadata` file is required to create the entity
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
$ npx @dcl/opscli deploy-entity \
|
|
131
|
+
--dry \
|
|
132
|
+
--content-server https://peer.decentraland.org/content \
|
|
133
|
+
--entity-type wearable \
|
|
134
|
+
--folder=urn:decentraland:off-chain:base-avatars:brown_pants \
|
|
135
|
+
--pointer=urn:decentraland:off-chain:base-avatars:brown_pants \
|
|
136
|
+
--private-key=bde921a4a4abc644cced18f632aed0b3d34b1b36bc16fd97721ade1b7178cfff
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### `query-rollout`
|
|
140
|
+
|
|
141
|
+
Usage:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
$ npx @dcl/opscli query-rollout --domain play.decentraland.zone --rolloutName _site
|
|
145
|
+
|
|
146
|
+
Current rollouts for domain "play.decentraland.zone" for this request
|
|
147
|
+
┌─────────────────────┬────────────┬─────────────────────────┬───────────────────────────────────┐
|
|
148
|
+
│ (index) │ percentage │ prefix │ version │
|
|
149
|
+
├─────────────────────┼────────────┼─────────────────────────┼───────────────────────────────────┤
|
|
150
|
+
│ _site │ 100 │ '@dcl/explorer-website' │ '0.0.1-1133229304.commit-901ee9a' │
|
|
151
|
+
│ @dcl/kernel │ 100 │ '@dcl/kernel' │ '1.0.0-1133249286.commit-a9ca05e' │
|
|
152
|
+
│ @dcl/unity-renderer │ 100 │ '@dcl/unity-renderer' │ '1.0.10553' │
|
|
153
|
+
└─────────────────────┴────────────┴─────────────────────────┴───────────────────────────────────┘
|
|
154
|
+
Raw data for rollout "_site" for domain "play.decentraland.zone"
|
|
155
|
+
┌─────────┬────────────┬───────────────────────────────────┐
|
|
156
|
+
│ (index) │ percentage │ version │
|
|
157
|
+
├─────────┼────────────┼───────────────────────────────────┤
|
|
158
|
+
│ 0 │ 100 │ '0.0.1-1133229304.commit-901ee9a' │
|
|
159
|
+
│ 1 │ 100 │ '0.0.1-1129066963.commit-a6c2178' │
|
|
160
|
+
│ 2 │ 100 │ '0.0.1-1125482159.commit-645a9e8' │
|
|
161
|
+
│ 3 │ 100 │ '0.0.1-1124920935.commit-57e48a2' │
|
|
162
|
+
│ 4 │ 100 │ '0.0.1-1121248349.commit-0568cf7' │
|
|
163
|
+
│ 5 │ 100 │ '0.0.1-1120296389.commit-cd95321' │
|
|
164
|
+
│ 6 │ 100 │ '0.0.1-1120045215.commit-7d17a4e' │
|
|
165
|
+
│ 7 │ 100 │ '0.0.1-1117962007.commit-cd75435' │
|
|
166
|
+
│ 8 │ 100 │ '0.0.1-1117258971.commit-bee96ab' │
|
|
167
|
+
│ 9 │ 100 │ '0.0.1-1114103774.commit-cfe9ba9' │
|
|
168
|
+
│ 10 │ 100 │ '0.0.1-1114086203.commit-cc86da6' │
|
|
169
|
+
│ 11 │ 100 │ '0.0.1-1105802712.commit-80b54a0' │
|
|
170
|
+
│ 12 │ 100 │ '0.0.1-1105772932.commit-ff46bfb' │
|
|
171
|
+
│ 13 │ 100 │ '0.0.1-1105284880.commit-32d26de' │
|
|
172
|
+
│ 14 │ 100 │ '0.0.1-1094578839.commit-e8461eb' │
|
|
173
|
+
│ 15 │ 100 │ '0.0.1-1092142520.commit-746716e' │
|
|
174
|
+
│ 16 │ 100 │ '0.0.1-1091984380.commit-77a1383' │
|
|
175
|
+
└─────────┴────────────┴───────────────────────────────────┘
|
|
176
|
+
```
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,qBAAa,QAAS,SAAQ,KAAK;CAAI"}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CliError = void 0;
|
|
5
|
+
class CliError extends Error {
|
|
6
|
+
}
|
|
7
|
+
exports.CliError = CliError;
|
|
8
|
+
const commands = {
|
|
9
|
+
"query-rollout": "./commands/query-rollout",
|
|
10
|
+
"wearables-consistency": "./commands/wearables-consistency",
|
|
11
|
+
"pointer-consistency": "./commands/pointer-consistency",
|
|
12
|
+
"update-renderer-upm": "./commands/update-renderer-upm",
|
|
13
|
+
"secret-manager": "./commands/secret-manager",
|
|
14
|
+
"parameters-manager": "./commands/parameters-manager",
|
|
15
|
+
"download-entity": "./commands/download-entity",
|
|
16
|
+
"deploy-entity": "./commands/deploy-entity",
|
|
17
|
+
"queue-ab-conversion": "./commands/queue-ab-conversion",
|
|
18
|
+
"check-ab-conversion": "./commands/check-ab-conversion",
|
|
19
|
+
"queue-ab-conversion-snapshot": "./commands/queue-ab-conversion-snapshot",
|
|
20
|
+
"queue-ab-conversion-about": "./commands/queue-ab-conversion-about",
|
|
21
|
+
"circleci": "./commands/circleci",
|
|
22
|
+
"concat-snapshots": "./commands/concat-snapshots",
|
|
23
|
+
};
|
|
24
|
+
async function main() {
|
|
25
|
+
const commandName = process.argv[2];
|
|
26
|
+
if (!commandName || !commands[commandName]) {
|
|
27
|
+
throw new CliError("Invalid command. Possible are:\n" +
|
|
28
|
+
Object.keys(commands)
|
|
29
|
+
.map(($) => " npx @dcl/opscli " + $ + "\n")
|
|
30
|
+
.join(""));
|
|
31
|
+
}
|
|
32
|
+
const fn = require(commands[commandName]).default;
|
|
33
|
+
await fn();
|
|
34
|
+
}
|
|
35
|
+
main().catch((err) => {
|
|
36
|
+
if (err instanceof CliError) {
|
|
37
|
+
console.log(err.message);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.error(err);
|
|
41
|
+
}
|
|
42
|
+
process.exit(1);
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;AAEA,MAAa,QAAS,SAAQ,KAAK;CAAI;AAAvC,4BAAuC;AAEvC,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE,0BAA0B;IAC3C,uBAAuB,EAAE,kCAAkC;IAC3D,qBAAqB,EAAE,gCAAgC;IACvD,qBAAqB,EAAE,gCAAgC;IACvD,gBAAgB,EAAE,2BAA2B;IAC7C,oBAAoB,EAAE,+BAA+B;IACrD,iBAAiB,EAAE,4BAA4B;IAC/C,eAAe,EAAE,0BAA0B;IAC3C,qBAAqB,EAAE,gCAAgC;IACvD,qBAAqB,EAAE,gCAAgC;IACvD,8BAA8B,EAAE,yCAAyC;IACzE,2BAA2B,EAAE,sCAAsC;IACnE,UAAU,EAAE,qBAAqB;IACjC,kBAAkB,EAAE,6BAA6B;CAClD,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;YAClC,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,CACZ,CAAA;KACF;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;IAEjD,MAAM,EAAE,EAAE,CAAA;AACZ,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-ab-conversion.d.ts","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":";AAMA,wBAkEC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const schemas_1 = require("@dcl/schemas");
|
|
7
|
+
const arg_1 = __importDefault(require("arg"));
|
|
8
|
+
const undici_1 = require("undici");
|
|
9
|
+
const assert_1 = require("../helpers/assert");
|
|
10
|
+
const downloads_1 = require("../helpers/downloads");
|
|
11
|
+
exports.default = async () => {
|
|
12
|
+
const args = (0, arg_1.default)({
|
|
13
|
+
"--cid": [String],
|
|
14
|
+
"--pointer": [String],
|
|
15
|
+
"--content-server": String,
|
|
16
|
+
"--ab-cdn": String,
|
|
17
|
+
});
|
|
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
|
+
const entityIdsToConvert = [];
|
|
24
|
+
if (pointers.length) {
|
|
25
|
+
for (const entity of await (0, downloads_1.getActiveEntities)(pointers, contentUrl)) {
|
|
26
|
+
entityIdsToConvert.push({ entityId: entity.id, pointers: entity.pointers });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (const cid of cids) {
|
|
30
|
+
if (schemas_1.IPFSv1.validate(cid) || schemas_1.IPFSv2.validate(cid)) {
|
|
31
|
+
entityIdsToConvert.push({ entityId: cid, pointers: ['?'] });
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
console.log(`! Invalid CID: ${cid}. It will be ignored`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const check = async (entityId, pointers, promise) => {
|
|
38
|
+
if (!promise.ok) {
|
|
39
|
+
const failManifest = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_failed.json`);
|
|
40
|
+
if (failManifest.ok) {
|
|
41
|
+
const manifest = await failManifest.json();
|
|
42
|
+
console.log(`🟠 ${entityId} (${pointers[0]}): Failed. Version=${manifest.version} ExitCode=${manifest.exitCode} Date=${manifest.date} Log=${manifest.log}`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log(`🔴 ${entityId} (${pointers[0]}): Not converted!`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const manifest = await promise.json();
|
|
50
|
+
console.log(`🟢 ${entityId} (${pointers[0]}): Version=${manifest.version} ExitCode=${manifest.exitCode} Date=${manifest.date}`);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
for (const { entityId, pointers } of entityIdsToConvert) {
|
|
54
|
+
const result = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}.json`);
|
|
55
|
+
const resultWindows = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_windows.json`);
|
|
56
|
+
const resultMac = await (0, undici_1.fetch)(`${abServer}/manifest/${entityId}_mac.json`);
|
|
57
|
+
console.log("WEBGL");
|
|
58
|
+
await check(entityId, pointers, result);
|
|
59
|
+
console.log("WINDOWS");
|
|
60
|
+
await check(entityId, pointers, resultWindows);
|
|
61
|
+
console.log("MAC");
|
|
62
|
+
await check(entityId, pointers, resultMac);
|
|
63
|
+
}
|
|
64
|
+
console.log(`Finished!`);
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=check-ab-conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-ab-conversion.js","sourceRoot":"","sources":["../../src/commands/check-ab-conversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circleci.d.ts","sourceRoot":"","sources":["../../src/commands/circleci.ts"],"names":[],"mappings":"AAOA,0CA2BC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const arg_1 = __importDefault(require("arg"));
|
|
7
|
+
const undici_1 = require("undici");
|
|
8
|
+
const assert_1 = require("../helpers/assert");
|
|
9
|
+
const env_domains_1 = require("../helpers/env-domains");
|
|
10
|
+
const sign_gpg_1 = require("../helpers/sign-gpg");
|
|
11
|
+
async function default_1() {
|
|
12
|
+
const args = (0, arg_1.default)({
|
|
13
|
+
"--repo": String,
|
|
14
|
+
"--branch": String,
|
|
15
|
+
});
|
|
16
|
+
let repo = (0, assert_1.assert)(args["--repo"], "--repo is missing");
|
|
17
|
+
let branch = (0, assert_1.assert)(args["--branch"], "--branch is missing");
|
|
18
|
+
const envDomain = (0, env_domains_1.tldFromEnv)("prd");
|
|
19
|
+
const signed = await (0, sign_gpg_1.signGpgCleartext)(`${repo}\n${branch}`);
|
|
20
|
+
console.log("> Starting the pipeline...");
|
|
21
|
+
const res = await (0, undici_1.fetch)(`https://ops-lambdas.decentraland.${envDomain}/circleci`, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
body: signed.toString(),
|
|
24
|
+
});
|
|
25
|
+
const response = await res.text();
|
|
26
|
+
if (res.status != 200) {
|
|
27
|
+
throw new Error(`An error has occured while uploading the secret: ${response}`);
|
|
28
|
+
}
|
|
29
|
+
console.log(" OK! Response:");
|
|
30
|
+
console.log(response);
|
|
31
|
+
}
|
|
32
|
+
exports.default = default_1;
|
|
33
|
+
//# sourceMappingURL=circleci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circleci.js","sourceRoot":"","sources":["../../src/commands/circleci.ts"],"names":[],"mappings":";;;;;AAAA,8CAAqB;AAErB,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,IAAI,IAAI,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACtD,IAAI,MAAM,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAC5D,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,IAAI,GAAG,EAAE;QACrB,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-snapshots.d.ts","sourceRoot":"","sources":["../../src/commands/concat-snapshots.ts"],"names":[],"mappings":";AA2BA,wBA8CC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const arg_1 = __importDefault(require("arg"));
|
|
7
|
+
const undici_1 = require("undici");
|
|
8
|
+
const bin_1 = require("../bin");
|
|
9
|
+
const assert_1 = require("../helpers/assert");
|
|
10
|
+
const fileWriter_1 = require("../helpers/fileWriter");
|
|
11
|
+
async function* streamEntitiesFromSnapshot(contentUrl, snapshotHash) {
|
|
12
|
+
console.log(`fetching: ${contentUrl}/contents/${snapshotHash}`);
|
|
13
|
+
const jsonNdReq = await (0, undici_1.fetch)(`${contentUrl}/contents/${snapshotHash}`);
|
|
14
|
+
if (!jsonNdReq.ok)
|
|
15
|
+
throw new bin_1.CliError(`Invalid response from ${contentUrl}/contents/${snapshotHash}`);
|
|
16
|
+
const jsonNd = await jsonNdReq.text();
|
|
17
|
+
const len = jsonNd.length;
|
|
18
|
+
console.log(` File length ${(len / 1024 / 1024).toFixed(1)}MB`);
|
|
19
|
+
let currentCursor = 0;
|
|
20
|
+
let nextCursor = 0;
|
|
21
|
+
while ((nextCursor = jsonNd.indexOf('\n', currentCursor + 1)) != -1) {
|
|
22
|
+
const line = jsonNd.substring(currentCursor, nextCursor);
|
|
23
|
+
currentCursor = nextCursor;
|
|
24
|
+
if (line.trim().startsWith('{')) {
|
|
25
|
+
yield line;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const ALL_TYPES_ARG = 'all-types';
|
|
30
|
+
exports.default = async () => {
|
|
31
|
+
const args = (0, arg_1.default)({
|
|
32
|
+
"--entity-type": String,
|
|
33
|
+
"--content-server": String,
|
|
34
|
+
"--output-file": String,
|
|
35
|
+
});
|
|
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
|
+
console.log(`> Parameters:`);
|
|
41
|
+
const contentUrl = (args["--content-server"] || "https://peer.decentraland.zone/content").replace(/\/$/, "");
|
|
42
|
+
console.log(` Entity type: ${entityType}`);
|
|
43
|
+
console.log(` Content server: ${contentUrl}`);
|
|
44
|
+
console.log(`> Fetching snapshots ${contentUrl}/snapshots`);
|
|
45
|
+
const snapshotsReq = await (0, undici_1.fetch)(`${contentUrl}/snapshots`);
|
|
46
|
+
if (!snapshotsReq.ok)
|
|
47
|
+
throw new bin_1.CliError(`Invalid snapshot response from ${contentUrl}/snapshot`);
|
|
48
|
+
const snapshotsJson = await snapshotsReq.json();
|
|
49
|
+
for (const snapshot of snapshotsJson) {
|
|
50
|
+
if (!('hash' in snapshot)) {
|
|
51
|
+
throw new bin_1.CliError(`Invalid snapshot ${snapshot}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const snapshotHashes = snapshotsJson.map((s) => s.hash);
|
|
55
|
+
console.log(snapshotHashes);
|
|
56
|
+
const newSnapshotFile = await (0, fileWriter_1.createFileWriter)(outputFile || '');
|
|
57
|
+
newSnapshotFile.appendDebounced('### Decentraland json snapshot\n');
|
|
58
|
+
for (const snapshotHash of snapshotHashes) {
|
|
59
|
+
for await (const snapshotElem of streamEntitiesFromSnapshot(contentUrl, snapshotHash)) {
|
|
60
|
+
const entity = JSON.parse(snapshotElem);
|
|
61
|
+
if (entityType === ALL_TYPES_ARG || entity.entityType === entityType) {
|
|
62
|
+
newSnapshotFile.appendDebounced(JSON.stringify(entity) + '\n');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
await newSnapshotFile.close();
|
|
67
|
+
console.log(`Finished!`);
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=concat-snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concat-snapshots.js","sourceRoot":"","sources":["../../src/commands/concat-snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-entity.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":";AAaA,wBAsFC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const promises_1 = require("fs/promises");
|
|
7
|
+
const eth_crypto_1 = __importDefault(require("eth-crypto"));
|
|
8
|
+
const dcl_catalyst_client_1 = require("dcl-catalyst-client");
|
|
9
|
+
const crypto_1 = require("@dcl/crypto");
|
|
10
|
+
const eth_connect_1 = require("eth-connect");
|
|
11
|
+
const crypto_2 = require("@dcl/crypto/dist/crypto");
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
const bin_1 = require("../bin");
|
|
15
|
+
const arg_1 = __importDefault(require("arg"));
|
|
16
|
+
const console_1 = require("console");
|
|
17
|
+
const recurse_folder_1 = require("../helpers/recurse-folder");
|
|
18
|
+
exports.default = async () => {
|
|
19
|
+
const args = (0, arg_1.default)({
|
|
20
|
+
"--folder": String,
|
|
21
|
+
"--private-key": String,
|
|
22
|
+
"--entity-type": String,
|
|
23
|
+
"--pointer": [String],
|
|
24
|
+
"--content-server": String,
|
|
25
|
+
"--dry": Boolean,
|
|
26
|
+
});
|
|
27
|
+
const folder = path_1.default.resolve(args["--folder"] || process.cwd());
|
|
28
|
+
const entityType = args["--entity-type"];
|
|
29
|
+
(0, console_1.assert)(entityType, "An --entity-type must be provided");
|
|
30
|
+
const pointers = args["--pointer"];
|
|
31
|
+
(0, console_1.assert)(pointers.length > 0, "--pointer is missing");
|
|
32
|
+
console.log(`> Deploying entity in folder: ${folder}`);
|
|
33
|
+
console.log(` Entity type: ${entityType}`);
|
|
34
|
+
console.log(` Pointers: ${pointers.join(",")}`);
|
|
35
|
+
const contentUrl = (args["--content-server"] || "https://peer.decentraland.org/content").replace(/\/$/, "");
|
|
36
|
+
console.log(` Content server: ${contentUrl}`);
|
|
37
|
+
const client = new dcl_catalyst_client_1.ContentClient({ contentUrl });
|
|
38
|
+
const files = new Map();
|
|
39
|
+
console.log(` Content files:`);
|
|
40
|
+
for await (const fullPath of (0, recurse_folder_1.recurseFolder)(folder)) {
|
|
41
|
+
// NOTE: this may not work on windows machines because of path separators
|
|
42
|
+
let file = path_1.default.relative(folder, fullPath);
|
|
43
|
+
if (file.startsWith("."))
|
|
44
|
+
continue; // ignore dotfiles and git
|
|
45
|
+
console.log(` - ${file}`);
|
|
46
|
+
files.set(file, await (0, promises_1.readFile)(fullPath));
|
|
47
|
+
}
|
|
48
|
+
const metadataPath = path_1.default.join(folder, ".metadata");
|
|
49
|
+
if (!(0, fs_1.existsSync)(metadataPath)) {
|
|
50
|
+
throw new bin_1.CliError(`File ${metadataPath} doesn't exist`);
|
|
51
|
+
}
|
|
52
|
+
const metadataFile = await (0, promises_1.readFile)(metadataPath);
|
|
53
|
+
const metadata = JSON.parse(metadataFile.toString());
|
|
54
|
+
const deploymentEntity = await dcl_catalyst_client_1.DeploymentBuilder.buildEntity({
|
|
55
|
+
type: entityType,
|
|
56
|
+
pointers,
|
|
57
|
+
files,
|
|
58
|
+
metadata,
|
|
59
|
+
timestamp: new Date().getTime(),
|
|
60
|
+
});
|
|
61
|
+
console.log(` EntityId: ${deploymentEntity.entityId}`);
|
|
62
|
+
console.log(` Hashes: ${Array.from(deploymentEntity.files.keys()).join(',')}`);
|
|
63
|
+
const privateKey = args["--private-key"] || process.env.PRIVATE_KEY;
|
|
64
|
+
(0, console_1.assert)(privateKey, "Missing --private-key or PRIVATE_KEY env var");
|
|
65
|
+
const sig = (0, crypto_2.ethSign)((0, eth_connect_1.hexToBytes)(privateKey), "test");
|
|
66
|
+
const address = (0, crypto_2.recoverAddressFromEthSignature)(sig, "test");
|
|
67
|
+
console.log(` Signer address: ${address}`);
|
|
68
|
+
const messageHash = crypto_1.Authenticator.createEthereumMessageHash(deploymentEntity.entityId);
|
|
69
|
+
const signature = eth_crypto_1.default.sign(privateKey, Buffer.from(messageHash).toString("hex"));
|
|
70
|
+
const authChain = crypto_1.Authenticator.createSimpleAuthChain(deploymentEntity.entityId, address, signature);
|
|
71
|
+
console.log(` Auth chain: ${JSON.stringify(authChain)}`);
|
|
72
|
+
if (!args["--dry"]) {
|
|
73
|
+
try {
|
|
74
|
+
const result = await client.deploy({
|
|
75
|
+
entityId: deploymentEntity.entityId,
|
|
76
|
+
authChain: authChain,
|
|
77
|
+
files: deploymentEntity.files,
|
|
78
|
+
});
|
|
79
|
+
console.log("> Done. Result:");
|
|
80
|
+
console.log(result);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
console.error(e);
|
|
84
|
+
throw new bin_1.CliError(`Error deploying entity ${deploymentEntity.entityId} on ${pointers}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=deploy-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-entity.js","sourceRoot":"","sources":["../../src/commands/deploy-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-entity.d.ts","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";AAKA,wBAqBC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const arg_1 = __importDefault(require("arg"));
|
|
26
|
+
const path_1 = __importStar(require("path"));
|
|
27
|
+
const assert_1 = require("../helpers/assert");
|
|
28
|
+
const downloads_1 = require("../helpers/downloads");
|
|
29
|
+
exports.default = async () => {
|
|
30
|
+
const args = (0, arg_1.default)({
|
|
31
|
+
"--pointer": [String],
|
|
32
|
+
"--content-server": String,
|
|
33
|
+
"--out": String,
|
|
34
|
+
});
|
|
35
|
+
const pointers = args["--pointer"];
|
|
36
|
+
(0, assert_1.assert)(pointers.length > 0, "--pointer is missing");
|
|
37
|
+
const server = (args["--content-server"] || "https://peer.decentraland.org/content").replace(/\/$/, "");
|
|
38
|
+
const out = args["--out"] || process.cwd();
|
|
39
|
+
const entities = await (0, downloads_1.getActiveEntities)(pointers, server);
|
|
40
|
+
for (const entity of entities) {
|
|
41
|
+
const destFolder = (0, path_1.join)((0, path_1.resolve)(out), entity.pointers[0]) + path_1.default.sep;
|
|
42
|
+
console.log(`\nDownloading entity with pointers ${entity.pointers.join(',')} into ${destFolder}`);
|
|
43
|
+
await (0, downloads_1.downloadEntityAndMetadata)(entity, server, destFolder);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=download-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-entity.js","sourceRoot":"","sources":["../../src/commands/download-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,6CAA0C;AAC1C,8CAA0C;AAC1C,oDAAmF;AAEnF,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;QACf,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM;QAC1B,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,CAAA;IAEnC,IAAA,eAAM,EAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,uCAAuC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAiB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE1D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,cAAI,CAAC,GAAG,CAAA;QACpE,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAA;QACjG,MAAM,IAAA,qCAAyB,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;KAC5D;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters-manager.d.ts","sourceRoot":"","sources":["../../src/commands/parameters-manager.ts"],"names":[],"mappings":"AAMA,0CAsDC"}
|