@dcl/opscli 1.0.0-3011555455.commit-016aa8d → 1.0.0-34383266436.commit-41a928d
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 +117 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +37 -11
- package/dist/bin.js.map +1 -1
- 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 +63 -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 +90 -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 +50 -0
- package/dist/commands/download-entity.js.map +1 -0
- package/dist/commands/parameters-manager.d.ts.map +1 -1
- package/dist/commands/parameters-manager.js +32 -16
- package/dist/commands/parameters-manager.js.map +1 -1
- package/dist/commands/pointer-consistency.d.ts.map +1 -1
- package/dist/commands/pointer-consistency.js +111 -14
- package/dist/commands/pointer-consistency.js.map +1 -1
- package/dist/commands/query-rollout.js +8 -8
- package/dist/commands/query-rollout.js.map +1 -1
- 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 +61 -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 +228 -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 +80 -0
- package/dist/commands/queue-ab-conversion.js.map +1 -0
- package/dist/commands/secret-manager.d.ts.map +1 -1
- package/dist/commands/secret-manager.js +48 -23
- 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/commands/world-ab-status.d.ts +2 -0
- package/dist/commands/world-ab-status.d.ts.map +1 -0
- package/dist/commands/world-ab-status.js +108 -0
- package/dist/commands/world-ab-status.js.map +1 -0
- 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 +12 -0
- package/dist/helpers/asset-bundles.d.ts.map +1 -0
- package/dist/helpers/asset-bundles.js +45 -0
- package/dist/helpers/asset-bundles.js.map +1 -0
- package/dist/helpers/catalysts.d.ts +1 -1
- package/dist/helpers/catalysts.d.ts.map +1 -1
- package/dist/helpers/catalysts.js +4 -4
- 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 +86 -0
- package/dist/helpers/fileWriter.js.map +1 -0
- package/dist/helpers/parse-utils.js +11 -7
- package/dist/helpers/parse-utils.js.map +1 -1
- 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 +40 -0
- package/dist/helpers/recurse-folder.js.map +1 -0
- package/dist/helpers/rollouts.d.ts +4 -6
- package/dist/helpers/rollouts.d.ts.map +1 -1
- package/dist/helpers/rollouts.js +2 -2
- package/dist/helpers/rollouts.js.map +1 -1
- package/dist/helpers/sign-gpg.js +5 -5
- package/dist/helpers/types.d.ts +1 -1
- package/dist/helpers/types.d.ts.map +1 -1
- package/package.json +22 -13
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Entity } from '@dcl/schemas';
|
|
2
|
+
export declare function downloadEntity(entity: Entity, server: string, destFolder: string): Promise<void>;
|
|
3
|
+
export declare const downloadFile: (server: string, cid: string, filepath: string) => Promise<void>;
|
|
4
|
+
export declare function getActiveEntities(pointers: string[], sourceServer: string): Promise<Entity[]>;
|
|
5
|
+
export declare function downloadEntityAndMetadata(entity: Entity, server: string, destFolder: string): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=downloads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloads.d.ts","sourceRoot":"","sources":["../../src/helpers/downloads.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAYtF;AAED,eAAO,MAAM,YAAY,WAA2B,MAAM,OAAO,MAAM,YAAY,MAAM,kBAMxF,CAAA;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAenG;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAKjG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.downloadEntityAndMetadata = exports.getActiveEntities = exports.downloadFile = exports.downloadEntity = void 0;
|
|
4
|
+
const undici_1 = require("undici");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const promises_1 = require("fs/promises");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
async function downloadEntity(entity, server, destFolder) {
|
|
9
|
+
await (0, promises_1.mkdir)(destFolder, { recursive: true });
|
|
10
|
+
for (const x of entity.content) {
|
|
11
|
+
const out = (0, path_1.resolve)(destFolder, x.file);
|
|
12
|
+
if (!(0, fs_1.existsSync)(out)) {
|
|
13
|
+
await (0, exports.downloadFile)(server, x.hash, out);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.log(` ⚠️ File ${out} already exists, it won't be replaced by remote copy`);
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.downloadEntity = downloadEntity;
|
|
22
|
+
const downloadFile = async function (server, cid, filepath) {
|
|
23
|
+
const data = await (await (0, undici_1.fetch)(server + '/contents/' + cid)).arrayBuffer();
|
|
24
|
+
await (0, promises_1.mkdir)((0, path_1.dirname)(filepath), { recursive: true });
|
|
25
|
+
await (0, promises_1.writeFile)(filepath, Buffer.from(data));
|
|
26
|
+
};
|
|
27
|
+
exports.downloadFile = downloadFile;
|
|
28
|
+
async function getActiveEntities(pointers, sourceServer) {
|
|
29
|
+
const url = `${sourceServer}/entities/active`;
|
|
30
|
+
const res = await (0, undici_1.fetch)(url, {
|
|
31
|
+
method: 'post',
|
|
32
|
+
body: JSON.stringify({ pointers }),
|
|
33
|
+
headers: { 'content-type': 'application/json' }
|
|
34
|
+
});
|
|
35
|
+
const response = await res.text();
|
|
36
|
+
if (!res.ok) {
|
|
37
|
+
throw new Error('Error fetching list of active entities: ' + response);
|
|
38
|
+
}
|
|
39
|
+
return JSON.parse(response);
|
|
40
|
+
}
|
|
41
|
+
exports.getActiveEntities = getActiveEntities;
|
|
42
|
+
async function downloadEntityAndMetadata(entity, server, destFolder) {
|
|
43
|
+
await downloadEntity(entity, server, destFolder);
|
|
44
|
+
await (0, promises_1.writeFile)((0, path_1.resolve)(destFolder, '.metadata'), JSON.stringify(entity.metadata, null, 2));
|
|
45
|
+
console.log('> Entity downloaded to ' + destFolder);
|
|
46
|
+
}
|
|
47
|
+
exports.downloadEntityAndMetadata = downloadEntityAndMetadata;
|
|
48
|
+
//# sourceMappingURL=downloads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloads.js","sourceRoot":"","sources":["../../src/helpers/downloads.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,+BAAuC;AACvC,0CAA8C;AAC9C,2BAA+B;AAGxB,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,UAAkB;IACrF,MAAM,IAAA,gBAAK,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE;YACpB,MAAM,IAAA,oBAAY,EAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SACxC;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,sDAAsD,CAAC,CAAA;YACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;SACrB;KACF;AACH,CAAC;AAZD,wCAYC;AAEM,MAAM,YAAY,GAAG,KAAK,WAAW,MAAc,EAAE,GAAW,EAAE,QAAgB;IACvF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAA,cAAK,EAAC,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAE3E,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnD,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA;AANY,QAAA,YAAY,gBAMxB;AAEM,KAAK,UAAU,iBAAiB,CAAC,QAAkB,EAAE,YAAoB;IAC9E,MAAM,GAAG,GAAG,GAAG,YAAY,kBAAkB,CAAA;IAC7C,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,QAAQ,CAAC,CAAA;KACvE;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAfD,8CAeC;AAEM,KAAK,UAAU,yBAAyB,CAAC,MAAc,EAAE,MAAc,EAAE,UAAkB;IAChG,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAEhD,MAAM,IAAA,oBAAS,EAAC,IAAA,cAAO,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAA;AACrD,CAAC;AALD,8DAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-domains.d.ts","sourceRoot":"","sources":["../../src/helpers/env-domains.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,wCAYrC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tldFromEnv = void 0;
|
|
4
|
+
function tldFromEnv(env) {
|
|
5
|
+
switch (env) {
|
|
6
|
+
case 'prd':
|
|
7
|
+
return 'org';
|
|
8
|
+
case 'stg':
|
|
9
|
+
return 'today';
|
|
10
|
+
case 'dev':
|
|
11
|
+
return 'zone';
|
|
12
|
+
case 'biz':
|
|
13
|
+
return 'systems';
|
|
14
|
+
}
|
|
15
|
+
throw new Error('Unknown environment ' + env);
|
|
16
|
+
}
|
|
17
|
+
exports.tldFromEnv = tldFromEnv;
|
|
18
|
+
//# sourceMappingURL=env-domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-domains.js","sourceRoot":"","sources":["../../src/helpers/env-domains.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,GAAW;IACpC,QAAQ,GAAG,EAAE;QACX,KAAK,KAAK;YACR,OAAO,KAAK,CAAA;QACd,KAAK,KAAK;YACR,OAAO,OAAO,CAAA;QAChB,KAAK,KAAK;YACR,OAAO,MAAM,CAAA;QACf,KAAK,KAAK;YACR,OAAO,SAAS,CAAA;KACnB;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;AAC/C,CAAC;AAZD,gCAYC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileWriter.d.ts","sourceRoot":"","sources":["../../src/helpers/fileWriter.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B,CAAA;AASD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAkDvE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.createFileWriter = void 0;
|
|
30
|
+
const fs = __importStar(require("fs"));
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
async function checkFileExists(file) {
|
|
33
|
+
return fs.promises
|
|
34
|
+
.access(file, fs.constants.F_OK)
|
|
35
|
+
.then(() => true)
|
|
36
|
+
.catch(() => false);
|
|
37
|
+
}
|
|
38
|
+
async function createFileWriter(filename) {
|
|
39
|
+
const filePath = path_1.default.resolve(filename);
|
|
40
|
+
// if the process failed while creating the snapshot last time the file may still exists
|
|
41
|
+
// deleting the staging tmpFile just in case
|
|
42
|
+
if (await checkFileExists(filePath)) {
|
|
43
|
+
await fs.promises.unlink(filePath);
|
|
44
|
+
}
|
|
45
|
+
const file = fs.createWriteStream(filePath);
|
|
46
|
+
const fileClosedFuture = new Promise((resolve, reject) => {
|
|
47
|
+
file.on('finish', resolve);
|
|
48
|
+
file.on('end', resolve);
|
|
49
|
+
file.on('error', reject);
|
|
50
|
+
});
|
|
51
|
+
// the following lines exist to naively emulate a buffering algorithm to reduce disk IO
|
|
52
|
+
// and thus, block the disk for less time using more memory
|
|
53
|
+
const MAX_WRITE_BUFFER_SIZE = 1000;
|
|
54
|
+
const writeBuffer = [];
|
|
55
|
+
async function flush() {
|
|
56
|
+
if (writeBuffer.length) {
|
|
57
|
+
const buffer = writeBuffer.join('');
|
|
58
|
+
writeBuffer.length = 0;
|
|
59
|
+
await new Promise((resolve, reject) => {
|
|
60
|
+
file.write(buffer, (err) => {
|
|
61
|
+
if (err)
|
|
62
|
+
reject(err);
|
|
63
|
+
else
|
|
64
|
+
resolve();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function close() {
|
|
70
|
+
await flush();
|
|
71
|
+
file.close();
|
|
72
|
+
await fileClosedFuture;
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
filePath,
|
|
76
|
+
async appendDebounced(buffer) {
|
|
77
|
+
writeBuffer.push(buffer);
|
|
78
|
+
if (writeBuffer.length >= MAX_WRITE_BUFFER_SIZE) {
|
|
79
|
+
await flush();
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
close
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
exports.createFileWriter = createFileWriter;
|
|
86
|
+
//# sourceMappingURL=fileWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileWriter.js","sourceRoot":"","sources":["../../src/helpers/fileWriter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,gDAAuB;AAQvB,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,OAAO,EAAE,CAAC,QAAQ;SACf,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;SAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEvC,wFAAwF;IACxF,4CAA4C;IAC5C,IAAI,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE;QACnC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;KACnC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7D,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,uFAAuF;IACvF,2DAA2D;IAC3D,MAAM,qBAAqB,GAAG,IAAI,CAAA;IAClC,MAAM,WAAW,GAAkB,EAAE,CAAA;IACrC,KAAK,UAAU,KAAK;QAClB,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;YACtB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAA;;wBACf,OAAO,EAAE,CAAA;gBAChB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,MAAM,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,MAAM,gBAAgB,CAAA;IACxB,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK,CAAC,eAAe,CAAC,MAAc;YAClC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxB,IAAI,WAAW,CAAC,MAAM,IAAI,qBAAqB,EAAE;gBAC/C,MAAM,KAAK,EAAE,CAAA;aACd;QACH,CAAC;QACD,KAAK;KACN,CAAA;AACH,CAAC;AAlDD,4CAkDC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -26,8 +30,8 @@ exports.packagesLockPath = `unity-renderer-desktop/Packages/packages-lock.json`;
|
|
|
26
30
|
const isRendererPath = (path) => {
|
|
27
31
|
const packagePath = `${path}package.json`;
|
|
28
32
|
if (fs.existsSync(packagePath)) {
|
|
29
|
-
const content = JSON.parse(fs.readFileSync(packagePath,
|
|
30
|
-
return content[
|
|
33
|
+
const content = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
34
|
+
return content['name'] === `com.decentraland.unity-renderer`;
|
|
31
35
|
}
|
|
32
36
|
else {
|
|
33
37
|
return false;
|
|
@@ -35,9 +39,9 @@ const isRendererPath = (path) => {
|
|
|
35
39
|
};
|
|
36
40
|
exports.isRendererPath = isRendererPath;
|
|
37
41
|
const getUPMRendererPath = (initialPath) => {
|
|
38
|
-
if (!initialPath.endsWith(
|
|
39
|
-
initialPath +=
|
|
40
|
-
const extraPaths = [
|
|
42
|
+
if (!initialPath.endsWith('/'))
|
|
43
|
+
initialPath += '/';
|
|
44
|
+
const extraPaths = ['', 'Assets/', 'unity-renderer/Assets/'];
|
|
41
45
|
for (const extraPath of extraPaths) {
|
|
42
46
|
const path = initialPath + extraPath;
|
|
43
47
|
if ((0, exports.isRendererPath)(path)) {
|
|
@@ -48,7 +52,7 @@ const getUPMRendererPath = (initialPath) => {
|
|
|
48
52
|
};
|
|
49
53
|
exports.getUPMRendererPath = getUPMRendererPath;
|
|
50
54
|
const changeJSONFile = (path, changeFunction) => {
|
|
51
|
-
|
|
55
|
+
const content = JSON.parse(fs.readFileSync(path, 'utf8'));
|
|
52
56
|
changeFunction(content);
|
|
53
57
|
fs.writeFileSync(path, JSON.stringify(content, null, 2));
|
|
54
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-utils.js","sourceRoot":"","sources":["../../src/helpers/parse-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-utils.js","sourceRoot":"","sources":["../../src/helpers/parse-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AAEX,QAAA,YAAY,GAAG,+CAA+C,CAAA;AAE9D,QAAA,gBAAgB,GAAG,oDAAoD,CAAA;AAE7E,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IACtD,MAAM,WAAW,GAAG,GAAG,IAAI,cAAc,CAAA;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,iCAAiC,CAAA;KAC7D;SAAM;QACL,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B;AAEM,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAsB,EAAE;IAC5E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,WAAW,IAAI,GAAG,CAAA;IAElD,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAA;IAC5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,IAAI,GAAG,WAAW,GAAG,SAAS,CAAA;QACpC,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAZY,QAAA,kBAAkB,sBAY9B;AAEM,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,cAAqC,EAAE,EAAE;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,cAAc,CAAC,OAAO,CAAC,CAAA;IACvB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1D,CAAC,CAAA;AAJY,QAAA,cAAc,kBAI1B;AAEM,MAAM,oBAAoB,GAAG,GAAY,EAAE;IAChD,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,oBAAY,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseEntityUrn.d.ts","sourceRoot":"","sources":["../../src/helpers/parseEntityUrn.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoBrG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseEntityUrn = void 0;
|
|
4
|
+
const url_1 = require("url");
|
|
5
|
+
function parseEntityUrn(urn) {
|
|
6
|
+
// many URN formats are valid for Decentraland.
|
|
7
|
+
// for simplicity, at this stage we will only parse one type of URN:
|
|
8
|
+
const matches = urn.match(/^(urn\:decentraland\:entity\:(ba[a-zA-Z0-9]{57}))/);
|
|
9
|
+
if (!matches)
|
|
10
|
+
throw new Error(`The provided URN is not supported: ${urn}`);
|
|
11
|
+
const url = new url_1.URL(urn);
|
|
12
|
+
let baseUrl = url.searchParams.get('baseUrl');
|
|
13
|
+
if (baseUrl && !baseUrl.endsWith('/')) {
|
|
14
|
+
baseUrl += '/';
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
urn: matches[1],
|
|
18
|
+
entityId: matches[2],
|
|
19
|
+
baseUrl
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.parseEntityUrn = parseEntityUrn;
|
|
23
|
+
//# sourceMappingURL=parseEntityUrn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseEntityUrn.js","sourceRoot":"","sources":["../../src/helpers/parseEntityUrn.ts"],"names":[],"mappings":";;;AAAA,6BAAyB;AAEzB,SAAgB,cAAc,CAAC,GAAW;IACxC,+CAA+C;IAC/C,oEAAoE;IAEpE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;IAE9E,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAA;IAE1E,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAA;IAExB,IAAI,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,IAAI,GAAG,CAAA;KACf;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACpB,OAAO;KACR,CAAA;AACH,CAAC;AApBD,wCAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recurse-folder.d.ts","sourceRoot":"","sources":["../../src/helpers/recurse-folder.ts"],"names":[],"mappings":"AAGA,wBAAuB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAO1E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.recurseFolder = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
async function* recurseFolder(folder) {
|
|
30
|
+
const dir = await fs.opendir(folder, { bufferSize: 4000 });
|
|
31
|
+
for await (const entry of dir) {
|
|
32
|
+
const resolved = path.resolve(folder, entry.name);
|
|
33
|
+
if (entry.isDirectory())
|
|
34
|
+
yield* recurseFolder(resolved);
|
|
35
|
+
else
|
|
36
|
+
yield resolved;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.recurseFolder = recurseFolder;
|
|
40
|
+
//# sourceMappingURL=recurse-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recurse-folder.js","sourceRoot":"","sources":["../../src/helpers/recurse-folder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AACjC,2CAA4B;AAErB,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,MAAc;IACjD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;;YAClD,MAAM,QAAQ,CAAA;KACpB;AACH,CAAC;AAPD,sCAOC"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
type Rollout = {
|
|
2
2
|
percentage: number;
|
|
3
3
|
prefix: string;
|
|
4
4
|
version: string;
|
|
5
5
|
each1000sessions: number;
|
|
6
6
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
records: Record<string, [Rollout]>;
|
|
11
|
-
};
|
|
7
|
+
type Rollouts = {
|
|
8
|
+
rolloutMap: Record<string, Rollout>;
|
|
9
|
+
records: Record<string, [Rollout]>;
|
|
12
10
|
};
|
|
13
11
|
/**
|
|
14
12
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollouts.d.ts","sourceRoot":"","sources":["../../src/helpers/rollouts.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"rollouts.d.ts","sourceRoot":"","sources":["../../src/helpers/rollouts.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,QAAQ,GAAG;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAKrE"}
|
package/dist/helpers/rollouts.js
CHANGED
|
@@ -7,9 +7,9 @@ const undici_1 = require("undici");
|
|
|
7
7
|
*/
|
|
8
8
|
async function checkRollouts(domain) {
|
|
9
9
|
const url = `https://${domain}`;
|
|
10
|
-
const res = await (0, undici_1.fetch)(url, { headers: {
|
|
10
|
+
const res = await (0, undici_1.fetch)(url, { headers: { 'x-debug-rollouts': 'true' } });
|
|
11
11
|
if (!res.ok)
|
|
12
|
-
throw new Error(
|
|
12
|
+
throw new Error('Non-ok response from ' + url);
|
|
13
13
|
return res.json();
|
|
14
14
|
}
|
|
15
15
|
exports.checkRollouts = checkRollouts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollouts.js","sourceRoot":"","sources":["../../src/helpers/rollouts.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;
|
|
1
|
+
{"version":3,"file":"rollouts.js","sourceRoot":"","sources":["../../src/helpers/rollouts.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAc9B;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,MAAM,GAAG,GAAG,WAAW,MAAM,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,MAAM,IAAA,cAAK,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAA;IAC3D,OAAO,GAAG,CAAC,IAAI,EAAS,CAAA;AAC1B,CAAC;AALD,sCAKC"}
|
package/dist/helpers/sign-gpg.js
CHANGED
|
@@ -9,11 +9,11 @@ const os_1 = __importDefault(require("os"));
|
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const child_process_1 = require("child_process");
|
|
11
11
|
async function signGpgCleartext(payload) {
|
|
12
|
-
const tmpDir = await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(),
|
|
13
|
-
const filename = path_1.default.join(tmpDir,
|
|
12
|
+
const tmpDir = await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'secret'));
|
|
13
|
+
const filename = path_1.default.join(tmpDir, 'tmp.txt');
|
|
14
14
|
await promises_1.default.writeFile(filename, payload);
|
|
15
15
|
try {
|
|
16
|
-
console.log(
|
|
16
|
+
console.log('> Signing payload with GPG, if you are using a Yubikey, please press it');
|
|
17
17
|
await new Promise((resolve, reject) => {
|
|
18
18
|
(0, child_process_1.exec)(`gpg --clearsign ${filename}`, {}, (err, stdout, stderr) => {
|
|
19
19
|
if (err === null)
|
|
@@ -21,10 +21,10 @@ async function signGpgCleartext(payload) {
|
|
|
21
21
|
if (stderr)
|
|
22
22
|
reject(stderr);
|
|
23
23
|
else
|
|
24
|
-
reject(
|
|
24
|
+
reject('Error while signing the secrets');
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
|
-
return await promises_1.default.readFile(path_1.default.join(tmpDir,
|
|
27
|
+
return await promises_1.default.readFile(path_1.default.join(tmpDir, 'tmp.txt.asc'));
|
|
28
28
|
}
|
|
29
29
|
finally {
|
|
30
30
|
try {
|
package/dist/helpers/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Command = () => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/opscli",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-34383266436.commit-41a928d",
|
|
4
4
|
"description": "base component",
|
|
5
5
|
"bin": "dist/bin.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"typings": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"build:watch": "tsc -p tsconfig.json --watch",
|
|
10
|
+
"prestart": "make build",
|
|
11
|
+
"start": "./dist/bin.js",
|
|
12
|
+
"lint:check": "eslint '**/*.{js,ts}'",
|
|
13
|
+
"lint:fix": "eslint '**/*.{js,ts}' --fix"
|
|
11
14
|
},
|
|
12
15
|
"repository": {
|
|
13
16
|
"type": "git",
|
|
@@ -24,21 +27,27 @@
|
|
|
24
27
|
"semi": false
|
|
25
28
|
},
|
|
26
29
|
"homepage": "https://github.com/decentraland/opscli#readme",
|
|
27
|
-
"devDependencies": {
|
|
28
|
-
"@microsoft/api-extractor": "^7.17.0",
|
|
29
|
-
"@types/jest": "^26.0.23",
|
|
30
|
-
"@types/node": "^14.17.4",
|
|
31
|
-
"jest": "^27.0.6",
|
|
32
|
-
"ts-jest": "^27.0.3",
|
|
33
|
-
"typescript": "^4.3.5"
|
|
34
|
-
},
|
|
35
30
|
"dependencies": {
|
|
31
|
+
"@dcl/crypto": "^3.4.5",
|
|
32
|
+
"@dcl/schemas": "^19.6.0",
|
|
33
|
+
"@well-known-components/fetch-component": "^3.0.0",
|
|
36
34
|
"arg": "^5.0.2",
|
|
35
|
+
"dcl-catalyst-client": "^21.7.0",
|
|
36
|
+
"eth-crypto": "^2.5.0",
|
|
37
37
|
"simple-git": "^3.14.0",
|
|
38
|
-
"undici": "^
|
|
38
|
+
"undici": "^6.19.8"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@dcl/eslint-config": "^2.2.1",
|
|
42
|
+
"@microsoft/api-extractor": "^7.17.0",
|
|
43
|
+
"@types/jest": "^29.5.12",
|
|
44
|
+
"@types/node": "^18.19.45",
|
|
45
|
+
"jest": "^29.7.0",
|
|
46
|
+
"ts-jest": "^29.2.4",
|
|
47
|
+
"typescript": "^4.9.5"
|
|
39
48
|
},
|
|
40
49
|
"files": [
|
|
41
50
|
"dist"
|
|
42
51
|
],
|
|
43
|
-
"commit": "
|
|
52
|
+
"commit": "41a928d25b36224602def84420585bc693e20fbd"
|
|
44
53
|
}
|