decentrand 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/samples/workspace/Dockerfile +21 -0
  288. package/samples/workspace/package.json +16 -0
  289. package/sbzkmrj2.cjs +1 -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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"}