@theia/core 1.73.0-next.9 → 1.74.0-next.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 (259) hide show
  1. package/README.md +26 -16
  2. package/i18n/nls.cs.json +268 -36
  3. package/i18n/nls.de.json +268 -36
  4. package/i18n/nls.es.json +268 -36
  5. package/i18n/nls.fr.json +268 -36
  6. package/i18n/nls.hu.json +268 -36
  7. package/i18n/nls.it.json +268 -36
  8. package/i18n/nls.ja.json +268 -36
  9. package/i18n/nls.json +268 -36
  10. package/i18n/nls.ko.json +268 -36
  11. package/i18n/nls.pl.json +268 -36
  12. package/i18n/nls.pt-br.json +268 -36
  13. package/i18n/nls.ru.json +268 -36
  14. package/i18n/nls.tr.json +268 -36
  15. package/i18n/nls.zh-cn.json +268 -36
  16. package/i18n/nls.zh-tw.json +268 -36
  17. package/lib/browser/authentication-service.d.ts +2 -0
  18. package/lib/browser/authentication-service.d.ts.map +1 -1
  19. package/lib/browser/authentication-service.js +8 -2
  20. package/lib/browser/authentication-service.js.map +1 -1
  21. package/lib/browser/catalog.json +269 -72
  22. package/lib/browser/frontend-application.d.ts +2 -0
  23. package/lib/browser/frontend-application.d.ts.map +1 -1
  24. package/lib/browser/frontend-application.js +15 -9
  25. package/lib/browser/frontend-application.js.map +1 -1
  26. package/lib/browser/json-schema-store.d.ts +2 -0
  27. package/lib/browser/json-schema-store.d.ts.map +1 -1
  28. package/lib/browser/json-schema-store.js +8 -2
  29. package/lib/browser/json-schema-store.js.map +1 -1
  30. package/lib/browser/keybinding.js +2 -1
  31. package/lib/browser/keybinding.js.map +1 -1
  32. package/lib/browser/markdown-rendering/markdown.d.ts +1 -1
  33. package/lib/browser/markdown-rendering/markdown.d.ts.map +1 -1
  34. package/lib/browser/markdown-rendering/markdown.js +1 -1
  35. package/lib/browser/markdown-rendering/markdown.js.map +1 -1
  36. package/lib/browser/menu/composite-menu-node.js +4 -4
  37. package/lib/browser/menu/composite-menu-node.js.map +1 -1
  38. package/lib/browser/messaging/ws-connection-source.d.ts.map +1 -1
  39. package/lib/browser/messaging/ws-connection-source.js +1 -6
  40. package/lib/browser/messaging/ws-connection-source.js.map +1 -1
  41. package/lib/browser/preferences/frontend-config-preference-contributions.d.ts +2 -0
  42. package/lib/browser/preferences/frontend-config-preference-contributions.d.ts.map +1 -1
  43. package/lib/browser/preferences/frontend-config-preference-contributions.js +7 -1
  44. package/lib/browser/preferences/frontend-config-preference-contributions.js.map +1 -1
  45. package/lib/browser/preferences/preference-proxy.spec.js +7 -0
  46. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  47. package/lib/browser/preferences/preference-schema-provider.spec.js +3 -0
  48. package/lib/browser/preferences/preference-schema-provider.spec.js.map +1 -1
  49. package/lib/browser/preferences/preference-validation-service.d.ts +2 -0
  50. package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
  51. package/lib/browser/preferences/preference-validation-service.js +11 -5
  52. package/lib/browser/preferences/preference-validation-service.js.map +1 -1
  53. package/lib/browser/preferences/preference-validation-service.spec.js +2 -0
  54. package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
  55. package/lib/browser/secondary-window-handler.d.ts +2 -0
  56. package/lib/browser/secondary-window-handler.d.ts.map +1 -1
  57. package/lib/browser/secondary-window-handler.js +12 -6
  58. package/lib/browser/secondary-window-handler.js.map +1 -1
  59. package/lib/browser/shell/application-shell.d.ts +2 -0
  60. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  61. package/lib/browser/shell/application-shell.js +9 -3
  62. package/lib/browser/shell/application-shell.js.map +1 -1
  63. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +6 -6
  64. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  65. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +2 -2
  66. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  67. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +131 -0
  68. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js.map +1 -1
  69. package/lib/browser/status-bar/status-bar.d.ts +2 -2
  70. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  71. package/lib/browser/status-bar/status-bar.js.map +1 -1
  72. package/lib/browser/test/jsdom.d.ts +4 -0
  73. package/lib/browser/test/jsdom.d.ts.map +1 -1
  74. package/lib/browser/test/jsdom.js +18 -0
  75. package/lib/browser/test/jsdom.js.map +1 -1
  76. package/lib/browser/tree/tree-container.spec.js +4 -0
  77. package/lib/browser/tree/tree-container.spec.js.map +1 -1
  78. package/lib/browser/tree/tree-model.d.ts +1 -0
  79. package/lib/browser/tree/tree-model.d.ts.map +1 -1
  80. package/lib/browser/tree/tree-model.js +3 -0
  81. package/lib/browser/tree/tree-model.js.map +1 -1
  82. package/lib/browser/tree/tree-view-welcome-widget.d.ts +1 -0
  83. package/lib/browser/tree/tree-view-welcome-widget.d.ts.map +1 -1
  84. package/lib/browser/tree/tree-view-welcome-widget.js +8 -6
  85. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  86. package/lib/browser/tree/tree-view-welcome-widget.spec.d.ts +2 -0
  87. package/lib/browser/tree/tree-view-welcome-widget.spec.d.ts.map +1 -0
  88. package/lib/browser/tree/tree-view-welcome-widget.spec.js +68 -0
  89. package/lib/browser/tree/tree-view-welcome-widget.spec.js.map +1 -0
  90. package/lib/browser/tree/tree-widget.js +2 -2
  91. package/lib/browser/tree/tree-widget.js.map +1 -1
  92. package/lib/browser/tree/tree.d.ts +24 -2
  93. package/lib/browser/tree/tree.d.ts.map +1 -1
  94. package/lib/browser/tree/tree.js +20 -2
  95. package/lib/browser/tree/tree.js.map +1 -1
  96. package/lib/browser/tree/tree.spec.js +27 -0
  97. package/lib/browser/tree/tree.spec.js.map +1 -1
  98. package/lib/browser/window/default-window-service.d.ts +2 -1
  99. package/lib/browser/window/default-window-service.d.ts.map +1 -1
  100. package/lib/browser/window/default-window-service.js +10 -5
  101. package/lib/browser/window/default-window-service.js.map +1 -1
  102. package/lib/browser/window/default-window-service.spec.js +2 -0
  103. package/lib/browser/window/default-window-service.spec.js.map +1 -1
  104. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +2 -0
  105. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
  106. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +8 -2
  107. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  108. package/lib/common/command.d.ts +2 -0
  109. package/lib/common/command.d.ts.map +1 -1
  110. package/lib/common/command.js +10 -4
  111. package/lib/common/command.js.map +1 -1
  112. package/lib/common/preferences/injectable-preference-proxy.d.ts +3 -3
  113. package/lib/common/preferences/injectable-preference-proxy.d.ts.map +1 -1
  114. package/lib/common/preferences/injectable-preference-proxy.js +6 -1
  115. package/lib/common/preferences/injectable-preference-proxy.js.map +1 -1
  116. package/lib/common/preferences/preference-proxy.d.ts.map +1 -1
  117. package/lib/common/preferences/preference-proxy.js +6 -1
  118. package/lib/common/preferences/preference-proxy.js.map +1 -1
  119. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  120. package/lib/electron-main/electron-main-application.js +4 -2
  121. package/lib/electron-main/electron-main-application.js.map +1 -1
  122. package/lib/electron-node/hosting/electron-ws-origin-validator.d.ts.map +1 -1
  123. package/lib/electron-node/hosting/electron-ws-origin-validator.js +5 -2
  124. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  125. package/lib/electron-node/hosting/electron-ws-origin-validator.spec.d.ts +2 -0
  126. package/lib/electron-node/hosting/electron-ws-origin-validator.spec.d.ts.map +1 -0
  127. package/lib/electron-node/hosting/electron-ws-origin-validator.spec.js +59 -0
  128. package/lib/electron-node/hosting/electron-ws-origin-validator.spec.js.map +1 -0
  129. package/lib/electron-node/request/electron-backend-request-service.d.ts +2 -0
  130. package/lib/electron-node/request/electron-backend-request-service.d.ts.map +1 -1
  131. package/lib/electron-node/request/electron-backend-request-service.js +7 -1
  132. package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
  133. package/lib/electron-node/token/electron-token-backend-contribution.d.ts +2 -0
  134. package/lib/electron-node/token/electron-token-backend-contribution.d.ts.map +1 -1
  135. package/lib/electron-node/token/electron-token-backend-contribution.js +7 -1
  136. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  137. package/lib/electron-node/token/electron-token-validator.d.ts +2 -0
  138. package/lib/electron-node/token/electron-token-validator.d.ts.map +1 -1
  139. package/lib/electron-node/token/electron-token-validator.js +7 -1
  140. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  141. package/lib/node/backend-application-module.d.ts.map +1 -1
  142. package/lib/node/backend-application-module.js +2 -0
  143. package/lib/node/backend-application-module.js.map +1 -1
  144. package/lib/node/backend-application.d.ts +11 -0
  145. package/lib/node/backend-application.d.ts.map +1 -1
  146. package/lib/node/backend-application.js +40 -12
  147. package/lib/node/backend-application.js.map +1 -1
  148. package/lib/node/backend-application.spec.js +4 -2
  149. package/lib/node/backend-application.spec.js.map +1 -1
  150. package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
  151. package/lib/node/hosting/backend-hosting-module.js +7 -0
  152. package/lib/node/hosting/backend-hosting-module.js.map +1 -1
  153. package/lib/node/hosting/browser-connection-token.d.ts +46 -0
  154. package/lib/node/hosting/browser-connection-token.d.ts.map +1 -0
  155. package/lib/node/hosting/browser-connection-token.js +120 -0
  156. package/lib/node/hosting/browser-connection-token.js.map +1 -0
  157. package/lib/node/hosting/browser-connection-token.spec.d.ts +2 -0
  158. package/lib/node/hosting/browser-connection-token.spec.d.ts.map +1 -0
  159. package/lib/node/hosting/browser-connection-token.spec.js +128 -0
  160. package/lib/node/hosting/browser-connection-token.spec.js.map +1 -0
  161. package/lib/node/hosting/ws-origin-validator.d.ts.map +1 -1
  162. package/lib/node/hosting/ws-origin-validator.js +21 -4
  163. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  164. package/lib/node/hosting/ws-origin-validator.spec.d.ts +2 -0
  165. package/lib/node/hosting/ws-origin-validator.spec.d.ts.map +1 -0
  166. package/lib/node/hosting/ws-origin-validator.spec.js +131 -0
  167. package/lib/node/hosting/ws-origin-validator.spec.js.map +1 -0
  168. package/lib/node/index.d.ts +1 -0
  169. package/lib/node/index.d.ts.map +1 -1
  170. package/lib/node/index.js +3 -1
  171. package/lib/node/index.js.map +1 -1
  172. package/lib/node/logger-cli-contribution.d.ts +6 -0
  173. package/lib/node/logger-cli-contribution.d.ts.map +1 -1
  174. package/lib/node/logger-cli-contribution.js +28 -5
  175. package/lib/node/logger-cli-contribution.js.map +1 -1
  176. package/lib/node/logger-cli-contribution.spec.js +54 -0
  177. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  178. package/lib/node/messaging/default-messaging-service.d.ts +2 -0
  179. package/lib/node/messaging/default-messaging-service.d.ts.map +1 -1
  180. package/lib/node/messaging/default-messaging-service.js +8 -2
  181. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  182. package/lib/node/messaging/test/default-messaging-service.spec.js +2 -0
  183. package/lib/node/messaging/test/default-messaging-service.spec.js.map +1 -1
  184. package/lib/node/messaging/websocket-endpoint.d.ts +7 -0
  185. package/lib/node/messaging/websocket-endpoint.d.ts.map +1 -1
  186. package/lib/node/messaging/websocket-endpoint.js +21 -6
  187. package/lib/node/messaging/websocket-endpoint.js.map +1 -1
  188. package/lib/node/process-utils.d.ts +2 -0
  189. package/lib/node/process-utils.d.ts.map +1 -1
  190. package/lib/node/process-utils.js +8 -2
  191. package/lib/node/process-utils.js.map +1 -1
  192. package/lib/node/process-utils.spec.js +11 -9
  193. package/lib/node/process-utils.spec.js.map +1 -1
  194. package/lib/node/request/backend-request-facade.d.ts +19 -0
  195. package/lib/node/request/backend-request-facade.d.ts.map +1 -1
  196. package/lib/node/request/backend-request-facade.js +93 -3
  197. package/lib/node/request/backend-request-facade.js.map +1 -1
  198. package/lib/node/request/backend-request-facade.spec.d.ts +2 -0
  199. package/lib/node/request/backend-request-facade.spec.d.ts.map +1 -0
  200. package/lib/node/request/backend-request-facade.spec.js +171 -0
  201. package/lib/node/request/backend-request-facade.spec.js.map +1 -0
  202. package/package.json +29 -20
  203. package/src/browser/authentication-service.ts +6 -3
  204. package/src/browser/frontend-application.ts +13 -9
  205. package/src/browser/json-schema-store.ts +6 -2
  206. package/src/browser/keybinding.ts +2 -2
  207. package/src/browser/markdown-rendering/markdown.tsx +2 -2
  208. package/src/browser/menu/composite-menu-node.ts +4 -4
  209. package/src/browser/messaging/ws-connection-source.ts +1 -6
  210. package/src/browser/preferences/frontend-config-preference-contributions.ts +7 -2
  211. package/src/browser/preferences/preference-proxy.spec.ts +8 -0
  212. package/src/browser/preferences/preference-schema-provider.spec.ts +5 -0
  213. package/src/browser/preferences/preference-validation-service.spec.ts +3 -1
  214. package/src/browser/preferences/preference-validation-service.ts +9 -6
  215. package/src/browser/secondary-window-handler.ts +11 -7
  216. package/src/browser/shell/application-shell.ts +8 -4
  217. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.tsx +6 -6
  218. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +2 -2
  219. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +159 -1
  220. package/src/browser/status-bar/status-bar.tsx +3 -3
  221. package/src/browser/test/jsdom.ts +18 -0
  222. package/src/browser/tree/tree-container.spec.ts +6 -0
  223. package/src/browser/tree/tree-model.ts +4 -0
  224. package/src/browser/tree/tree-view-welcome-widget.spec.ts +82 -0
  225. package/src/browser/tree/tree-view-welcome-widget.tsx +10 -11
  226. package/src/browser/tree/tree-widget.tsx +2 -2
  227. package/src/browser/tree/tree.spec.ts +30 -0
  228. package/src/browser/tree/tree.ts +31 -4
  229. package/src/browser/window/default-window-service.spec.ts +3 -1
  230. package/src/browser/window/default-window-service.ts +9 -6
  231. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +8 -3
  232. package/src/common/command.ts +8 -4
  233. package/src/common/i18n/nls.metadata.json +2659 -374
  234. package/src/common/preferences/injectable-preference-proxy.ts +10 -4
  235. package/src/common/preferences/preference-proxy.ts +10 -4
  236. package/src/electron-main/electron-main-application.ts +4 -2
  237. package/src/electron-node/hosting/electron-ws-origin-validator.spec.ts +69 -0
  238. package/src/electron-node/hosting/electron-ws-origin-validator.ts +5 -2
  239. package/src/electron-node/request/electron-backend-request-service.ts +6 -2
  240. package/src/electron-node/token/electron-token-backend-contribution.ts +6 -2
  241. package/src/electron-node/token/electron-token-validator.ts +6 -2
  242. package/src/node/backend-application-module.ts +4 -2
  243. package/src/node/backend-application.spec.ts +5 -3
  244. package/src/node/backend-application.ts +33 -11
  245. package/src/node/hosting/backend-hosting-module.ts +10 -0
  246. package/src/node/hosting/browser-connection-token.spec.ts +167 -0
  247. package/src/node/hosting/browser-connection-token.ts +126 -0
  248. package/src/node/hosting/ws-origin-validator.spec.ts +193 -0
  249. package/src/node/hosting/ws-origin-validator.ts +23 -4
  250. package/src/node/index.ts +1 -0
  251. package/src/node/logger-cli-contribution.spec.ts +65 -0
  252. package/src/node/logger-cli-contribution.ts +32 -5
  253. package/src/node/messaging/default-messaging-service.ts +6 -2
  254. package/src/node/messaging/test/default-messaging-service.spec.ts +3 -1
  255. package/src/node/messaging/websocket-endpoint.ts +23 -7
  256. package/src/node/process-utils.spec.ts +12 -9
  257. package/src/node/process-utils.ts +7 -3
  258. package/src/node/request/backend-request-facade.spec.ts +203 -0
  259. package/src/node/request/backend-request-facade.ts +108 -3
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.BackendApplication = exports.BackendApplicationCliContribution = exports.BackendApplicationContribution = exports.BackendApplicationServer = exports.RootContainer = exports.BackendApplicationPath = void 0;
18
+ exports.BackendApplication = exports.BackendApplicationCliContribution = exports.BackendApplicationContribution = exports.BackendApplicationServer = exports.EarlyExpressMiddleware = exports.RootContainer = exports.BackendApplicationPath = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const dns = require("dns");
21
21
  const path = require("path");
@@ -28,6 +28,7 @@ const common_1 = require("../common");
28
28
  const promise_util_1 = require("../common/promise-util");
29
29
  const index_1 = require("../common/index");
30
30
  const process_utils_1 = require("./process-utils");
31
+ const logger_1 = require("../common/logger");
31
32
  /**
32
33
  * The path to the application project directory. This is the directory where the application code is located.
33
34
  * Mostly contains the `package.json` file and the `lib` directory.
@@ -44,6 +45,20 @@ const DEFAULT_PORT = index_1.environment.electron.is() ? 0 : 3000;
44
45
  const DEFAULT_HOST = 'localhost';
45
46
  const DEFAULT_SSL = false;
46
47
  const DEFAULT_DNS_DEFAULT_RESULT_ORDER = 'ipv4first';
48
+ /**
49
+ * Shared registry for Express middleware that must run before static file handlers.
50
+ * Contributions push handlers during `initialize()`, and `BackendApplication`
51
+ * applies them at the start of `configure()`, before gzipped handlers and `express.static()`.
52
+ */
53
+ let EarlyExpressMiddleware = class EarlyExpressMiddleware {
54
+ constructor() {
55
+ this.handlers = [];
56
+ }
57
+ };
58
+ exports.EarlyExpressMiddleware = EarlyExpressMiddleware;
59
+ exports.EarlyExpressMiddleware = EarlyExpressMiddleware = tslib_1.__decorate([
60
+ (0, inversify_1.injectable)()
61
+ ], EarlyExpressMiddleware);
47
62
  exports.BackendApplicationServer = Symbol('BackendApplicationServer');
48
63
  exports.BackendApplicationContribution = Symbol('BackendApplicationContribution');
49
64
  let BackendApplicationCliContribution = class BackendApplicationCliContribution {
@@ -95,7 +110,7 @@ let BackendApplication = class BackendApplication {
95
110
  // Workaround for Electron not installing a handler to ignore SIGPIPE error
96
111
  // (https://github.com/electron/electron/issues/13254)
97
112
  process.on('SIGPIPE', () => {
98
- console.error(new Error('Unexpected SIGPIPE'));
113
+ this.logger.error(new Error('Unexpected SIGPIPE'));
99
114
  });
100
115
  // Handles normal process termination.
101
116
  process.on('exit', () => this.onStop());
@@ -112,7 +127,7 @@ let BackendApplication = class BackendApplication {
112
127
  await this.measureContribution(contribution, 'initialize', () => contribution.initialize());
113
128
  }
114
129
  catch (error) {
115
- console.error('Could not initialize contribution', error);
130
+ this.logger.error('Could not initialize contribution', error);
116
131
  }
117
132
  }
118
133
  }));
@@ -126,6 +141,10 @@ let BackendApplication = class BackendApplication {
126
141
  }
127
142
  async configure() {
128
143
  await this.initialize();
144
+ // Apply early middleware before static file handlers.
145
+ for (const handler of this.earlyMiddleware.handlers) {
146
+ this.app.use(handler);
147
+ }
129
148
  this.app.get('*.js', this.serveGzipped.bind(this, 'text/javascript'));
130
149
  this.app.get('*.js.map', this.serveGzipped.bind(this, 'application/json'));
131
150
  this.app.get('*.css', this.serveGzipped.bind(this, 'text/css'));
@@ -143,11 +162,11 @@ let BackendApplication = class BackendApplication {
143
162
  await this.measureContribution(contribution, 'configure', () => contribution.configure(this.app));
144
163
  }
145
164
  catch (error) {
146
- console.error('Could not configure contribution', error);
165
+ this.logger.error('Could not configure contribution', error);
147
166
  }
148
167
  }
149
168
  }));
150
- console.info('configured all backend app contributions');
169
+ this.logger.info('configured all backend app contributions');
151
170
  }
152
171
  use(...handlers) {
153
172
  this.app.use(...handlers);
@@ -174,14 +193,14 @@ let BackendApplication = class BackendApplication {
174
193
  key = await fs.readFile(this.cliParams.certkey);
175
194
  }
176
195
  catch (err) {
177
- console.error("Can't read certificate key");
196
+ this.logger.error("Can't read certificate key");
178
197
  throw err;
179
198
  }
180
199
  try {
181
200
  cert = await fs.readFile(this.cliParams.cert);
182
201
  }
183
202
  catch (err) {
184
- console.error("Can't read certificate");
203
+ this.logger.error("Can't read certificate");
185
204
  throw err;
186
205
  }
187
206
  server = https.createServer({ key, cert }, this.app);
@@ -199,7 +218,7 @@ let BackendApplication = class BackendApplication {
199
218
  // address should be defined at this point
200
219
  const address = server.address();
201
220
  const url = typeof address === 'string' ? address : this.getHttpUrl(address, this.cliParams.ssl);
202
- console.info(`Theia app listening on ${url}.`);
221
+ this.logger.info(`Theia app listening on ${url}.`);
203
222
  deferred.resolve(server);
204
223
  });
205
224
  /* Allow any number of websocket servers. */
@@ -210,7 +229,7 @@ let BackendApplication = class BackendApplication {
210
229
  await this.measureContribution(contribution, 'onStart', () => contribution.onStart(server));
211
230
  }
212
231
  catch (error) {
213
- console.error('Could not start contribution', error);
232
+ this.logger.error('Could not start contribution', error);
214
233
  }
215
234
  }
216
235
  }
@@ -286,7 +305,7 @@ let BackendApplication = class BackendApplication {
286
305
  await contrib.onStop(this.app);
287
306
  }
288
307
  catch (error) {
289
- console.error('Could not stop contribution', error);
308
+ this.logger.error('Could not stop contribution', error);
290
309
  }
291
310
  }
292
311
  }));
@@ -326,14 +345,18 @@ let BackendApplication = class BackendApplication {
326
345
  }
327
346
  handleUncaughtError(error) {
328
347
  if (error) {
329
- console.error('Uncaught Exception: ', error.toString());
348
+ this.logger.error('Uncaught Exception: ', error.toString());
330
349
  if (error.stack) {
331
- console.error(error.stack);
350
+ this.logger.error(error.stack);
332
351
  }
333
352
  }
334
353
  }
335
354
  };
336
355
  exports.BackendApplication = BackendApplication;
356
+ tslib_1.__decorate([
357
+ (0, inversify_1.inject)(EarlyExpressMiddleware),
358
+ tslib_1.__metadata("design:type", EarlyExpressMiddleware)
359
+ ], BackendApplication.prototype, "earlyMiddleware", void 0);
337
360
  tslib_1.__decorate([
338
361
  (0, inversify_1.inject)(process_utils_1.ProcessUtils),
339
362
  tslib_1.__metadata("design:type", process_utils_1.ProcessUtils)
@@ -342,6 +365,11 @@ tslib_1.__decorate([
342
365
  (0, inversify_1.inject)(common_1.Stopwatch),
343
366
  tslib_1.__metadata("design:type", common_1.Stopwatch)
344
367
  ], BackendApplication.prototype, "stopwatch", void 0);
368
+ tslib_1.__decorate([
369
+ (0, inversify_1.inject)(logger_1.ILogger),
370
+ (0, inversify_1.named)('core:BackendApplication'),
371
+ tslib_1.__metadata("design:type", Object)
372
+ ], BackendApplication.prototype, "logger", void 0);
345
373
  tslib_1.__decorate([
346
374
  (0, inversify_1.inject)(exports.RootContainer),
347
375
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"backend-application.js","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-application.js","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,11 @@ const sinon = require("sinon");
21
21
  const inversify_1 = require("inversify");
22
22
  const common_1 = require("../common");
23
23
  const promise_util_1 = require("../common/promise-util");
24
- const mock_logger_1 = require("../common/test/mock-logger");
25
24
  const node_stopwatch_1 = require("./performance/node-stopwatch");
26
25
  const process_utils_1 = require("./process-utils");
27
26
  const backend_application_1 = require("./backend-application");
28
27
  const cli_1 = require("./cli");
28
+ const mock_logger_1 = require("../common/test/mock-logger");
29
29
  /**
30
30
  * Test subclass that exposes the protected `gracefulShutdown` for direct testing.
31
31
  */
@@ -73,6 +73,7 @@ describe('BackendApplication', () => {
73
73
  container.bind(process_utils_1.ProcessUtils).toSelf().inSingletonScope();
74
74
  container.bind(backend_application_1.BackendApplicationCliContribution).toSelf().inSingletonScope();
75
75
  container.bind(cli_1.CliContribution).toService(backend_application_1.BackendApplicationCliContribution);
76
+ container.bind(backend_application_1.EarlyExpressMiddleware).toSelf().inSingletonScope();
76
77
  (0, common_1.bindContributionProvider)(container, backend_application_1.BackendApplicationContribution);
77
78
  container.bind(TestBackendApplication).toSelf().inSingletonScope();
78
79
  container.bind(backend_application_1.BackendApplication).toService(TestBackendApplication);
@@ -201,7 +202,8 @@ describe('BackendApplication', () => {
201
202
  container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
202
203
  onStop: () => { secondRan = true; }
203
204
  });
204
- const errorStub = sandbox.stub(console, 'error');
205
+ const mockLogger = container.get(common_1.ILogger);
206
+ const errorStub = sandbox.stub(mockLogger, 'error');
205
207
  const app = container.get(TestBackendApplication);
206
208
  await app.invokeGracefulShutdown();
207
209
  (0, chai_1.expect)(secondRan, 'second contribution should still be stopped after first rejects').to.be.true;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-application.spec.js","sourceRoot":"","sources":["../../src/node/backend-application.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-application.spec.js","sourceRoot":"","sources":["../../src/node/backend-application.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,+BAA8B;AAC9B,+BAA+B;AAC/B,yCAA+E;AAC/E,sCAAyE;AACzE,yDAAkD;AAClD,iEAA6D;AAC7D,mDAA+C;AAC/C,+DAM+B;AAC/B,+BAAwC;AACxC,4DAAwD;AAExD;;GAEG;AAEH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,wCAAkB;IAC5C,sBAAsB;QACzB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;CACJ,CAAA;AAJK,sBAAsB;IAD3B,IAAA,sBAAU,GAAE;GACP,sBAAsB,CAI3B;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,yEAAyE;AACzE,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAU,CAAC;AAK9F,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,IAAI,OAA2B,CAAC;IAChC,IAAI,QAAyB,CAAC;IAC9B,IAAI,cAAgE,CAAC;IAErE,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAEhC,oEAAoE;QACpE,iEAAiE;QACjE,cAAc,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAqB,CAAC,CAAkB,CAAC;YACrF,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAChC,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,SAAS,mBAAmB;QACxB,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAElC,SAAS,CAAC,IAAI,CAAC,mCAAa,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACzD,SAAS,CAAC,IAAI,CAAC,gBAAO,CAAC,CAAC,EAAE,CAAC,wBAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,kBAAS,CAAC,CAAC,EAAE,CAAC,8BAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC,4BAAY,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACzD,SAAS,CAAC,IAAI,CAAC,uDAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC9E,SAAS,CAAC,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,uDAAiC,CAAC,CAAC;QAC7E,SAAS,CAAC,IAAI,CAAC,4CAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACnE,IAAA,iCAAwB,EAAC,SAAS,EAAE,oDAA8B,CAAC,CAAC;QAEpE,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACnE,SAAS,CAAC,IAAI,CAAC,wCAAkB,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAErE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAE/B,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACnF,IAAI,cAAc,GAAG,KAAK,CAAC;YAG3B,IAAM,MAAM,GAAZ,MAAM,MAAM;gBAEE,YAAY;oBAClB,cAAc,GAAG,IAAI,CAAC;gBAC1B,CAAC;aACJ,CAAA;YAHa;gBADT,IAAA,sBAAU,GAAE;;;;sDAGZ;YAJC,MAAM;gBADX,IAAA,sBAAU,GAAE;eACP,MAAM,CAKX;YAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEtB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAElD,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAEnC,IAAA,aAAM,EAAC,cAAc,EAAE,sDAAsD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1F,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE3D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAElD,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAEnC,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrF,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAElD,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAEnC,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChF,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1F,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAO,GAAG,EAAE,GAAe,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAElD,MAAM,eAAe,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAErD,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAC;YAEtB,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,8CAA8C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC9F,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChF,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,IAAI,uBAAQ,EAAQ,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE3D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAErD,IAAA,aAAM,EAAC,SAAS,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAE7F,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,eAAe,CAAC;YAEtB,IAAA,aAAM,EAAC,SAAS,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC3F,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAE/E,IAAM,MAAM,GAAZ,MAAM,MAAM;gBAAZ;oBACa,UAAK,GAAG,aAAa,CAAC;gBACnC,CAAC;aAAA,CAAA;YAFK,MAAM;gBADX,IAAA,sBAAU,GAAE;eACP,MAAM,CAEX;YAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAEnD,IAAI,QAA4B,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,GAAG,EAAE;oBACT,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;gBAC3C,CAAC;aACJ,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAEnC,IAAA,aAAM,EAAC,QAAQ,EAAE,8DAA8D,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,GAAG,EAAE,GAAe,CAAC,CAAC;aACzD,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAErD,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAC;YAEtB,IAAA,aAAM,EAAC,QAAQ,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACvF,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9E,IAAA,aAAM,EAAC,SAAS,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1F,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnD,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;aACtC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAO,CAAY,CAAC;YACrD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEpD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAEnC,IAAA,aAAM,EAAC,SAAS,EAAE,iEAAiE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChG,IAAA,aAAM,EAAC,SAAS,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,SAAS,GAAyC,EAAE,CAAC;YAC3D,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC;gBAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAQ,CAAC,sBAAsB,EAAE;aAC5D,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE3D,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAEjD,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrF,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAElC,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,4BAAY,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YAEnF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAe,CAAC;YAEhE,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACnC,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,EAAE,uDAAuD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEjG,YAAY,EAAE,CAAC;YAEf,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,EAAE,yDAAyD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnG,IAAA,aAAM,EAAC,aAAa,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAC/E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,oDAA8B,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,4BAAY,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YAEnF,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAe,CAAC;YAEhE,YAAY,EAAE,CAAC;YAEf,IAAA,aAAM,EAAC,SAAS,CAAC,UAAU,EAAE,kDAAkD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC5F,IAAA,aAAM,EAAC,aAAa,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtF,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend-hosting-module.d.ts","sourceRoot":"","sources":["../../../src/node/hosting/backend-hosting-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAK5C,wBAIG"}
1
+ {"version":3,"file":"backend-hosting-module.d.ts","sourceRoot":"","sources":["../../../src/node/hosting/backend-hosting-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAS5C,wBAUG"}
@@ -16,12 +16,19 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const inversify_1 = require("inversify");
19
+ const backend_application_1 = require("../backend-application");
19
20
  const ws_request_validators_1 = require("../ws-request-validators");
20
21
  const backend_application_hosts_1 = require("./backend-application-hosts");
22
+ const browser_connection_token_1 = require("./browser-connection-token");
21
23
  const ws_origin_validator_1 = require("./ws-origin-validator");
22
24
  exports.default = new inversify_1.ContainerModule(bind => {
23
25
  bind(backend_application_hosts_1.BackendApplicationHosts).toSelf().inSingletonScope();
24
26
  bind(ws_origin_validator_1.WsOriginValidator).toSelf().inSingletonScope();
25
27
  bind(ws_request_validators_1.WsRequestValidatorContribution).toService(ws_origin_validator_1.WsOriginValidator);
28
+ // Cookie-based connection token protects both HTTP and WebSocket endpoints.
29
+ bind(browser_connection_token_1.BrowserConnectionToken).toConstantValue((0, browser_connection_token_1.createBrowserConnectionToken)());
30
+ bind(browser_connection_token_1.BrowserConnectionTokenBackendContribution).toSelf().inSingletonScope();
31
+ bind(backend_application_1.BackendApplicationContribution).toService(browser_connection_token_1.BrowserConnectionTokenBackendContribution);
32
+ bind(ws_request_validators_1.WsRequestValidatorContribution).toService(browser_connection_token_1.BrowserConnectionTokenBackendContribution);
26
33
  });
27
34
  //# sourceMappingURL=backend-hosting-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend-hosting-module.js","sourceRoot":"","sources":["../../../src/node/hosting/backend-hosting-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,yCAA4C;AAC5C,oEAA0E;AAC1E,2EAAsE;AACtE,+DAA0D;AAE1D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,uCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sDAA8B,CAAC,CAAC,SAAS,CAAC,uCAAiB,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"backend-hosting-module.js","sourceRoot":"","sources":["../../../src/node/hosting/backend-hosting-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,yCAA4C;AAC5C,gEAAwE;AACxE,oEAA0E;AAC1E,2EAAsE;AACtE,yEAEoC;AACpC,+DAA0D;AAE1D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,uCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sDAA8B,CAAC,CAAC,SAAS,CAAC,uCAAiB,CAAC,CAAC;IAElE,4EAA4E;IAC5E,IAAI,CAAC,iDAAsB,CAAC,CAAC,eAAe,CAAC,IAAA,uDAA4B,GAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,oEAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,oDAA8B,CAAC,CAAC,SAAS,CAAC,oEAAyC,CAAC,CAAC;IAC1F,IAAI,CAAC,sDAA8B,CAAC,CAAC,SAAS,CAAC,oEAAyC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import * as http from 'http';
2
+ import express = require('express');
3
+ import { MaybePromise } from '../../common';
4
+ import { BackendApplicationContribution, EarlyExpressMiddleware } from '../backend-application';
5
+ import { WsRequestValidatorContribution } from '../ws-request-validators';
6
+ export declare const BrowserConnectionToken: unique symbol;
7
+ export declare const BROWSER_TOKEN_COOKIE_NAME = "theia-connection-token";
8
+ export interface BrowserConnectionToken {
9
+ value: string;
10
+ }
11
+ /**
12
+ * Validates WebSocket and HTTP requests using a cookie-based connection token.
13
+ *
14
+ * In browser deployments, the server generates a random token at startup and sets it
15
+ * as a `SameSite=Strict; HttpOnly` cookie on the first page load. Cross-origin pages
16
+ * cannot obtain or send this cookie, so their requests are rejected.
17
+ *
18
+ * This complements the origin validator: non-browser callers that omit the Origin
19
+ * header (e.g. Node.js scripts) still cannot reach the backend without the cookie.
20
+ *
21
+ * Skipped in Electron deployments (which use their own `ElectronSecurityToken`).
22
+ */
23
+ export declare class BrowserConnectionTokenBackendContribution implements BackendApplicationContribution, WsRequestValidatorContribution {
24
+ protected readonly browserConnectionToken: BrowserConnectionToken;
25
+ protected readonly earlyMiddleware: EarlyExpressMiddleware;
26
+ /**
27
+ * Register the cookie middleware during `initialize()` via `EarlyExpressMiddleware`
28
+ * so it runs before `express.static()` (which is registered later during `configure()`).
29
+ * This ensures the browser receives the token cookie on the initial page load.
30
+ */
31
+ initialize(): void;
32
+ /**
33
+ * Validate the connection token cookie on WebSocket upgrade requests.
34
+ * Non-browser callers that omit the Origin header (e.g. Node.js scripts)
35
+ * cannot provide the `SameSite=Strict` cookie either, so they are rejected.
36
+ */
37
+ allowWsUpgrade(request: http.IncomingMessage): MaybePromise<boolean>;
38
+ protected expressMiddleware(req: express.Request, res: express.Response, next: express.NextFunction): void;
39
+ protected getTokenFromCookie(req: http.IncomingMessage): string | undefined;
40
+ protected isTokenValid(token: string): boolean;
41
+ }
42
+ /**
43
+ * Creates a new browser connection token.
44
+ */
45
+ export declare function createBrowserConnectionToken(): BrowserConnectionToken;
46
+ //# sourceMappingURL=browser-connection-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-connection-token.d.ts","sourceRoot":"","sources":["../../../src/node/hosting/browser-connection-token.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,OAAO,GAAG,QAAQ,SAAS,CAAC,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAG1E,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,qBACa,yCAA0C,YAAW,8BAA8B,EAAE,8BAA8B;IAG5H,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAE3D;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAOlB;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC;IAapE,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,GAAG,IAAI;IAc1G,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,SAAS;IAQ3E,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAUjD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,sBAAsB,CAErE"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 STMicroelectronics and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BrowserConnectionTokenBackendContribution = exports.BROWSER_TOKEN_COOKIE_NAME = exports.BrowserConnectionToken = void 0;
19
+ exports.createBrowserConnectionToken = createBrowserConnectionToken;
20
+ const tslib_1 = require("tslib");
21
+ const cookie = require("cookie");
22
+ const crypto = require("crypto");
23
+ const inversify_1 = require("inversify");
24
+ const index_1 = require("../../common/index");
25
+ const backend_application_1 = require("../backend-application");
26
+ const uuid_1 = require("../../common/uuid");
27
+ exports.BrowserConnectionToken = Symbol('BrowserConnectionToken');
28
+ exports.BROWSER_TOKEN_COOKIE_NAME = 'theia-connection-token';
29
+ /**
30
+ * Validates WebSocket and HTTP requests using a cookie-based connection token.
31
+ *
32
+ * In browser deployments, the server generates a random token at startup and sets it
33
+ * as a `SameSite=Strict; HttpOnly` cookie on the first page load. Cross-origin pages
34
+ * cannot obtain or send this cookie, so their requests are rejected.
35
+ *
36
+ * This complements the origin validator: non-browser callers that omit the Origin
37
+ * header (e.g. Node.js scripts) still cannot reach the backend without the cookie.
38
+ *
39
+ * Skipped in Electron deployments (which use their own `ElectronSecurityToken`).
40
+ */
41
+ let BrowserConnectionTokenBackendContribution = class BrowserConnectionTokenBackendContribution {
42
+ /**
43
+ * Register the cookie middleware during `initialize()` via `EarlyExpressMiddleware`
44
+ * so it runs before `express.static()` (which is registered later during `configure()`).
45
+ * This ensures the browser receives the token cookie on the initial page load.
46
+ */
47
+ initialize() {
48
+ if (index_1.environment.electron.is()) {
49
+ return;
50
+ }
51
+ this.earlyMiddleware.handlers.push((req, res, next) => this.expressMiddleware(req, res, next));
52
+ }
53
+ /**
54
+ * Validate the connection token cookie on WebSocket upgrade requests.
55
+ * Non-browser callers that omit the Origin header (e.g. Node.js scripts)
56
+ * cannot provide the `SameSite=Strict` cookie either, so they are rejected.
57
+ */
58
+ allowWsUpgrade(request) {
59
+ if (index_1.environment.electron.is()) {
60
+ return true;
61
+ }
62
+ const token = this.getTokenFromCookie(request);
63
+ if (token) {
64
+ return this.isTokenValid(token);
65
+ }
66
+ // No cookie: reject. Legitimate browsers always have the cookie
67
+ // because it is set on the initial page load.
68
+ return false;
69
+ }
70
+ expressMiddleware(req, res, next) {
71
+ const existing = this.getTokenFromCookie(req);
72
+ if (!existing || !this.isTokenValid(existing)) {
73
+ // No cookie or stale cookie (e.g. after server restart) so (re-)issue it.
74
+ // The browser will use the fresh token on subsequent requests.
75
+ res.cookie(exports.BROWSER_TOKEN_COOKIE_NAME, this.browserConnectionToken.value, {
76
+ httpOnly: true,
77
+ sameSite: 'strict',
78
+ path: '/'
79
+ });
80
+ }
81
+ next();
82
+ }
83
+ getTokenFromCookie(req) {
84
+ const cookieHeader = req.headers.cookie;
85
+ if (cookieHeader) {
86
+ return cookie.parse(cookieHeader)[exports.BROWSER_TOKEN_COOKIE_NAME];
87
+ }
88
+ return undefined;
89
+ }
90
+ isTokenValid(token) {
91
+ try {
92
+ const received = Buffer.from(token, 'utf8');
93
+ const expected = Buffer.from(this.browserConnectionToken.value, 'utf8');
94
+ return received.byteLength === expected.byteLength && crypto.timingSafeEqual(received, expected);
95
+ }
96
+ catch (error) {
97
+ console.error(error);
98
+ }
99
+ return false;
100
+ }
101
+ };
102
+ exports.BrowserConnectionTokenBackendContribution = BrowserConnectionTokenBackendContribution;
103
+ tslib_1.__decorate([
104
+ (0, inversify_1.inject)(exports.BrowserConnectionToken),
105
+ tslib_1.__metadata("design:type", Object)
106
+ ], BrowserConnectionTokenBackendContribution.prototype, "browserConnectionToken", void 0);
107
+ tslib_1.__decorate([
108
+ (0, inversify_1.inject)(backend_application_1.EarlyExpressMiddleware),
109
+ tslib_1.__metadata("design:type", backend_application_1.EarlyExpressMiddleware)
110
+ ], BrowserConnectionTokenBackendContribution.prototype, "earlyMiddleware", void 0);
111
+ exports.BrowserConnectionTokenBackendContribution = BrowserConnectionTokenBackendContribution = tslib_1.__decorate([
112
+ (0, inversify_1.injectable)()
113
+ ], BrowserConnectionTokenBackendContribution);
114
+ /**
115
+ * Creates a new browser connection token.
116
+ */
117
+ function createBrowserConnectionToken() {
118
+ return { value: (0, uuid_1.generateUuid)() };
119
+ }
120
+ //# sourceMappingURL=browser-connection-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-connection-token.js","sourceRoot":"","sources":["../../../src/node/hosting/browser-connection-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=browser-connection-token.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-connection-token.spec.d.ts","sourceRoot":"","sources":["../../../src/node/hosting/browser-connection-token.spec.ts"],"names":[],"mappings":""}