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,543 @@
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.getFilesFromFolder = exports.setupEcs6Endpoints = void 0;
30
+ const path = __importStar(require("path"));
31
+ const fs = __importStar(require("fs"));
32
+ const glob_1 = require("glob");
33
+ const sdk_1 = require("@dcl/schemas/dist/sdk");
34
+ const schemas_1 = require("@dcl/schemas");
35
+ const ignore_1 = __importDefault(require("ignore"));
36
+ const node_fetch_1 = __importStar(require("node-fetch"));
37
+ const catalystPointers_1 = require("../../utils/catalystPointers");
38
+ const projectInfo_1 = require("../../project/projectInfo");
39
+ const config_1 = require("../../config");
40
+ function getCatalystUrl() {
41
+ var _a;
42
+ return new URL((_a = (0, config_1.getConfig)().catalystUrl) !== null && _a !== void 0 ? _a : 'https://peer.decentraland.org');
43
+ }
44
+ function setupEcs6Endpoints(components, router) {
45
+ // handle old preview scene.json
46
+ router.get('/scene.json', async () => {
47
+ return {
48
+ headers: { 'content-type': 'application/json' },
49
+ body: fs.createReadStream(path.join(components.dcl.getWorkingDir(), 'scene.json'))
50
+ };
51
+ });
52
+ router.get('/lambdas/explore/realms', async (ctx) => {
53
+ return {
54
+ body: [
55
+ {
56
+ serverName: 'localhost',
57
+ url: `http://${ctx.url.host}`,
58
+ layer: 'stub',
59
+ usersCount: 0,
60
+ maxUsers: 100,
61
+ userParcels: []
62
+ }
63
+ ]
64
+ };
65
+ });
66
+ router.get('/lambdas/contracts/servers', async (ctx) => {
67
+ return {
68
+ body: [
69
+ {
70
+ address: `http://${ctx.url.host}`,
71
+ owner: '0x0000000000000000000000000000000000000000',
72
+ id: '0x0000000000000000000000000000000000000000000000000000000000000000'
73
+ }
74
+ ]
75
+ };
76
+ });
77
+ router.get('/lambdas/profiles', async (ctx, next) => {
78
+ const baseUrl = `${ctx.url.protocol}//${ctx.url.host}/content/contents`;
79
+ try {
80
+ const previewWearables = getAllPreviewWearables({
81
+ baseFolders,
82
+ baseUrl
83
+ }).map((wearable) => wearable.id);
84
+ if (previewWearables.length === 1) {
85
+ const catalystUrl = getCatalystUrl();
86
+ const u = new URL(ctx.url.toString());
87
+ u.host = catalystUrl.host;
88
+ u.protocol = catalystUrl.protocol;
89
+ u.port = catalystUrl.port;
90
+ const req = await (0, node_fetch_1.default)(u.toString(), {
91
+ headers: {
92
+ connection: 'close'
93
+ },
94
+ method: ctx.request.method,
95
+ body: ctx.request.method === 'get' ? undefined : ctx.request.body
96
+ });
97
+ const deployedProfile = (await req.json());
98
+ if ((deployedProfile === null || deployedProfile === void 0 ? void 0 : deployedProfile.length) === 1) {
99
+ deployedProfile[0].avatars[0].avatar.wearables.push(...previewWearables);
100
+ return {
101
+ headers: {
102
+ 'content-type': req.headers.get('content-type') || 'application/binary'
103
+ },
104
+ body: deployedProfile
105
+ };
106
+ }
107
+ }
108
+ }
109
+ catch (err) {
110
+ console.warn(`Failed to catch profile and fill with preview wearables.`, err);
111
+ }
112
+ return next();
113
+ });
114
+ router.all('/lambdas/:path+', async (ctx) => {
115
+ const catalystUrl = getCatalystUrl();
116
+ const u = new URL(ctx.url.toString());
117
+ u.host = catalystUrl.host;
118
+ u.protocol = catalystUrl.protocol;
119
+ u.port = catalystUrl.port;
120
+ const req = await (0, node_fetch_1.default)(u.toString(), {
121
+ headers: {
122
+ connection: 'close'
123
+ },
124
+ method: ctx.request.method,
125
+ body: ctx.request.method === 'get' ? undefined : ctx.request.body
126
+ });
127
+ return {
128
+ headers: {
129
+ 'content-type': req.headers.get('content-type') || 'application/binary'
130
+ },
131
+ body: req.body
132
+ };
133
+ });
134
+ router.post('/content/entities', async (ctx) => {
135
+ const catalystUrl = getCatalystUrl();
136
+ const headers = new node_fetch_1.Headers();
137
+ console.log(ctx.request.headers);
138
+ const res = await (0, node_fetch_1.default)(`${catalystUrl.toString()}/content/entities`, {
139
+ method: 'post',
140
+ headers,
141
+ body: ctx.request.body
142
+ });
143
+ return res;
144
+ });
145
+ serveStatic(components, router);
146
+ let baseSceneFolders = [components.dcl.getWorkingDir()];
147
+ let baseWearableFolders = [components.dcl.getWorkingDir()];
148
+ // TODO: merge types from github.com/decentraland/cli
149
+ if (components.dcl.workspace) {
150
+ const projects = components.dcl.workspace.getAllProjects();
151
+ if (!!(projects === null || projects === void 0 ? void 0 : projects.length)) {
152
+ const { wearables, scenes } = projects.reduce((acc, project) => {
153
+ const projectType = project.getInfo().sceneType;
154
+ const projectDir = project.getProjectWorkingDir();
155
+ if (projectType === schemas_1.sdk.ProjectType.SCENE)
156
+ acc.scenes.push(projectDir);
157
+ if (projectType === schemas_1.sdk.ProjectType.PORTABLE_EXPERIENCE)
158
+ acc.wearables.push(projectDir);
159
+ return acc;
160
+ }, { wearables: [], scenes: [] });
161
+ baseSceneFolders = scenes;
162
+ baseWearableFolders = wearables;
163
+ }
164
+ }
165
+ const baseFolders = Array.from(new Set([...baseSceneFolders, ...baseWearableFolders]));
166
+ serveFolders(components, router, baseFolders);
167
+ }
168
+ exports.setupEcs6Endpoints = setupEcs6Endpoints;
169
+ function serveFolders(components, router, baseFolders) {
170
+ router.get('/content/contents/:hash', async (ctx, next) => {
171
+ if (ctx.params.hash && ctx.params.hash.startsWith('b64-')) {
172
+ const fullPath = path.resolve(Buffer.from(ctx.params.hash.replace(/^b64-/, ''), 'base64').toString('utf8'));
173
+ // only return files IF the file is within a baseFolder
174
+ if (!baseFolders.find((folder) => fullPath.startsWith(folder))) {
175
+ return next();
176
+ }
177
+ return {
178
+ headers: {
179
+ 'x-timestamp': `${Date.now()}`,
180
+ 'x-sent': 'true',
181
+ 'cache-control': 'no-cache,private,max-age=1'
182
+ },
183
+ body: fs.createReadStream(fullPath)
184
+ };
185
+ }
186
+ return next();
187
+ });
188
+ async function pointerRequestHandler(pointers) {
189
+ if (!pointers || pointers.length === 0) {
190
+ return [];
191
+ }
192
+ const requestedPointers = new Set(pointers && typeof pointers === 'string' ? [pointers] : pointers);
193
+ const resultEntities = getSceneJson({
194
+ baseFolders,
195
+ pointers: Array.from(requestedPointers)
196
+ });
197
+ const catalystUrl = getCatalystUrl();
198
+ const remote = (0, catalystPointers_1.fetchEntityByPointer)(catalystUrl.toString(), pointers.filter(($) => !$.match(/-?\d+,-?\d+/)));
199
+ const serverEntities = Array.isArray(remote) ? remote : [];
200
+ return [...resultEntities, ...serverEntities];
201
+ }
202
+ // REVIEW RESPONSE FORMAT
203
+ router.get('/content/entities/scene', async (ctx) => {
204
+ return {
205
+ body: await pointerRequestHandler(ctx.url.searchParams.getAll('pointer'))
206
+ };
207
+ });
208
+ // REVIEW RESPONSE FORMAT
209
+ router.post('/content/entities/active', async (ctx) => {
210
+ const body = await ctx.request.json();
211
+ return {
212
+ body: await pointerRequestHandler(body.pointers)
213
+ };
214
+ });
215
+ router.get('/preview-wearables/:id', async (ctx) => {
216
+ const baseUrl = `${ctx.url.protocol}//${ctx.url.host}/content/contents`;
217
+ const wearables = getAllPreviewWearables({
218
+ baseUrl,
219
+ baseFolders
220
+ });
221
+ const wearableId = ctx.params.id;
222
+ return {
223
+ body: {
224
+ ok: true,
225
+ data: wearables.filter((wearable) => (0, projectInfo_1.smartWearableNameToId)(wearable === null || wearable === void 0 ? void 0 : wearable.name) === wearableId)
226
+ }
227
+ };
228
+ });
229
+ router.get('/preview-wearables', async (ctx) => {
230
+ const baseUrl = `${ctx.url.protocol}//${ctx.url.host}/content/contents`;
231
+ return {
232
+ body: {
233
+ ok: true,
234
+ data: getAllPreviewWearables({ baseUrl, baseFolders })
235
+ }
236
+ };
237
+ });
238
+ }
239
+ const defaultHashMaker = (str) => 'b64-' + Buffer.from(str).toString('base64');
240
+ function getAllPreviewWearables({ baseFolders, baseUrl }) {
241
+ const wearablePathArray = [];
242
+ for (const wearableDir of baseFolders) {
243
+ const wearableJsonPath = path.resolve(wearableDir, 'wearable.json');
244
+ if (fs.existsSync(wearableJsonPath)) {
245
+ wearablePathArray.push(wearableJsonPath);
246
+ }
247
+ }
248
+ const ret = [];
249
+ for (const wearableJsonPath of wearablePathArray) {
250
+ try {
251
+ ret.push(serveWearable({ wearableJsonPath, baseUrl }));
252
+ }
253
+ catch (err) {
254
+ console.error(`Couldn't mock the wearable ${wearableJsonPath}. Please verify the correct format and scheme.`, err);
255
+ }
256
+ }
257
+ return ret;
258
+ }
259
+ function serveWearable({ wearableJsonPath, baseUrl }) {
260
+ var _a;
261
+ const wearableDir = path.dirname(wearableJsonPath);
262
+ const wearableJson = JSON.parse(fs.readFileSync(wearableJsonPath).toString());
263
+ if (!sdk_1.WearableJson.validate(wearableJson)) {
264
+ const errors = (sdk_1.WearableJson.validate.errors || []).map((a) => `${a.data} ${a.message}`).join('');
265
+ console.error(`Unable to validate wearable.json properly, please check it.`, errors);
266
+ throw new Error(`Invalid wearable.json (${wearableJsonPath})`);
267
+ }
268
+ const dclIgnorePath = path.resolve(wearableDir, '.dclignore');
269
+ let ignoreFileContent = '';
270
+ if (fs.existsSync(dclIgnorePath)) {
271
+ ignoreFileContent = fs.readFileSync(path.resolve(wearableDir, '.dclignore'), 'utf-8');
272
+ }
273
+ const hashedFiles = getFilesFromFolder({
274
+ folder: wearableDir,
275
+ addOriginalPath: false,
276
+ ignorePattern: ignoreFileContent
277
+ });
278
+ const thumbnailFiltered = hashedFiles.filter(($) => ($ === null || $ === void 0 ? void 0 : $.file) === 'thumbnail.png');
279
+ const thumbnail = thumbnailFiltered.length > 0 && ((_a = thumbnailFiltered[0]) === null || _a === void 0 ? void 0 : _a.hash) && `${baseUrl}/${thumbnailFiltered[0].hash}`;
280
+ const wearableId = 'urn:8dc2d7ad-97e3-44d0-ba89-e8305d795a6a';
281
+ const representations = wearableJson.data.representations.map((representation) => (Object.assign(Object.assign({}, representation), { mainFile: `male/${representation.mainFile}`, contents: hashedFiles.map(($) => ({
282
+ key: `male/${$ === null || $ === void 0 ? void 0 : $.file}`,
283
+ url: `${baseUrl}/${$ === null || $ === void 0 ? void 0 : $.hash}`,
284
+ hash: $ === null || $ === void 0 ? void 0 : $.hash
285
+ })) })));
286
+ return {
287
+ id: wearableId,
288
+ rarity: wearableJson.rarity,
289
+ i18n: [{ code: 'en', text: wearableJson.name }],
290
+ description: wearableJson.description,
291
+ thumbnail: thumbnail || '',
292
+ baseUrl: `${baseUrl}/`,
293
+ name: wearableJson.name || '',
294
+ data: {
295
+ category: wearableJson.data.category,
296
+ replaces: [],
297
+ hides: [],
298
+ tags: [],
299
+ scene: hashedFiles,
300
+ representations: representations
301
+ }
302
+ };
303
+ }
304
+ function getSceneJson({ baseFolders, pointers, customHashMaker }) {
305
+ const requestedPointers = new Set(pointers);
306
+ const resultEntities = [];
307
+ const allDeployments = baseFolders.map((folder) => {
308
+ const dclIgnorePath = path.resolve(folder, '.dclignore');
309
+ let ignoreFileContent = '';
310
+ if (fs.existsSync(dclIgnorePath)) {
311
+ ignoreFileContent = fs.readFileSync(path.resolve(folder, '.dclignore'), 'utf-8');
312
+ }
313
+ return entityV3FromFolder({
314
+ folder,
315
+ addOriginalPath: false,
316
+ ignorePattern: ignoreFileContent,
317
+ customHashMaker
318
+ });
319
+ });
320
+ for (const pointer of Array.from(requestedPointers)) {
321
+ // get deployment by pointer
322
+ const theDeployment = allDeployments.find(($) => $ && $.pointers.includes(pointer));
323
+ if (theDeployment) {
324
+ // remove all the required pointers from the requestedPointers set
325
+ // to prevent sending duplicated entities
326
+ theDeployment.pointers.forEach(($) => requestedPointers.delete($));
327
+ // add the deployment to the results
328
+ resultEntities.push(theDeployment);
329
+ }
330
+ }
331
+ return resultEntities;
332
+ }
333
+ function getEcsPath(workingDir) {
334
+ try {
335
+ return require.resolve('decentraland-ecs/package.json', {
336
+ paths: [workingDir]
337
+ });
338
+ }
339
+ catch (e) {
340
+ return require.resolve('@dcl/sdk/package.json', {
341
+ paths: [workingDir]
342
+ });
343
+ }
344
+ }
345
+ /* require.resolve patch with undefined when fails */
346
+ function resolveOrUndefined(id, options) {
347
+ try {
348
+ return require.resolve(id, options);
349
+ }
350
+ catch (err) {
351
+ return undefined;
352
+ }
353
+ }
354
+ function serveStatic(components, router) {
355
+ const ecsPath = path.dirname(getEcsPath(components.dcl.getWorkingDir()));
356
+ const dclExplorerPackageJson = resolveOrUndefined('@dcl/explorer/package.json', {
357
+ paths: [components.dcl.getWorkingDir(), ecsPath]
358
+ });
359
+ const dclKernelPath = path.dirname(dclExplorerPackageJson !== null && dclExplorerPackageJson !== void 0 ? dclExplorerPackageJson : require.resolve('@dcl/kernel/package.json', {
360
+ paths: [components.dcl.getWorkingDir(), ecsPath]
361
+ }));
362
+ const dclKernelDefaultProfilePath = path.resolve(dclKernelPath, 'default-profile');
363
+ const dclKernelImagesDecentralandConnect = path.resolve(dclKernelPath, 'images', 'decentraland-connect');
364
+ const dclKernelLoaderPath = path.resolve(dclKernelPath, 'loader');
365
+ const dclUnityRenderer = path.dirname(dclExplorerPackageJson !== null && dclExplorerPackageJson !== void 0 ? dclExplorerPackageJson : require.resolve('@dcl/unity-renderer/package.json', {
366
+ paths: [components.dcl.getWorkingDir(), ecsPath]
367
+ }));
368
+ const routes = [
369
+ {
370
+ route: '/',
371
+ path: path.resolve(dclKernelPath, 'preview.html'),
372
+ type: 'text/html'
373
+ },
374
+ {
375
+ route: '/favicon.ico',
376
+ path: path.resolve(dclKernelPath, 'favicon.ico'),
377
+ type: 'text/html'
378
+ },
379
+ {
380
+ route: '/@/artifacts/index.js',
381
+ path: path.resolve(dclKernelPath, 'index.js'),
382
+ type: 'text/javascript'
383
+ }
384
+ ];
385
+ for (const route of routes) {
386
+ router.get(route.route, async (_ctx) => {
387
+ return {
388
+ headers: { 'Content-Type': route.type },
389
+ body: fs.createReadStream(route.path)
390
+ };
391
+ });
392
+ }
393
+ function createStaticRoutes(route, folder, transform = (str) => str) {
394
+ router.get(route, async (ctx, next) => {
395
+ const file = ctx.params.path;
396
+ const fullPath = path.resolve(folder, transform(file));
397
+ // only return files IF the file is within a baseFolder
398
+ if (!fs.existsSync(fullPath)) {
399
+ return next();
400
+ }
401
+ const headers = {
402
+ 'x-timestamp': Date.now(),
403
+ 'x-sent': true,
404
+ 'cache-control': 'no-cache,private,max-age=1'
405
+ };
406
+ if (fullPath.endsWith('.wasm')) {
407
+ headers['content-type'] = 'application/wasm';
408
+ }
409
+ return {
410
+ headers,
411
+ body: fs.createReadStream(fullPath)
412
+ };
413
+ });
414
+ }
415
+ createStaticRoutes('/images/decentraland-connect/:path+', dclKernelImagesDecentralandConnect);
416
+ createStaticRoutes('/@/artifacts/unity-renderer/:path+', dclUnityRenderer, (filePath) => filePath.replace(/.br+$/, ''));
417
+ if (dclExplorerPackageJson) {
418
+ createStaticRoutes('/@/explorer/:path+', path.dirname(dclExplorerPackageJson), (filePath) => filePath.replace(/.br+$/, ''));
419
+ }
420
+ createStaticRoutes('/@/artifacts/loader/:path+', dclKernelLoaderPath);
421
+ createStaticRoutes('/default-profile/:path+', dclKernelDefaultProfilePath);
422
+ router.get('/feature-flags/:file', async (ctx) => {
423
+ const res = await (0, node_fetch_1.default)(`https://feature-flags.decentraland.zone/${ctx.params.file}`, {
424
+ headers: {
425
+ connection: 'close'
426
+ }
427
+ });
428
+ return {
429
+ body: await res.arrayBuffer()
430
+ };
431
+ });
432
+ }
433
+ function entityV3FromFolder({ folder, addOriginalPath, ignorePattern, customHashMaker }) {
434
+ const sceneJsonPath = path.resolve(folder, './scene.json');
435
+ let isParcelScene = true;
436
+ const wearableJsonPath = path.resolve(folder, './wearable.json');
437
+ if (fs.existsSync(wearableJsonPath)) {
438
+ try {
439
+ const wearableJson = JSON.parse(fs.readFileSync(wearableJsonPath).toString());
440
+ if (!sdk_1.WearableJson.validate(wearableJson)) {
441
+ const errors = (sdk_1.WearableJson.validate.errors || []).map((a) => `${a.data} ${a.message}`).join('');
442
+ console.error(`Unable to validate wearable.json properly, please check it.`, errors);
443
+ console.error(`Invalid wearable.json (${wearableJsonPath})`);
444
+ }
445
+ else {
446
+ isParcelScene = false;
447
+ }
448
+ }
449
+ catch (err) {
450
+ console.error(`Unable to load wearable.json properly`, err);
451
+ }
452
+ }
453
+ const hashMaker = customHashMaker ? customHashMaker : defaultHashMaker;
454
+ if (fs.existsSync(sceneJsonPath) && isParcelScene) {
455
+ const sceneJson = JSON.parse(fs.readFileSync(sceneJsonPath).toString());
456
+ const { base, parcels } = sceneJson.scene;
457
+ const pointers = new Set();
458
+ pointers.add(base);
459
+ parcels.forEach(($) => pointers.add($));
460
+ const mappedFiles = getFilesFromFolder({
461
+ folder,
462
+ addOriginalPath,
463
+ ignorePattern,
464
+ customHashMaker
465
+ });
466
+ return {
467
+ version: 'v3',
468
+ type: schemas_1.EntityType.SCENE,
469
+ id: hashMaker(folder),
470
+ pointers: Array.from(pointers),
471
+ timestamp: Date.now(),
472
+ metadata: sceneJson,
473
+ content: mappedFiles
474
+ };
475
+ }
476
+ return null;
477
+ }
478
+ const defaultDclIgnore = () => [
479
+ '.*',
480
+ 'package.json',
481
+ 'package-lock.json',
482
+ 'yarn-lock.json',
483
+ 'build.json',
484
+ 'export',
485
+ 'tsconfig.json',
486
+ 'tslint.json',
487
+ 'node_modules',
488
+ '*.ts',
489
+ '*.tsx',
490
+ 'Dockerfile',
491
+ 'dist',
492
+ 'README.md',
493
+ '*.blend',
494
+ '*.fbx',
495
+ '*.zip',
496
+ '*.rar'
497
+ ].join('\n');
498
+ function getFilesFromFolder({ folder, addOriginalPath, ignorePattern, customHashMaker }) {
499
+ const hashMaker = customHashMaker ? customHashMaker : defaultHashMaker;
500
+ const allFiles = (0, glob_1.sync)('**/*', {
501
+ cwd: folder,
502
+ dot: false,
503
+ absolute: true
504
+ })
505
+ .map((file) => {
506
+ try {
507
+ if (!fs.statSync(file).isFile())
508
+ return;
509
+ }
510
+ catch (err) {
511
+ return;
512
+ }
513
+ const _folder = folder.replace(/\\/gi, '/');
514
+ const key = file.replace(_folder, '').replace(/^\/+/, '');
515
+ return key;
516
+ })
517
+ .filter(($) => !!$);
518
+ const ensureIgnorePattern = ignorePattern && ignorePattern !== '' ? ignorePattern : defaultDclIgnore();
519
+ const ig = (0, ignore_1.default)().add(ensureIgnorePattern);
520
+ const filteredFiles = ig.filter(allFiles);
521
+ const ret = [];
522
+ for (const file of filteredFiles) {
523
+ const absolutePath = path.resolve(folder, file);
524
+ try {
525
+ if (!fs.statSync(absolutePath).isFile())
526
+ continue;
527
+ }
528
+ catch (err) {
529
+ console.log(err);
530
+ continue;
531
+ }
532
+ const absoluteFolder = folder.replace(/\\/gi, '/');
533
+ const relativeFilePathToFolder = file.replace(absoluteFolder, '').replace(/^\/+/, '');
534
+ ret.push({
535
+ file: relativeFilePathToFolder.toLowerCase(),
536
+ original_path: addOriginalPath ? absolutePath : undefined,
537
+ hash: hashMaker(absolutePath)
538
+ });
539
+ }
540
+ return ret;
541
+ }
542
+ exports.getFilesFromFolder = getFilesFromFolder;
543
+ //# sourceMappingURL=ecs6-endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecs6-endpoints.js","sourceRoot":"","sources":["../../../src/lib/controllers/ecs6-endpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Router } from '@well-known-components/http-server';
2
+ import WebSocket from 'ws';
3
+ import { PreviewComponents } from '../Preview';
4
+ export declare function setupCommsV1(_components: PreviewComponents, _router: Router<any>): {
5
+ adoptWebSocket(ws: WebSocket, userId: string): void;
6
+ };
7
+ //# sourceMappingURL=legacy-comms-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-comms-v1.d.ts","sourceRoot":"","sources":["../../../src/lib/controllers/legacy-comms-v1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AAC3D,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C,wBAAgB,YAAY,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;uBAiB1D,SAAS,UAAU,MAAM;EAsF/C"}