dcentraland 3.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -0
  3. package/abi/EstateRegistry.json +1226 -0
  4. package/abi/LANDRegistry.json +1372 -0
  5. package/abi/MANAToken.json +410 -0
  6. package/dist/commands/build.d.ts +3 -0
  7. package/dist/commands/build.d.ts.map +1 -0
  8. package/dist/commands/build.js +108 -0
  9. package/dist/commands/build.js.map +1 -0
  10. package/dist/commands/coords.d.ts +3 -0
  11. package/dist/commands/coords.d.ts.map +1 -0
  12. package/dist/commands/coords.js +122 -0
  13. package/dist/commands/coords.js.map +1 -0
  14. package/dist/commands/deploy.d.ts +4 -0
  15. package/dist/commands/deploy.d.ts.map +1 -0
  16. package/dist/commands/deploy.js +280 -0
  17. package/dist/commands/deploy.js.map +1 -0
  18. package/dist/commands/export.d.ts +3 -0
  19. package/dist/commands/export.d.ts.map +1 -0
  20. package/dist/commands/export.js +20 -0
  21. package/dist/commands/export.js.map +1 -0
  22. package/dist/commands/index.d.ts +3 -0
  23. package/dist/commands/index.d.ts.map +1 -0
  24. package/dist/commands/index.js +19 -0
  25. package/dist/commands/index.js.map +1 -0
  26. package/dist/commands/info.d.ts +3 -0
  27. package/dist/commands/info.d.ts.map +1 -0
  28. package/dist/commands/info.js +186 -0
  29. package/dist/commands/info.js.map +1 -0
  30. package/dist/commands/init/help.d.ts +12 -0
  31. package/dist/commands/init/help.d.ts.map +1 -0
  32. package/dist/commands/init/help.js +41 -0
  33. package/dist/commands/init/help.js.map +1 -0
  34. package/dist/commands/init/index.d.ts +3 -0
  35. package/dist/commands/init/index.d.ts.map +1 -0
  36. package/dist/commands/init/index.js +96 -0
  37. package/dist/commands/init/index.js.map +1 -0
  38. package/dist/commands/init/library.d.ts +1 -0
  39. package/dist/commands/init/library.d.ts.map +1 -0
  40. package/dist/commands/init/library.js +2 -0
  41. package/dist/commands/init/library.js.map +1 -0
  42. package/dist/commands/init/repositories.d.ts +11 -0
  43. package/dist/commands/init/repositories.d.ts.map +1 -0
  44. package/dist/commands/init/repositories.js +40 -0
  45. package/dist/commands/init/repositories.js.map +1 -0
  46. package/dist/commands/init/scene.d.ts +3 -0
  47. package/dist/commands/init/scene.d.ts.map +1 -0
  48. package/dist/commands/init/scene.js +56 -0
  49. package/dist/commands/init/scene.js.map +1 -0
  50. package/dist/commands/init/types.d.ts +22 -0
  51. package/dist/commands/init/types.d.ts.map +1 -0
  52. package/dist/commands/init/types.js +3 -0
  53. package/dist/commands/init/types.js.map +1 -0
  54. package/dist/commands/init/utils.d.ts +6 -0
  55. package/dist/commands/init/utils.d.ts.map +1 -0
  56. package/dist/commands/init/utils.js +76 -0
  57. package/dist/commands/init/utils.js.map +1 -0
  58. package/dist/commands/install.d.ts +3 -0
  59. package/dist/commands/install.d.ts.map +1 -0
  60. package/dist/commands/install.js +92 -0
  61. package/dist/commands/install.js.map +1 -0
  62. package/dist/commands/pack.d.ts +3 -0
  63. package/dist/commands/pack.d.ts.map +1 -0
  64. package/dist/commands/pack.js +102 -0
  65. package/dist/commands/pack.js.map +1 -0
  66. package/dist/commands/start.d.ts +3 -0
  67. package/dist/commands/start.d.ts.map +1 -0
  68. package/dist/commands/start.js +235 -0
  69. package/dist/commands/start.js.map +1 -0
  70. package/dist/commands/status.d.ts +3 -0
  71. package/dist/commands/status.d.ts.map +1 -0
  72. package/dist/commands/status.js +80 -0
  73. package/dist/commands/status.js.map +1 -0
  74. package/dist/commands/workspace.d.ts +3 -0
  75. package/dist/commands/workspace.d.ts.map +1 -0
  76. package/dist/commands/workspace.js +81 -0
  77. package/dist/commands/workspace.js.map +1 -0
  78. package/dist/commands/world-acl.d.ts +22 -0
  79. package/dist/commands/world-acl.d.ts.map +1 -0
  80. package/dist/commands/world-acl.js +262 -0
  81. package/dist/commands/world-acl.js.map +1 -0
  82. package/dist/config.d.ts +31 -0
  83. package/dist/config.d.ts.map +1 -0
  84. package/dist/config.js +128 -0
  85. package/dist/config.js.map +1 -0
  86. package/dist/index.d.ts +3 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +21 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/lib/API.d.ts +23 -0
  91. package/dist/lib/API.d.ts.map +1 -0
  92. package/dist/lib/API.js +175 -0
  93. package/dist/lib/API.js.map +1 -0
  94. package/dist/lib/Decentraland.d.ts +75 -0
  95. package/dist/lib/Decentraland.d.ts.map +1 -0
  96. package/dist/lib/Decentraland.js +227 -0
  97. package/dist/lib/Decentraland.js.map +1 -0
  98. package/dist/lib/Ethereum.d.ts +52 -0
  99. package/dist/lib/Ethereum.d.ts.map +1 -0
  100. package/dist/lib/Ethereum.js +245 -0
  101. package/dist/lib/Ethereum.js.map +1 -0
  102. package/dist/lib/IEthereumDataProvider.d.ts +17 -0
  103. package/dist/lib/IEthereumDataProvider.d.ts.map +1 -0
  104. package/dist/lib/IEthereumDataProvider.js +3 -0
  105. package/dist/lib/IEthereumDataProvider.js.map +1 -0
  106. package/dist/lib/LinkerAPI.d.ts +28 -0
  107. package/dist/lib/LinkerAPI.d.ts.map +1 -0
  108. package/dist/lib/LinkerAPI.js +151 -0
  109. package/dist/lib/LinkerAPI.js.map +1 -0
  110. package/dist/lib/Preview.d.ts +17 -0
  111. package/dist/lib/Preview.d.ts.map +1 -0
  112. package/dist/lib/Preview.js +113 -0
  113. package/dist/lib/Preview.js.map +1 -0
  114. package/dist/lib/Project.d.ts +152 -0
  115. package/dist/lib/Project.d.ts.map +1 -0
  116. package/dist/lib/Project.js +446 -0
  117. package/dist/lib/Project.js.map +1 -0
  118. package/dist/lib/Workspace.d.ts +21 -0
  119. package/dist/lib/Workspace.d.ts.map +1 -0
  120. package/dist/lib/Workspace.js +140 -0
  121. package/dist/lib/Workspace.js.map +1 -0
  122. package/dist/lib/WorldsContentServer.d.ts +27 -0
  123. package/dist/lib/WorldsContentServer.d.ts.map +1 -0
  124. package/dist/lib/WorldsContentServer.js +79 -0
  125. package/dist/lib/WorldsContentServer.js.map +1 -0
  126. package/dist/lib/WorldsContentServerLinkerAPI.d.ts +21 -0
  127. package/dist/lib/WorldsContentServerLinkerAPI.d.ts.map +1 -0
  128. package/dist/lib/WorldsContentServerLinkerAPI.js +105 -0
  129. package/dist/lib/WorldsContentServerLinkerAPI.js.map +1 -0
  130. package/dist/lib/adapters/proto/broker.d.ts +2 -0
  131. package/dist/lib/adapters/proto/broker.d.ts.map +1 -0
  132. package/dist/lib/adapters/proto/broker.js +2189 -0
  133. package/dist/lib/adapters/proto/broker.js.map +1 -0
  134. package/dist/lib/adapters/proto/comms.d.ts +2 -0
  135. package/dist/lib/adapters/proto/comms.d.ts.map +1 -0
  136. package/dist/lib/adapters/proto/comms.js +965 -0
  137. package/dist/lib/adapters/proto/comms.js.map +1 -0
  138. package/dist/lib/adapters/ws.d.ts +12 -0
  139. package/dist/lib/adapters/ws.d.ts.map +1 -0
  140. package/dist/lib/adapters/ws.js +20 -0
  141. package/dist/lib/adapters/ws.js.map +1 -0
  142. package/dist/lib/content/ContentService.d.ts +27 -0
  143. package/dist/lib/content/ContentService.d.ts.map +1 -0
  144. package/dist/lib/content/ContentService.js +60 -0
  145. package/dist/lib/content/ContentService.js.map +1 -0
  146. package/dist/lib/content/types.d.ts +12 -0
  147. package/dist/lib/content/types.d.ts.map +1 -0
  148. package/dist/lib/content/types.js +3 -0
  149. package/dist/lib/content/types.js.map +1 -0
  150. package/dist/lib/controllers/bff.d.ts +8 -0
  151. package/dist/lib/controllers/bff.d.ts.map +1 -0
  152. package/dist/lib/controllers/bff.js +58 -0
  153. package/dist/lib/controllers/bff.js.map +1 -0
  154. package/dist/lib/controllers/debugger.d.ts +4 -0
  155. package/dist/lib/controllers/debugger.d.ts.map +1 -0
  156. package/dist/lib/controllers/debugger.js +42 -0
  157. package/dist/lib/controllers/debugger.js.map +1 -0
  158. package/dist/lib/controllers/ecs6-endpoints.d.ts +11 -0
  159. package/dist/lib/controllers/ecs6-endpoints.d.ts.map +1 -0
  160. package/dist/lib/controllers/ecs6-endpoints.js +543 -0
  161. package/dist/lib/controllers/ecs6-endpoints.js.map +1 -0
  162. package/dist/lib/controllers/legacy-comms-v1.d.ts +7 -0
  163. package/dist/lib/controllers/legacy-comms-v1.d.ts.map +1 -0
  164. package/dist/lib/controllers/legacy-comms-v1.js +98 -0
  165. package/dist/lib/controllers/legacy-comms-v1.js.map +1 -0
  166. package/dist/lib/smartItems/buildSmartItem.d.ts +2 -0
  167. package/dist/lib/smartItems/buildSmartItem.d.ts.map +1 -0
  168. package/dist/lib/smartItems/buildSmartItem.js +18 -0
  169. package/dist/lib/smartItems/buildSmartItem.js.map +1 -0
  170. package/dist/lib/smartItems/packProject.d.ts +2 -0
  171. package/dist/lib/smartItems/packProject.d.ts.map +1 -0
  172. package/dist/lib/smartItems/packProject.js +31 -0
  173. package/dist/lib/smartItems/packProject.js.map +1 -0
  174. package/dist/main.d.ts +2 -0
  175. package/dist/main.d.ts.map +1 -0
  176. package/dist/main.js +151 -0
  177. package/dist/main.js.map +1 -0
  178. package/dist/project/installDependencies.d.ts +2 -0
  179. package/dist/project/installDependencies.d.ts.map +1 -0
  180. package/dist/project/installDependencies.js +57 -0
  181. package/dist/project/installDependencies.js.map +1 -0
  182. package/dist/project/isTypescriptProject.d.ts +2 -0
  183. package/dist/project/isTypescriptProject.d.ts.map +1 -0
  184. package/dist/project/isTypescriptProject.js +14 -0
  185. package/dist/project/isTypescriptProject.js.map +1 -0
  186. package/dist/project/projectInfo.d.ts +8 -0
  187. package/dist/project/projectInfo.d.ts.map +1 -0
  188. package/dist/project/projectInfo.js +89 -0
  189. package/dist/project/projectInfo.js.map +1 -0
  190. package/dist/project/updateBundleDependenciesField.d.ts +4 -0
  191. package/dist/project/updateBundleDependenciesField.d.ts.map +1 -0
  192. package/dist/project/updateBundleDependenciesField.js +67 -0
  193. package/dist/project/updateBundleDependenciesField.js.map +1 -0
  194. package/dist/sceneJson/index.d.ts +4 -0
  195. package/dist/sceneJson/index.d.ts.map +1 -0
  196. package/dist/sceneJson/index.js +24 -0
  197. package/dist/sceneJson/index.js.map +1 -0
  198. package/dist/sceneJson/lintSceneFile.d.ts +2 -0
  199. package/dist/sceneJson/lintSceneFile.d.ts.map +1 -0
  200. package/dist/sceneJson/lintSceneFile.js +13 -0
  201. package/dist/sceneJson/lintSceneFile.js.map +1 -0
  202. package/dist/sceneJson/utils.d.ts +3 -0
  203. package/dist/sceneJson/utils.d.ts.map +1 -0
  204. package/dist/sceneJson/utils.js +66 -0
  205. package/dist/sceneJson/utils.js.map +1 -0
  206. package/dist/utils/analytics.d.ts +42 -0
  207. package/dist/utils/analytics.d.ts.map +1 -0
  208. package/dist/utils/analytics.js +111 -0
  209. package/dist/utils/analytics.js.map +1 -0
  210. package/dist/utils/buildProject.d.ts +2 -0
  211. package/dist/utils/buildProject.d.ts.map +1 -0
  212. package/dist/utils/buildProject.js +26 -0
  213. package/dist/utils/buildProject.js.map +1 -0
  214. package/dist/utils/catalystPointers.d.ts +20 -0
  215. package/dist/utils/catalystPointers.d.ts.map +1 -0
  216. package/dist/utils/catalystPointers.js +51 -0
  217. package/dist/utils/catalystPointers.js.map +1 -0
  218. package/dist/utils/coordinateHelpers.d.ts +65 -0
  219. package/dist/utils/coordinateHelpers.d.ts.map +1 -0
  220. package/dist/utils/coordinateHelpers.js +126 -0
  221. package/dist/utils/coordinateHelpers.js.map +1 -0
  222. package/dist/utils/download.d.ts +3 -0
  223. package/dist/utils/download.d.ts.map +1 -0
  224. package/dist/utils/download.js +42 -0
  225. package/dist/utils/download.js.map +1 -0
  226. package/dist/utils/env.d.ts +6 -0
  227. package/dist/utils/env.d.ts.map +1 -0
  228. package/dist/utils/env.js +31 -0
  229. package/dist/utils/env.js.map +1 -0
  230. package/dist/utils/errors.d.ts +18 -0
  231. package/dist/utils/errors.d.ts.map +1 -0
  232. package/dist/utils/errors.js +27 -0
  233. package/dist/utils/errors.js.map +1 -0
  234. package/dist/utils/filesystem.d.ts +41 -0
  235. package/dist/utils/filesystem.d.ts.map +1 -0
  236. package/dist/utils/filesystem.js +84 -0
  237. package/dist/utils/filesystem.js.map +1 -0
  238. package/dist/utils/getDummyMappings.d.ts +3 -0
  239. package/dist/utils/getDummyMappings.d.ts.map +1 -0
  240. package/dist/utils/getDummyMappings.js +19 -0
  241. package/dist/utils/getDummyMappings.js.map +1 -0
  242. package/dist/utils/getProjectFilePaths.d.ts +2 -0
  243. package/dist/utils/getProjectFilePaths.d.ts.map +1 -0
  244. package/dist/utils/getProjectFilePaths.js +40 -0
  245. package/dist/utils/getProjectFilePaths.js.map +1 -0
  246. package/dist/utils/index.d.ts +11 -0
  247. package/dist/utils/index.d.ts.map +1 -0
  248. package/dist/utils/index.js +33 -0
  249. package/dist/utils/index.js.map +1 -0
  250. package/dist/utils/installedDependencies.d.ts +6 -0
  251. package/dist/utils/installedDependencies.d.ts.map +1 -0
  252. package/dist/utils/installedDependencies.js +44 -0
  253. package/dist/utils/installedDependencies.js.map +1 -0
  254. package/dist/utils/land.d.ts +4 -0
  255. package/dist/utils/land.d.ts.map +1 -0
  256. package/dist/utils/land.js +35 -0
  257. package/dist/utils/land.js.map +1 -0
  258. package/dist/utils/logging.d.ts +19 -0
  259. package/dist/utils/logging.d.ts.map +1 -0
  260. package/dist/utils/logging.js +97 -0
  261. package/dist/utils/logging.js.map +1 -0
  262. package/dist/utils/moduleHelpers.d.ts +22 -0
  263. package/dist/utils/moduleHelpers.d.ts.map +1 -0
  264. package/dist/utils/moduleHelpers.js +163 -0
  265. package/dist/utils/moduleHelpers.js.map +1 -0
  266. package/dist/utils/nodeAndNpmVersion.d.ts +5 -0
  267. package/dist/utils/nodeAndNpmVersion.d.ts.map +1 -0
  268. package/dist/utils/nodeAndNpmVersion.js +64 -0
  269. package/dist/utils/nodeAndNpmVersion.js.map +1 -0
  270. package/dist/utils/pathsExistOnDir.d.ts +2 -0
  271. package/dist/utils/pathsExistOnDir.d.ts.map +1 -0
  272. package/dist/utils/pathsExistOnDir.js +12 -0
  273. package/dist/utils/pathsExistOnDir.js.map +1 -0
  274. package/dist/utils/project.d.ts +29 -0
  275. package/dist/utils/project.d.ts.map +1 -0
  276. package/dist/utils/project.js +48 -0
  277. package/dist/utils/project.js.map +1 -0
  278. package/dist/utils/shellCommands.d.ts +19 -0
  279. package/dist/utils/shellCommands.d.ts.map +1 -0
  280. package/dist/utils/shellCommands.js +73 -0
  281. package/dist/utils/shellCommands.js.map +1 -0
  282. package/dist/utils/spinner.d.ts +6 -0
  283. package/dist/utils/spinner.d.ts.map +1 -0
  284. package/dist/utils/spinner.js +58 -0
  285. package/dist/utils/spinner.js.map +1 -0
  286. package/package.json +115 -0
  287. package/raim7jnk.cjs +1 -0
  288. package/samples/workspace/Dockerfile +21 -0
  289. package/samples/workspace/package.json +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateBundleDependenciesField.js","sourceRoot":"","sources":["../../src/project/updateBundleDependenciesField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,wDAAyB;AAEzB,oDAA2D;AAC3D,0EAA6F;AAC7F,0DAA2C;AAE5B,KAAK,oBAAW,EAAE,OAAO,EAAuB;IAC7D,IAAI;QACF,OAAO,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAA;QAEjD,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAQ,EAAc,cAAc,CAAC,CAAA;QAC/D,MAAM,eAAe,GAAG,IAAA,uCAAe,EAAC,WAAW,CAAC,CAAA;QACpD,MAAM,wBAAwB,GAAG,MAAM,IAAA,mDAA2B,kCAC3D,eAAe,CAAC,YAAY,GAAK,eAAe,CAAC,eAAe,GACrE,OAAO,CACR,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,CAAC,wBAAwB,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC9D,CAAA;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,mBAAmB,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAA;YAC7G,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,KAA0B,WAAW,EAAhC,gBAAgB,UAAK,WAAW,EAA9E,6CAAgE,CAAc,CAAA;YACpF,MAAM,UAAU,mCACX,gBAAgB,KACnB,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GACxD,CAAA;YAED,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SACxE;QACD,OAAO,CAAC,OAAO,EAAE,CAAA;KAClB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,CAAC,CAAA;KACR;AACH,CAAC;AA/BD,4BA+BC"}
@@ -0,0 +1,4 @@
1
+ import { Scene } from '@dcl/schemas';
2
+ export declare function getSceneFile(workingDir: string, cache?: boolean): Promise<Scene>;
3
+ export declare function setSceneFile(sceneFile: Scene, workingDir: string): Promise<void>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sceneJson/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAMpC,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAO5F;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF"}
@@ -0,0 +1,24 @@
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
+ exports.setSceneFile = exports.getSceneFile = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ let sceneFile;
10
+ async function getSceneFile(workingDir, cache = true) {
11
+ if (cache && sceneFile) {
12
+ return sceneFile;
13
+ }
14
+ sceneFile = await fs_extra_1.default.readJSON(path_1.default.resolve(workingDir, 'scene.json'));
15
+ return sceneFile;
16
+ }
17
+ exports.getSceneFile = getSceneFile;
18
+ async function setSceneFile(sceneFile, workingDir) {
19
+ return fs_extra_1.default.writeJSON(path_1.default.resolve(workingDir, 'scene.json'), sceneFile, {
20
+ spaces: 2
21
+ });
22
+ }
23
+ exports.setSceneFile = setSceneFile;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sceneJson/index.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AACvB,wDAAyB;AAEzB,IAAI,SAAgB,CAAA;AAEb,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,QAAiB,IAAI;IAC1E,IAAI,KAAK,IAAI,SAAS,EAAE;QACtB,OAAO,SAAS,CAAA;KACjB;IAED,SAAS,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;IACrE,OAAO,SAAS,CAAA;AAClB,CAAC;AAPD,oCAOC;AAEM,KAAK,UAAU,YAAY,CAAC,SAAgB,EAAE,UAAkB;IACrE,OAAO,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE;QACrE,MAAM,EAAE,CAAC;KACV,CAAC,CAAA;AACJ,CAAC;AAJD,oCAIC"}
@@ -0,0 +1,2 @@
1
+ export declare function lintSceneFile(workingDir: string): Promise<void>;
2
+ //# sourceMappingURL=lintSceneFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lintSceneFile.d.ts","sourceRoot":"","sources":["../../src/sceneJson/lintSceneFile.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcrE"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lintSceneFile = void 0;
4
+ const _1 = require(".");
5
+ async function lintSceneFile(workingDir) {
6
+ const sceneFile = await (0, _1.getSceneFile)(workingDir);
7
+ const finalScene = Object.assign(Object.assign({}, sceneFile), { scene: Object.assign(Object.assign({}, sceneFile.scene), { base: sceneFile.scene.base.replace(/\ /g, ''), parcels: sceneFile.scene.parcels.map((coords) => coords.replace(/\ /g, '')) }) });
8
+ if (JSON.stringify(sceneFile) !== JSON.stringify(finalScene)) {
9
+ return (0, _1.setSceneFile)(finalScene, workingDir);
10
+ }
11
+ }
12
+ exports.lintSceneFile = lintSceneFile;
13
+ //# sourceMappingURL=lintSceneFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lintSceneFile.js","sourceRoot":"","sources":["../../src/sceneJson/lintSceneFile.ts"],"names":[],"mappings":";;;AAEA,wBAA8C;AAEvC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,SAAS,GAAG,MAAM,IAAA,eAAY,EAAC,UAAU,CAAC,CAAA;IAChD,MAAM,UAAU,mCACX,SAAS,KACZ,KAAK,kCACA,SAAS,CAAC,KAAK,KAClB,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAC7C,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAE9E,CAAA;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QAC5D,OAAO,IAAA,eAAY,EAAC,UAAU,EAAE,UAAU,CAAC,CAAA;KAC5C;AACH,CAAC;AAdD,sCAcC"}
@@ -0,0 +1,3 @@
1
+ import { Scene } from '@dcl/schemas';
2
+ export declare function validateScene(sceneJson: Scene, log?: boolean): boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/sceneJson/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAWpC,wBAAgB,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,GAAE,OAAe,GAAG,OAAO,CA8B7E"}
@@ -0,0 +1,66 @@
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.validateScene = void 0;
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const schemas_1 = require("@dcl/schemas");
32
+ const spinner = __importStar(require("../utils/spinner"));
33
+ function checkMissingOrDefault(obj, defaults) {
34
+ const missingKeys = Object.entries(defaults).reduce((acc, [key, value]) => {
35
+ return obj[key] && obj[key] !== value ? acc : acc.concat(key);
36
+ }, []);
37
+ return missingKeys;
38
+ }
39
+ function validateScene(sceneJson, log = false) {
40
+ log && spinner.create('Validating scene.json');
41
+ const validScene = schemas_1.Scene.validate(sceneJson);
42
+ if (!validScene) {
43
+ const error = (schemas_1.Scene.validate.errors || []).map((a) => `${a.data} ${a.message}`).join('');
44
+ log && spinner.fail(`Invalid scene.json: ${error}`);
45
+ return false;
46
+ }
47
+ const defaults = {
48
+ title: 'DCL Scene',
49
+ description: 'My new Decentraland project',
50
+ navmapThumbnail: 'images/scene-thumbnail.png'
51
+ };
52
+ const sceneDisplay = sceneJson.display || {};
53
+ const missingKeys = checkMissingOrDefault(sceneDisplay, defaults);
54
+ if (log) {
55
+ if (missingKeys.length) {
56
+ spinner.warn(`Don't forget to update your scene.json metadata: [${missingKeys.join(', ')}]
57
+ ${chalk_1.default.underline.bold('https://docs.decentraland.org/development-guide/scene-metadata/')}`);
58
+ }
59
+ else {
60
+ spinner.succeed();
61
+ }
62
+ }
63
+ return !missingKeys.length;
64
+ }
65
+ exports.validateScene = validateScene;
66
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sceneJson/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,0CAAoC;AAEpC,0DAA2C;AAE3C,SAAS,qBAAqB,CAAoC,GAAM,EAAE,QAAW;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAgB,aAAa,CAAC,SAAgB,EAAE,MAAe,KAAK;IAClE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,eAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC5C,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,KAAK,GAAG,CAAC,eAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEzF,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAqB;QACjC,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,6BAA6B;QAC1C,eAAe,EAAE,4BAA4B;KAC9C,CAAA;IACD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAA;IAE5C,MAAM,WAAW,GAAG,qBAAqB,CAAgC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEhG,IAAI,GAAG,EAAE;QACP,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,qDAAqD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;UACpF,eAAK,CAAC,SAAS,CAAC,IAAI,CAAC,iEAAiE,CAAC,EAAE,CAAC,CAAA;SAC/F;aAAM;YACL,OAAO,CAAC,OAAO,EAAE,CAAA;SAClB;KACF;IAED,OAAO,CAAC,WAAW,CAAC,MAAM,CAAA;AAC5B,CAAC;AA9BD,sCA8BC"}
@@ -0,0 +1,42 @@
1
+ import AnalyticsNode from 'analytics-node';
2
+ import { IPFSv2 } from '@dcl/schemas';
3
+ export declare let analytics: AnalyticsNode;
4
+ export declare type AnalyticsProject = {
5
+ projectHash?: string;
6
+ ecs?: {
7
+ ecsVersion: string;
8
+ packageVersion: string;
9
+ };
10
+ coords?: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ parcelCount?: number;
15
+ isWorkspace: boolean;
16
+ };
17
+ export declare type SceneDeploySuccess = Omit<AnalyticsProject, 'isWorkspace'> & {
18
+ isWorld: boolean;
19
+ sceneId: IPFSv2;
20
+ targetContentServer: string;
21
+ worldName: string | undefined;
22
+ };
23
+ export declare namespace Analytics {
24
+ const sceneCreated: (properties?: {
25
+ projectType: string;
26
+ url?: string | undefined;
27
+ } | undefined) => void;
28
+ const startPreview: (properties: AnalyticsProject) => void;
29
+ const sceneStartDeploy: (properties?: any) => void;
30
+ const sceneDeploySuccess: (properties: SceneDeploySuccess) => void;
31
+ const worldAcl: (properties: any) => void;
32
+ const buildScene: (properties: AnalyticsProject) => void;
33
+ const infoCmd: (properties?: any) => void;
34
+ const statusCmd: (properties?: any) => void;
35
+ const sendData: (shareData: boolean) => void;
36
+ const tryToUseDeprecated: (properties?: any) => void;
37
+ function identify(devId: string): Promise<void>;
38
+ function reportError(type: string, message: string, stackTrace: string): Promise<void | null>;
39
+ function requestPermission(): Promise<void>;
40
+ }
41
+ export declare function finishPendingTracking(): Promise<any[]>;
42
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/utils/analytics.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAK1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKrC,eAAO,IAAI,SAAS,EAAE,aAAa,CAAA;AAYnC,oBAAY,gBAAgB,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,cAAc,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,oBAAY,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG;IACvE,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,yBAAiB,SAAS,CAAC;IAClB,MAAM,YAAY;qBAAgC,MAAM;;0BACtB,CAAA;IAElC,MAAM,YAAY,eAAgB,gBAAgB,SAA8C,CAAA;IAEhG,MAAM,gBAAgB,gBAAiB,GAAG,SAAmD,CAAA;IAE7F,MAAM,kBAAkB,eAAgB,kBAAkB,SAAmD,CAAA;IAE7G,MAAM,QAAQ,eAAgB,GAAG,SAAwC,CAAA;IAEzE,MAAM,UAAU,eAAgB,gBAAgB,SAA0C,CAAA;IAE1F,MAAM,OAAO,gBAAiB,GAAG,SAA2C,CAAA;IAC5E,MAAM,SAAS,gBAAiB,GAAG,SAA6C,CAAA;IAChF,MAAM,QAAQ,cAAe,OAAO,SAAuD,CAAA;IAC3F,MAAM,kBAAkB,gBAAiB,GAAG,SAA6D,CAAA;IAEhH,SAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,iBAW3C;IAED,SAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,wBAMlF;IAED,SAAsB,iBAAiB,kBAmBtC;CACF;AAqDD,wBAAsB,qBAAqB,mBAE1C"}
@@ -0,0 +1,111 @@
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
+ exports.finishPendingTracking = exports.Analytics = exports.analytics = void 0;
7
+ const uuid_1 = require("uuid");
8
+ const analytics_node_1 = __importDefault(require("analytics-node"));
9
+ const config_1 = require("../config");
10
+ const moduleHelpers_1 = require("./moduleHelpers");
11
+ const logging_1 = require("./logging");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ // Setup segment.io
14
+ const SINGLEUSER = 'cli-user';
15
+ const ANONYMOUS_DATA_QUESTION = 'Send Anonymous data';
16
+ function isCI() {
17
+ return process.env.CI === 'true' || process.argv.includes('--ci') || process.argv.includes('--c');
18
+ }
19
+ function isEditor() {
20
+ return process.env.EDITOR === 'true';
21
+ }
22
+ var Analytics;
23
+ (function (Analytics) {
24
+ Analytics.sceneCreated = (properties) => trackAsync('Scene created', properties);
25
+ Analytics.startPreview = (properties) => trackAsync('Preview started', properties);
26
+ Analytics.sceneStartDeploy = (properties) => trackAsync('Scene deploy started', properties);
27
+ Analytics.sceneDeploySuccess = (properties) => trackAsync('Scene deploy success', properties);
28
+ Analytics.worldAcl = (properties) => trackAsync('World ACL', properties);
29
+ Analytics.buildScene = (properties) => trackAsync('Build scene', properties);
30
+ Analytics.infoCmd = (properties) => trackAsync('Info command', properties);
31
+ Analytics.statusCmd = (properties) => trackAsync('Status command', properties);
32
+ Analytics.sendData = (shareData) => trackAsync(ANONYMOUS_DATA_QUESTION, { shareData });
33
+ Analytics.tryToUseDeprecated = (properties) => trackAsync('Try to use depacreated feature', properties);
34
+ async function identify(devId) {
35
+ exports.analytics.identify({
36
+ userId: SINGLEUSER,
37
+ traits: {
38
+ os: process.platform,
39
+ createdAt: new Date().getTime(),
40
+ isCI: isCI(),
41
+ isEditor: isEditor(),
42
+ devId
43
+ }
44
+ });
45
+ }
46
+ Analytics.identify = identify;
47
+ async function reportError(type, message, stackTrace) {
48
+ return track('Error', {
49
+ errorType: type,
50
+ message,
51
+ stackTrace
52
+ });
53
+ }
54
+ Analytics.reportError = reportError;
55
+ async function requestPermission() {
56
+ const { fileExists, segmentKey } = (0, config_1.getConfig)();
57
+ if (!segmentKey)
58
+ return;
59
+ exports.analytics = new analytics_node_1.default(segmentKey);
60
+ if (!fileExists) {
61
+ console.log(chalk_1.default.dim(`Decentraland CLI sends anonymous usage stats to improve their products, if you want to disable it change the configuration at ${chalk_1.default.bold('~/.dclinfo')}\n`));
62
+ const newUserId = (0, uuid_1.v4)();
63
+ await (0, config_1.createDCLInfo)({ userId: newUserId, trackStats: true });
64
+ (0, logging_1.debug)(`${chalk_1.default.bold('.dclinfo')} file created`);
65
+ await identify(newUserId);
66
+ Analytics.sendData(true);
67
+ }
68
+ }
69
+ Analytics.requestPermission = requestPermission;
70
+ })(Analytics = exports.Analytics || (exports.Analytics = {}));
71
+ /**
72
+ * Tracks an specific event using the Segment API
73
+ * @param eventName The name of the event to be tracked
74
+ * @param properties Any object containing serializable data
75
+ */
76
+ async function track(eventName, properties = {}) {
77
+ const { userId, trackStats } = (0, config_1.getConfig)();
78
+ if (!(await (0, moduleHelpers_1.isOnline)())) {
79
+ return null;
80
+ }
81
+ return new Promise(async (resolve) => {
82
+ const newProperties = Object.assign(Object.assign({}, properties), { os: process.platform, nodeVersion: process.version, cliVersion: (0, moduleHelpers_1.getInstalledCLIVersion)(), isCI: isCI(), isEditor: isEditor(), devId: userId });
83
+ const shouldTrack = trackStats || eventName === ANONYMOUS_DATA_QUESTION;
84
+ if (!shouldTrack) {
85
+ resolve();
86
+ }
87
+ const event = {
88
+ userId: SINGLEUSER,
89
+ event: eventName,
90
+ properties: newProperties
91
+ };
92
+ try {
93
+ exports.analytics.track(event, () => {
94
+ resolve();
95
+ });
96
+ }
97
+ catch (e) {
98
+ resolve();
99
+ }
100
+ });
101
+ }
102
+ const pendingTracking = [];
103
+ function trackAsync(eventName, properties = {}) {
104
+ const pTracking = track(eventName, properties).then().catch(logging_1.debug);
105
+ pendingTracking.push(pTracking);
106
+ }
107
+ async function finishPendingTracking() {
108
+ return Promise.all(pendingTracking);
109
+ }
110
+ exports.finishPendingTracking = finishPendingTracking;
111
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/utils/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function buildProject(workingDir: string): Promise<void>;
2
+ //# sourceMappingURL=buildProject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildProject.d.ts","sourceRoot":"","sources":["../../src/utils/buildProject.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const child_process_1 = require("child_process");
4
+ const npm = /^win/.test(process.platform) ? 'npm.cmd' : 'npm';
5
+ function buildProject(workingDir) {
6
+ console.log(`Building project using "npm run build"`);
7
+ return new Promise((resolve, reject) => {
8
+ const child = (0, child_process_1.spawn)(npm, ['run', 'build'], {
9
+ shell: true,
10
+ cwd: workingDir,
11
+ env: Object.assign(Object.assign({}, process.env), { NODE_ENV: '' })
12
+ });
13
+ child.stdout.pipe(process.stdout);
14
+ child.stderr.pipe(process.stderr);
15
+ child.on('close', (code) => {
16
+ if (code !== 0) {
17
+ reject(new Error('Error while building the project'));
18
+ }
19
+ else {
20
+ resolve();
21
+ }
22
+ });
23
+ });
24
+ }
25
+ exports.default = buildProject;
26
+ //# sourceMappingURL=buildProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/utils/buildProject.ts"],"names":[],"mappings":";;AAAA,iDAAqC;AAErC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;AAE7D,SAAwB,YAAY,CAAC,UAAkB;IACrD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACzC,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,UAAU;YACf,GAAG,kCAAO,OAAO,CAAC,GAAG,KAAE,QAAQ,EAAE,EAAE,GAAE;SACtC,CAAC,CAAA;QAEF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;aACtD;iBAAM;gBACL,OAAO,EAAE,CAAA;aACV;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AApBD,+BAoBC"}
@@ -0,0 +1,20 @@
1
+ import { Entity } from '@dcl/schemas';
2
+ export declare type DAOCatalyst = {
3
+ baseUrl: string;
4
+ owner: string;
5
+ id: string;
6
+ };
7
+ declare type CatalystInfo = {
8
+ url: string;
9
+ timestamp: number;
10
+ entityId: string;
11
+ };
12
+ export declare type Network = 'mainnet' | 'sepolia';
13
+ export declare function daoCatalysts(network?: Network): Promise<Array<DAOCatalyst>>;
14
+ export declare function fetchEntityByPointer(baseUrl: string, pointers: string[]): Promise<{
15
+ baseUrl: string;
16
+ deployments: Entity[];
17
+ }>;
18
+ export declare function getPointers(pointer: string, network?: Network): Promise<CatalystInfo[]>;
19
+ export {};
20
+ //# sourceMappingURL=catalystPointers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalystPointers.d.ts","sourceRoot":"","sources":["../../src/utils/catalystPointers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAGrC,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,aAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,oBAAY,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAE3C,wBAAsB,YAAY,CAAC,OAAO,GAAE,OAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAI5F;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAC,CAqBD;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAmB,2BAiB9E"}
@@ -0,0 +1,51 @@
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
+ exports.getPointers = exports.fetchEntityByPointer = exports.daoCatalysts = void 0;
7
+ const node_fetch_1 = __importDefault(require("node-fetch"));
8
+ async function daoCatalysts(network = 'mainnet') {
9
+ const tld = network === 'mainnet' ? 'org' : 'zone';
10
+ const resp = await (await (0, node_fetch_1.default)(`https://peer.decentraland.${tld}/lambdas/contracts/servers`)).json();
11
+ return resp;
12
+ }
13
+ exports.daoCatalysts = daoCatalysts;
14
+ async function fetchEntityByPointer(baseUrl, pointers) {
15
+ if (pointers.length === 0)
16
+ return {
17
+ baseUrl,
18
+ deployments: []
19
+ };
20
+ const activeEntities = baseUrl + '/content/entities/active';
21
+ const response = await (0, node_fetch_1.default)(activeEntities, {
22
+ method: 'post',
23
+ headers: { 'content-type': 'application/json', connection: 'close' },
24
+ body: JSON.stringify({ pointers })
25
+ });
26
+ const deployments = response.ok ? (await response.json()) : [];
27
+ return {
28
+ baseUrl,
29
+ deployments
30
+ };
31
+ }
32
+ exports.fetchEntityByPointer = fetchEntityByPointer;
33
+ async function getPointers(pointer, network = 'mainnet') {
34
+ var _a, _b;
35
+ const catalysts = await daoCatalysts(network);
36
+ const catalystInfo = [];
37
+ for (const { baseUrl } of catalysts) {
38
+ try {
39
+ const result = await fetchEntityByPointer(baseUrl, [pointer]);
40
+ const timestamp = (_a = result.deployments[0]) === null || _a === void 0 ? void 0 : _a.timestamp;
41
+ const entityId = ((_b = result.deployments[0]) === null || _b === void 0 ? void 0 : _b.id) || '';
42
+ catalystInfo.push({ timestamp, entityId, url: baseUrl });
43
+ }
44
+ catch (err) {
45
+ console.log('Error fetching catalyst pointers', err);
46
+ }
47
+ }
48
+ return catalystInfo;
49
+ }
50
+ exports.getPointers = getPointers;
51
+ //# sourceMappingURL=catalystPointers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalystPointers.js","sourceRoot":"","sources":["../../src/utils/catalystPointers.ts"],"names":[],"mappings":";;;;;;AACA,4DAA8B;AAgBvB,KAAK,UAAU,YAAY,CAAC,UAAmB,SAAS;IAC7D,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAA,oBAAK,EAAC,6BAA6B,GAAG,4BAA4B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACrG,OAAO,IAAqB,CAAA;AAC9B,CAAC;AAJD,oCAIC;AAEM,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,QAAkB;IAKlB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,OAAO;YACL,OAAO;YACP,WAAW,EAAE,EAAE;SAChB,CAAA;IAEH,MAAM,cAAc,GAAG,OAAO,GAAG,0BAA0B,CAAA;IAE3D,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,cAAc,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE;QACpE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;KACnC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAa,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtF,OAAO;QACL,OAAO;QACP,WAAW;KACZ,CAAA;AACH,CAAC;AA3BD,oDA2BC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,UAAmB,SAAS;;IAC7E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,YAAY,GAAmB,EAAE,CAAA;IAEvC,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE;QACnC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,SAAS,CAAA;YAClD,MAAM,QAAQ,GAAG,CAAA,MAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,EAAE,KAAI,EAAE,CAAA;YAEhD,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;SACzD;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;SACrD;KACF;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAjBD,kCAiBC"}
@@ -0,0 +1,65 @@
1
+ export interface IBounds {
2
+ minX: number;
3
+ minY: number;
4
+ maxX: number;
5
+ maxY: number;
6
+ }
7
+ export declare type Coords = {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ /**
12
+ * Returns metaverse coordinates bounds.
13
+ */
14
+ export declare function getBounds(): IBounds;
15
+ /**
16
+ * Parses a string-based set of coordinates.
17
+ * - All spaces are removed
18
+ * - Leading zeroes are removed
19
+ * - `-0` is converted to `0`
20
+ * @param coordinates An string containing coordinates in the `x,y; x,y; ...` format
21
+ */
22
+ export declare function parse(coordinates: string): string[];
23
+ /**
24
+ * Returns a promise that resolves `true` if the given set of coordinates is valid.
25
+ * For invalid coordinates, the promise will reject with an error message.
26
+ * *This is meant to be used as an inquirer validator.*
27
+ *
28
+ * Empty inputs will resolve `true`
29
+ * @param answers An string containing coordinates in the `x,y; x,y; ...` format
30
+ */
31
+ export declare function validate(answers: string): Promise<boolean>;
32
+ /**
33
+ * Returns true if the given coordinate's format is valid
34
+ *
35
+ * ```
36
+ * isValid('0,0') // returns true
37
+ * isValid(', 0') // returns false
38
+ * ```
39
+ * @param val The coodinate string
40
+ */
41
+ export declare function isValid(val: string): boolean;
42
+ /**
43
+ * Converts a string-based set of coordinates to an object
44
+ * @param coords A string containing a set of coordinates
45
+ */
46
+ export declare function getObject(coords: string): Coords;
47
+ /**
48
+ * Converts a array-based set of coordinates to an object
49
+ * @param coords An array containing a set of coordinates
50
+ */
51
+ export declare function getObject(coords: number[]): Coords;
52
+ /**
53
+ * Converts a Coords object to a string-based set of coordinates
54
+ */
55
+ export declare function getString({ x, y }: Coords): string;
56
+ /**
57
+ * Returns true if the given coordinates are in metaverse bounds
58
+ */
59
+ export declare function inBounds(x: number, y: number): boolean;
60
+ /**
61
+ * Returns true if the given parcels array are connected
62
+ */
63
+ export declare function areConnected(parcels: Coords[]): boolean;
64
+ export declare function isEqual(p1: Coords, p2: Coords): boolean;
65
+ //# sourceMappingURL=coordinateHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinateHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/coordinateHelpers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,oBAAY,MAAM,GAAG;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAAA;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAUnD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;AACjD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;AAMnD;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAMvD;AAsBD,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEqual = exports.areConnected = exports.inBounds = exports.getString = exports.getObject = exports.isValid = exports.validate = exports.parse = exports.getBounds = void 0;
4
+ /**
5
+ * Returns metaverse coordinates bounds.
6
+ */
7
+ function getBounds() {
8
+ return {
9
+ minX: -150,
10
+ minY: -150,
11
+ maxX: 165,
12
+ maxY: 165
13
+ };
14
+ }
15
+ exports.getBounds = getBounds;
16
+ /**
17
+ * Parses a string-based set of coordinates.
18
+ * - All spaces are removed
19
+ * - Leading zeroes are removed
20
+ * - `-0` is converted to `0`
21
+ * @param coordinates An string containing coordinates in the `x,y; x,y; ...` format
22
+ */
23
+ function parse(coordinates) {
24
+ return coordinates.split(';').map((coord) => {
25
+ const [x = 0, y = 0] = coord.split(',').map(($) => {
26
+ return parseInt($, 10)
27
+ .toString() // removes spaces :)
28
+ .replace('-0', '0')
29
+ .replace(/undefined|NaN/g, '0');
30
+ });
31
+ return `${x},${y}`;
32
+ });
33
+ }
34
+ exports.parse = parse;
35
+ /**
36
+ * Returns a promise that resolves `true` if the given set of coordinates is valid.
37
+ * For invalid coordinates, the promise will reject with an error message.
38
+ * *This is meant to be used as an inquirer validator.*
39
+ *
40
+ * Empty inputs will resolve `true`
41
+ * @param answers An string containing coordinates in the `x,y; x,y; ...` format
42
+ */
43
+ function validate(answers) {
44
+ return new Promise((resolve, reject) => {
45
+ if (answers.trim().length === 0) {
46
+ resolve(true);
47
+ }
48
+ else {
49
+ answers.split(/;\s/g).forEach((answer) => {
50
+ if (!isValid(answer)) {
51
+ reject(new Error(`Invalid coordinate ${answer}`));
52
+ }
53
+ });
54
+ resolve(true);
55
+ }
56
+ });
57
+ }
58
+ exports.validate = validate;
59
+ /**
60
+ * Returns true if the given coordinate's format is valid
61
+ *
62
+ * ```
63
+ * isValid('0,0') // returns true
64
+ * isValid(', 0') // returns false
65
+ * ```
66
+ * @param val The coodinate string
67
+ */
68
+ function isValid(val) {
69
+ if (!val.match(/^(-?\d)+\,(-?\d)+$/g)) {
70
+ return false;
71
+ }
72
+ return true;
73
+ }
74
+ exports.isValid = isValid;
75
+ function getObject(coords) {
76
+ const [x, y] = typeof coords === 'string' ? parse(coords)[0].split(',') : coords;
77
+ return { x: parseInt(x.toString(), 10), y: parseInt(y.toString(), 10) };
78
+ }
79
+ exports.getObject = getObject;
80
+ /**
81
+ * Converts a Coords object to a string-based set of coordinates
82
+ */
83
+ function getString({ x, y }) {
84
+ return `${x},${y}`;
85
+ }
86
+ exports.getString = getString;
87
+ /**
88
+ * Returns true if the given coordinates are in metaverse bounds
89
+ */
90
+ function inBounds(x, y) {
91
+ const { minX, minY, maxX, maxY } = getBounds();
92
+ return x >= minX && x <= maxX && y >= minY && y <= maxY;
93
+ }
94
+ exports.inBounds = inBounds;
95
+ /**
96
+ * Returns true if the given parcels array are connected
97
+ */
98
+ function areConnected(parcels) {
99
+ if (parcels.length === 0) {
100
+ return false;
101
+ }
102
+ const visited = visitParcel(parcels[0], parcels);
103
+ return visited.length === parcels.length;
104
+ }
105
+ exports.areConnected = areConnected;
106
+ function visitParcel(parcel, allParcels = [parcel], visited = []) {
107
+ const isVisited = visited.some((visitedParcel) => isEqual(visitedParcel, parcel));
108
+ if (!isVisited) {
109
+ visited.push(parcel);
110
+ const neighbours = getNeighbours(parcel.x, parcel.y, allParcels);
111
+ neighbours.forEach((neighbours) => visitParcel(neighbours, allParcels, visited));
112
+ }
113
+ return visited;
114
+ }
115
+ function getIsNeighbourMatcher(x, y) {
116
+ return (coords) => (coords.x === x && (coords.y + 1 === y || coords.y - 1 === y)) ||
117
+ (coords.y === y && (coords.x + 1 === x || coords.x - 1 === x));
118
+ }
119
+ function getNeighbours(x, y, parcels) {
120
+ return parcels.filter(getIsNeighbourMatcher(x, y));
121
+ }
122
+ function isEqual(p1, p2) {
123
+ return p1.x === p2.x && p1.y === p2.y;
124
+ }
125
+ exports.isEqual = isEqual;
126
+ //# sourceMappingURL=coordinateHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinateHelpers.js","sourceRoot":"","sources":["../../src/utils/coordinateHelpers.ts"],"names":[],"mappings":"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"}