@theia/core 1.72.0-next.5 → 1.72.0-next.50

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 (61) hide show
  1. package/README.md +3 -3
  2. package/lib/browser/catalog.json +474 -30
  3. package/lib/browser/frontend-application-module.d.ts +3 -0
  4. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  5. package/lib/browser/frontend-application-module.js +5 -2
  6. package/lib/browser/frontend-application-module.js.map +1 -1
  7. package/lib/browser/hover-service.d.ts +4 -4
  8. package/lib/browser/hover-service.d.ts.map +1 -1
  9. package/lib/browser/hover-service.js +10 -7
  10. package/lib/browser/hover-service.js.map +1 -1
  11. package/lib/browser/index.d.ts +1 -0
  12. package/lib/browser/index.d.ts.map +1 -1
  13. package/lib/browser/index.js +1 -0
  14. package/lib/browser/index.js.map +1 -1
  15. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts +15 -0
  16. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts.map +1 -0
  17. package/lib/browser/markdown-rendering/markdown-link-handler.js +60 -0
  18. package/lib/browser/markdown-rendering/markdown-link-handler.js.map +1 -0
  19. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +5 -0
  20. package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
  21. package/lib/browser/markdown-rendering/markdown-renderer.js +6 -1
  22. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  23. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  24. package/lib/browser/widgets/select-component.js.map +1 -1
  25. package/lib/common/markdown-rendering/markdown-string.d.ts +7 -0
  26. package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
  27. package/lib/common/markdown-rendering/markdown-string.js +34 -2
  28. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  29. package/lib/common/markdown-rendering/markdown-string.spec.d.ts +2 -0
  30. package/lib/common/markdown-rendering/markdown-string.spec.d.ts.map +1 -0
  31. package/lib/common/markdown-rendering/markdown-string.spec.js +47 -0
  32. package/lib/common/markdown-rendering/markdown-string.spec.js.map +1 -0
  33. package/lib/node/backend-application-module.d.ts.map +1 -1
  34. package/lib/node/backend-application-module.js +7 -0
  35. package/lib/node/backend-application-module.js.map +1 -1
  36. package/lib/node/backend-application.d.ts +43 -3
  37. package/lib/node/backend-application.d.ts.map +1 -1
  38. package/lib/node/backend-application.js +82 -15
  39. package/lib/node/backend-application.js.map +1 -1
  40. package/lib/node/backend-application.spec.d.ts +2 -0
  41. package/lib/node/backend-application.spec.d.ts.map +1 -0
  42. package/lib/node/backend-application.spec.js +252 -0
  43. package/lib/node/backend-application.spec.js.map +1 -0
  44. package/lib/node/logger-cli-contribution.spec.js +9 -9
  45. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  46. package/package.json +16 -16
  47. package/src/browser/frontend-application-module.ts +6 -3
  48. package/src/browser/hover-service.ts +9 -7
  49. package/src/browser/index.ts +1 -0
  50. package/src/browser/markdown-rendering/markdown-link-handler.ts +61 -0
  51. package/src/browser/markdown-rendering/markdown-renderer.ts +6 -0
  52. package/src/browser/style/index.css +31 -32
  53. package/src/browser/style/scrollbars.css +0 -2
  54. package/src/browser/style/select-component.css +6 -3
  55. package/src/browser/widgets/select-component.tsx +1 -1
  56. package/src/common/markdown-rendering/markdown-string.spec.ts +50 -0
  57. package/src/common/markdown-rendering/markdown-string.ts +34 -2
  58. package/src/node/backend-application-module.ts +11 -1
  59. package/src/node/backend-application.spec.ts +310 -0
  60. package/src/node/backend-application.ts +104 -19
  61. package/src/node/logger-cli-contribution.spec.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-string.js","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-string.js","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.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;;;AA8IhF,gEAGC;AAID,wDAoBC;AAvKD,wCAAoD;AAEpD,qDAA+C;AAC/C,oCAA8C;AAe9C,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACtC,6FAAa,CAAA;IACb,qFAAS,CAAA;AACb,CAAC,EAHW,8BAA8B,8CAA9B,8BAA8B,QAGzC;AAED,IAAiB,cAAc,CAiB9B;AAjBD,WAAiB,cAAc;IAC3B;;OAEG;IACH,SAAgB,EAAE,CAAC,SAAkB;QACjC,OAAO,IAAA,gBAAQ,EAAiB,SAAS,CAAC,IAAI,IAAA,gBAAQ,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAFe,iBAAE,KAEjB,CAAA;IAED;;;;OAIG;IACH,SAAgB,gBAAgB,CAAC,SAAsC,EAAE,SAAiB;QACtF,OAAO,SAAS,KAAK,IAAI;eAClB,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5F,CAAC;IAHe,+BAAgB,mBAG/B,CAAA;AACL,CAAC,EAjBgB,cAAc,8BAAd,cAAc,QAiB9B;AAED,kIAAkI;AAElI,MAAa,kBAAkB;IAO3B,YACI,QAAgB,EAAE,EAClB,qBAA2I,KAAK;QAEhJ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS,IAAI,SAAS,CAAC;YAC3D,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,IAAI,KAAK,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,eAA+C,8BAA8B,CAAC,SAAS;QAC7G,IAAI,CAAC,KAAK,IAAI,0BAA0B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAA,4BAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aACxF,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aAChE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;aACtB,OAAO,CAAC,KAAK,EAAE,YAAY,KAAK,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE7F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,IAAY;QACxC,mFAAmF;QACnF,iFAAiF;QACjF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,KAAa;QAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;oBACpB,OAAO,GAAG,OAAO,CAAC;gBACtB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,CAAC,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,MAA8B,EAAE,KAAa,EAAE,KAAc;QACpE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC;QAClB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,OAAO,CAAC,KAAa,EAAE,EAAU;QACrC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAA,gCAAsB,EAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,KAAK,KAAK,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9FD,gDA8FC;AAED,SAAgB,0BAA0B,CAAC,IAAY;IACnD,8FAA8F;IAC9F,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,gGAAgG;AAEhG,SAAgB,sBAAsB,CAAC,IAAY;IAC/C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=markdown-string.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-string.spec.d.ts","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource 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
+ const chai_1 = require("chai");
19
+ const markdown_string_1 = require("./markdown-string");
20
+ describe('MarkdownStringImpl#appendCodeblock', () => {
21
+ it('uses a triple-backtick fence for code without backticks', () => {
22
+ const md = new markdown_string_1.MarkdownStringImpl();
23
+ md.appendCodeblock('json', '{ "type": "adaptive" }');
24
+ (0, chai_1.expect)(md.value).to.equal('\n```json\n{ "type": "adaptive" }\n```\n');
25
+ });
26
+ it('uses a longer fence when the code contains a triple-backtick run', () => {
27
+ const md = new markdown_string_1.MarkdownStringImpl();
28
+ const code = 'before\n```json\n{ "x": 1 }\n```\nafter';
29
+ md.appendCodeblock('', code);
30
+ // The fence must be at least 4 backticks so the inner ``` cannot close it.
31
+ (0, chai_1.expect)(md.value).to.equal('\n````\n' + code + '\n````\n');
32
+ });
33
+ it('grows the fence to be longer than the longest backtick run inside the code', () => {
34
+ const md = new markdown_string_1.MarkdownStringImpl();
35
+ const code = 'a ```` b ``` c';
36
+ md.appendCodeblock('', code);
37
+ // Longest run is 4, so fence must be 5.
38
+ (0, chai_1.expect)(md.value).to.equal('\n`````\n' + code + '\n`````\n');
39
+ });
40
+ it('still uses a triple-backtick fence when only single/double backticks appear', () => {
41
+ const md = new markdown_string_1.MarkdownStringImpl();
42
+ const code = 'inline `code` and ``double`` only';
43
+ md.appendCodeblock('', code);
44
+ (0, chai_1.expect)(md.value).to.equal('\n```\n' + code + '\n```\n');
45
+ });
46
+ });
47
+ //# sourceMappingURL=markdown-string.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-string.spec.js","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.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,uDAAuD;AAEvD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAEhD,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,GAAG,IAAI,oCAAkB,EAAE,CAAC;QACpC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,GAAG,IAAI,oCAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,yCAAyC,CAAC;QACvD,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7B,2EAA2E;QAC3E,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAClF,MAAM,EAAE,GAAG,IAAI,oCAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7B,wCAAwC;QACxC,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACnF,MAAM,EAAE,GAAG,IAAI,oCAAkB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,mCAAmC,CAAC;QACjD,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAA,aAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend-application-module.d.ts","sourceRoot":"","sources":["../../src/node/backend-application-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAwB,MAAM,WAAW,CAAC;AA6DlE,eAAO,MAAM,wBAAwB,iBA4FnC,CAAC"}
1
+ {"version":3,"file":"backend-application-module.d.ts","sourceRoot":"","sources":["../../src/node/backend-application-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAwB,MAAM,WAAW,CAAC;AAgElE,eAAO,MAAM,wBAAwB,iBAmGnC,CAAC"}
@@ -65,6 +65,13 @@ exports.backendApplicationModule = new inversify_1.ContainerModule(bind => {
65
65
  bind(backend_application_1.BackendApplicationCliContribution).toSelf().inSingletonScope();
66
66
  bind(cli_1.CliContribution).toService(backend_application_1.BackendApplicationCliContribution);
67
67
  bind(backend_application_1.BackendApplication).toSelf().inSingletonScope();
68
+ bind(backend_application_1.RootContainer).toDynamicValue(({ container }) => {
69
+ let root = container;
70
+ while (root.parent) {
71
+ root = root.parent;
72
+ }
73
+ return root;
74
+ }).inSingletonScope();
68
75
  (0, common_1.bindRootContributionProvider)(bind, backend_application_1.BackendApplicationContribution);
69
76
  // Bind the BackendApplicationServer as a BackendApplicationContribution
70
77
  // and fallback to an empty contribution if never bound.
@@ -1 +1 @@
1
- {"version":3,"file":"backend-application-module.js","sourceRoot":"","sources":["../../src/node/backend-application-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-application-module.js","sourceRoot":"","sources":["../../src/node/backend-application-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,yCAAkE;AAClE,oEAAgE;AAChE,4CAAsD;AACtD,sCAgBmB;AACnB,+DAG+B;AAC/B,+BAAoD;AACpD,2CAAoD;AACpD,6DAA6D;AAC7D,yEAAoF;AACpF,6DAAiF;AACjF,mDAAyD;AACzD,yFAAoF;AACpF,qEAAgI;AAChI,mEAA6F;AAC7F,mDAA2E;AAC3E,yDAAyD;AACzD,uEAA2G;AAC3G,2DAAuD;AACvD,mDAA+C;AAC/C,6EAAwE;AACxE,+CAA8E;AAC9E,+DAA8D;AAC9D,6EAAwE;AACxE,6DAAgF;AAChF,4EAAuE;AACvE,8EAAyE;AACzE,uDAAuE;AACvE,iEAAiE;AAEjE,IAAA,oBAAQ,EAAC,IAAA,sBAAU,GAAE,EAAE,wCAAkB,CAAC,CAAC;AAE3C,MAAM,uBAAuB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE;IACzF,mBAAmB,CAAC,2BAAkB,EAAE,uBAAc,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC/F,mBAAmB,CAAC,2BAAkB,EAAE,sBAAa,CAAC,CAAC;IACvD,IAAI,CAAC,uBAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC3F,mBAAmB,CAAC,0CAAqB,EAAE,sCAAiB,CAAC,CAAC;IAC9D,mBAAmB,CAAC,yCAAoB,EAAE,qCAAgB,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IAC/D,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACzE,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACzE,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAE3E,IAAI,CAAC,gBAAU,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7C,IAAA,qCAA4B,EAAC,IAAI,EAAE,qBAAe,CAAC,CAAC;IAEpD,IAAI,CAAC,uDAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,uDAAiC,CAAC,CAAC;IAEnE,IAAI,CAAC,wCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,mCAAa,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;QACjD,IAAI,IAAI,GAAG,SAAS,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtB,IAAA,qCAA4B,EAAC,IAAI,EAAE,oDAA8B,CAAC,CAAC;IACnE,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,CAAC,oDAA8B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACtD,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,8CAAwB,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,8CAAwB,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtB,IAAI,CAAC,iCAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAExD,IAAI,CAAC,0CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,wCAAiB,CAAC,CAAC,SAAS,CAAC,0CAAqB,CAAC,CAAC;IACzD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,6BAAoB,CAAC,sCAAe,EAAE,GAAG,EAAE,CAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wCAAiB,CAAC,CACvC,CACJ,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,kCAAkB,CAAC,CAAC,EAAE,CAAC,sCAAsB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvE,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,6BAAoB,CAAC,gCAAgB,EAAE,GAAG,EAAE;QAC5C,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAqB,kCAAkB,CAAC,CAAC;QACrF,OAAO,kBAAkB,CAAC;IAC9B,CAAC,CAAC,CACL,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,wCAAkB,CAAC,CAAC,eAAe,CAAC,IAAI,wCAAkB,CAAC,EAAE,WAAW,EAAE,4CAAsB,EAAE,CAAC,CAAC,CAAC;IAE1G,IAAI,CAAC,0CAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAA,qCAA4B,EAAC,IAAI,EAAE,sDAA8B,CAAC,CAAC;IACnE,IAAI,CAAC,2BAAe,CAAC,CAAC,EAAE,CAAC,sCAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,6BAAoB,CAAC,+BAAmB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAkB,2BAAe,CAAC,CAAC,CAC3G,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,gDAA0B,CAAC,CAAC,EAAE,CAAC,oDAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEvF,IAAI,CAAC,oCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,4BAAY,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE/C,IAAI,CAAC,2CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,0BAAiB,CAAC,CAAC,SAAS,CAAC,2CAAqB,CAAC,CAAC;IACzD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAClC,GAAG,CAAC,EAAE,CAAC,IAAI,6BAAoB,CAAC,8BAAqB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,0BAAiB,CAAC,CAAC,CACrG,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IAEtD,IAAA,qCAA4B,EAAC,IAAI,EAAE,+CAAqB,CAAC,CAAC;IAC1D,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAClC,GAAG,CAAC,EAAE,CAAC,IAAI,6BAAoB,CAAC,8BAAoB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAAC,CACvG,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAA,+BAAiB,EAAC,IAAI,CAAC,CAAC;IACxB,IAAA,wCAA0B,EAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,CAAC,sCAAiB,CAAC,CAAC,EAAE,CAAC,0CAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAErE,IAAI,CAAC,oCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,gCAAc,CAAC,CAAC,SAAS,CAAC,oCAAkB,CAAC,CAAC;IAEnD,IAAA,qCAA4B,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,8BAAqB,CAAC,CAAC,eAAe,CAAC,CAAC,wBAAe,CAAC,OAAO,EAAE,wBAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAA,qCAA4B,EAAC,IAAI,EAAE,+BAAsB,CAAC,CAAC;IAC3D,IAAI,CAAC,mCAA0B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,2BAAkB,EAAE,KAAK,CAAC,CAAC,CAAC;IACjI,IAAI,CAAC,oCAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,gCAAuB,CAAC,CAAC,SAAS,CAAC,oCAA2B,CAAC,CAAC;IACrE,IAAI,CAAC,2BAAkB,CAAC,CAAC,EAAE,CAAC,mCAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,wBAAe,CAAC,OAAO,CAAC,CAAC;IACpH,IAAI,CAAC,0CAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,8BAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,0BAAiB,CAAC,CAAC,SAAS,CAAC,8BAAqB,CAAC,CAAC;IACzD,IAAA,sCAAmB,EAAC,IAAI,CAAC,CAAC;IAC1B,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import * as http from 'http';
2
2
  import * as https from 'https';
3
3
  import * as express from 'express';
4
4
  import * as yargs from 'yargs';
5
+ import { type interfaces } from 'inversify';
5
6
  import { ContributionProvider, MaybePromise, Stopwatch } from '../common';
6
7
  import { CliContribution } from './cli';
7
8
  import { AddressInfo } from 'net';
@@ -11,6 +12,10 @@ import { ProcessUtils } from './process-utils';
11
12
  * Mostly contains the `package.json` file and the `lib` directory.
12
13
  */
13
14
  export declare const BackendApplicationPath: string;
15
+ /**
16
+ * Private injection token for the backend's root Inversify {@link Container}.
17
+ */
18
+ export declare const RootContainer: unique symbol;
14
19
  export type DnsResultOrder = 'ipv4first' | 'verbatim' | 'nodeDefault';
15
20
  export declare const BackendApplicationServer: unique symbol;
16
21
  /**
@@ -66,12 +71,23 @@ export interface BackendApplicationContribution {
66
71
  */
67
72
  onStart?(server: http.Server | https.Server): MaybePromise<void>;
68
73
  /**
69
- * Called when the backend application shuts down. Contributions must perform only synchronous operations.
70
- * Any kind of additional asynchronous work queued in the event loop will be ignored and abandoned.
74
+ * Called when the backend application shuts down.
75
+ *
76
+ * When shutdown is initiated via `SIGINT`/`SIGTERM`, contributions are dispatched
77
+ * in parallel and any returned promise is awaited up to `SHUTDOWN_TIMEOUT_MS`
78
+ * milliseconds while injected services from the root container are still
79
+ * resolvable.
80
+ *
81
+ * On synchronous-exit fallback paths (uncaught exceptions, server bind failures,
82
+ * or normal process exit), the hook is invoked synchronously and any returned
83
+ * promise is discarded. Implementations should be resilient to either path.
84
+ *
85
+ * Contributions must be independent of one another during stop because they are
86
+ * dispatched in parallel.
71
87
  *
72
88
  * @param app the express application.
73
89
  */
74
- onStop?(app?: express.Application): void;
90
+ onStop?(app?: express.Application): MaybePromise<void>;
75
91
  }
76
92
  export declare class BackendApplicationCliContribution implements CliContribution {
77
93
  port: number;
@@ -94,7 +110,10 @@ export declare class BackendApplication {
94
110
  protected readonly app: express.Application;
95
111
  protected readonly processUtils: ProcessUtils;
96
112
  protected readonly stopwatch: Stopwatch;
113
+ protected readonly rootContainer: interfaces.Container;
97
114
  private _configured;
115
+ private stoppedContributions;
116
+ private shuttingDown;
98
117
  private settlementContext?;
99
118
  constructor(contributionsProvider: ContributionProvider<BackendApplicationContribution>, cliParams: BackendApplicationCliContribution);
100
119
  protected initialize(): Promise<void>;
@@ -104,6 +123,27 @@ export declare class BackendApplication {
104
123
  use(...handlers: express.Handler[]): void;
105
124
  start(port?: number, hostname?: string): Promise<http.Server | https.Server>;
106
125
  protected getHttpUrl({ address, port, family }: AddressInfo, ssl?: boolean): string;
126
+ /**
127
+ * Performs an asynchronous shutdown of the backend in two phases:
128
+ *
129
+ * 1. Contributions' {@link BackendApplicationContribution.onStop onStop} hooks are
130
+ * dispatched in parallel and awaited so that they can still resolve services
131
+ * from the root Inversify container while it is bound.
132
+ * 2. All services in the root container are unbound, running their `@preDestroy`
133
+ * hooks.
134
+ *
135
+ * Each phase has its own {@link SHUTDOWN_TIMEOUT_MS} budget to avoid hanging on a
136
+ * misbehaving hook. Late-resolving promises from a timed-out phase may still
137
+ * settle in the background and could log noisily or interact with a partly
138
+ * unbound container; this is accepted because the process is exiting.
139
+ *
140
+ * Idempotent: a second invocation is a no-op. Exits the process with code 1 so
141
+ * that the `process.on('exit')` handler runs for fallback cleanup such as
142
+ * {@link ProcessUtils.terminateProcessTree}; the exit handler does not re-invoke
143
+ * contribution `onStop()` hooks that this method already dispatched.
144
+ */
145
+ protected gracefulShutdown(): Promise<void>;
146
+ protected stopContributions(): Promise<void>;
107
147
  protected onStop(): void;
108
148
  protected serveGzipped(contentType: string, req: express.Request, res: express.Response, next: express.NextFunction): Promise<void>;
109
149
  protected measureContribution<T>(contribution: BackendApplicationContribution, hook: string, fn: () => MaybePromise<T>): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-application.d.ts","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-application.d.ts","sourceRoot":"","sources":["../../src/node/backend-application.ts"],"names":[],"mappings":"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"}
@@ -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.BackendApplicationPath = void 0;
18
+ exports.BackendApplication = exports.BackendApplicationCliContribution = exports.BackendApplicationContribution = exports.BackendApplicationServer = 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");
@@ -33,8 +33,13 @@ const process_utils_1 = require("./process-utils");
33
33
  * Mostly contains the `package.json` file and the `lib` directory.
34
34
  */
35
35
  exports.BackendApplicationPath = process.env.THEIA_APP_PROJECT_PATH || process.cwd();
36
+ /**
37
+ * Private injection token for the backend's root Inversify {@link Container}.
38
+ */
39
+ exports.RootContainer = Symbol('RootContainer');
36
40
  const APP_PROJECT_PATH = 'app-project-path';
37
41
  const TIMER_WARNING_THRESHOLD = 50;
42
+ const SHUTDOWN_TIMEOUT_MS = 5000;
38
43
  const DEFAULT_PORT = index_1.environment.electron.is() ? 0 : 3000;
39
44
  const DEFAULT_HOST = 'localhost';
40
45
  const DEFAULT_SSL = false;
@@ -82,6 +87,8 @@ let BackendApplication = class BackendApplication {
82
87
  this.contributionsProvider = contributionsProvider;
83
88
  this.cliParams = cliParams;
84
89
  this.app = express();
90
+ this.stoppedContributions = false;
91
+ this.shuttingDown = false;
85
92
  process.on('uncaughtException', error => {
86
93
  this.handleUncaughtError(error);
87
94
  });
@@ -90,18 +97,13 @@ let BackendApplication = class BackendApplication {
90
97
  process.on('SIGPIPE', () => {
91
98
  console.error(new Error('Unexpected SIGPIPE'));
92
99
  });
93
- /**
94
- * Kill the current process tree on exit.
95
- */
96
- function signalHandler(signal) {
97
- process.exit(1);
98
- }
99
100
  // Handles normal process termination.
100
101
  process.on('exit', () => this.onStop());
101
- // Handles `Ctrl+C`.
102
- process.on('SIGINT', signalHandler);
103
- // Handles `kill pid`.
104
- process.on('SIGTERM', signalHandler);
102
+ // Handles `Ctrl+C` and `kill pid`. Delegates to gracefulShutdown so that
103
+ // root-scoped singletons get their @preDestroy hooks invoked before exit.
104
+ const onSignal = () => { this.gracefulShutdown().catch(err => console.error(err)); };
105
+ process.on('SIGINT', onSignal);
106
+ process.on('SIGTERM', onSignal);
105
107
  }
106
108
  async initialize() {
107
109
  await Promise.all(this.contributionsProvider.getContributions().map(async (contribution) => {
@@ -223,19 +225,80 @@ let BackendApplication = class BackendApplication {
223
225
  ? `${scheme}://[${address}]:${port}`
224
226
  : `${scheme}://${address}:${port}`;
225
227
  }
226
- onStop() {
228
+ /**
229
+ * Performs an asynchronous shutdown of the backend in two phases:
230
+ *
231
+ * 1. Contributions' {@link BackendApplicationContribution.onStop onStop} hooks are
232
+ * dispatched in parallel and awaited so that they can still resolve services
233
+ * from the root Inversify container while it is bound.
234
+ * 2. All services in the root container are unbound, running their `@preDestroy`
235
+ * hooks.
236
+ *
237
+ * Each phase has its own {@link SHUTDOWN_TIMEOUT_MS} budget to avoid hanging on a
238
+ * misbehaving hook. Late-resolving promises from a timed-out phase may still
239
+ * settle in the background and could log noisily or interact with a partly
240
+ * unbound container; this is accepted because the process is exiting.
241
+ *
242
+ * Idempotent: a second invocation is a no-op. Exits the process with code 1 so
243
+ * that the `process.on('exit')` handler runs for fallback cleanup such as
244
+ * {@link ProcessUtils.terminateProcessTree}; the exit handler does not re-invoke
245
+ * contribution `onStop()` hooks that this method already dispatched.
246
+ */
247
+ async gracefulShutdown() {
248
+ if (this.shuttingDown) {
249
+ return;
250
+ }
251
+ this.shuttingDown = true;
252
+ try {
253
+ await Promise.race([
254
+ this.stopContributions(),
255
+ (0, promise_util_1.timeoutReject)(SHUTDOWN_TIMEOUT_MS, `Stopping backend contributions timed out after ${SHUTDOWN_TIMEOUT_MS}ms`)
256
+ ]);
257
+ }
258
+ catch (err) {
259
+ const message = err instanceof Error ? err.message : String(err);
260
+ console.warn(`Backend contributions cleanup failed: ${message}`);
261
+ }
262
+ try {
263
+ await Promise.race([
264
+ this.rootContainer.unbindAllAsync(),
265
+ (0, promise_util_1.timeoutReject)(SHUTDOWN_TIMEOUT_MS, `Container unbind timed out after ${SHUTDOWN_TIMEOUT_MS}ms`)
266
+ ]);
267
+ }
268
+ catch (err) {
269
+ const message = err instanceof Error ? err.message : String(err);
270
+ console.warn(`Backend root container cleanup failed: ${message}`);
271
+ }
272
+ process.exit(1);
273
+ }
274
+ async stopContributions() {
275
+ if (this.stoppedContributions) {
276
+ return;
277
+ }
278
+ this.stoppedContributions = true;
227
279
  console.info('>>> Stopping backend contributions...');
228
- for (const contrib of this.contributionsProvider.getContributions()) {
280
+ // The `async` wrapper converts a synchronous throw inside a non-async
281
+ // contribution's `onStop` into a rejected promise so the per-contribution
282
+ // try/catch can handle it; otherwise `Promise.all` would abort.
283
+ await Promise.all(this.contributionsProvider.getContributions().map(async (contrib) => {
229
284
  if (contrib.onStop) {
230
285
  try {
231
- contrib.onStop(this.app);
286
+ await contrib.onStop(this.app);
232
287
  }
233
288
  catch (error) {
234
289
  console.error('Could not stop contribution', error);
235
290
  }
236
291
  }
237
- }
292
+ }));
238
293
  console.info('<<< All backend contributions have been stopped.');
294
+ }
295
+ onStop() {
296
+ // Deliberate fire-and-forget of an async `stopContributions`()` call.
297
+ // It invokes each contribution's `onStop` synchronously up to its
298
+ // first `await`, so any synchronous cleanup runs before
299
+ // `terminateProcessTree`. Any returned promises are abandoned because
300
+ // the `'exit'` event does not yield back to the event loop.
301
+ this.stopContributions();
239
302
  this.processUtils.terminateProcessTree(process.pid);
240
303
  }
241
304
  async serveGzipped(contentType, req, res, next) {
@@ -279,6 +342,10 @@ tslib_1.__decorate([
279
342
  (0, inversify_1.inject)(common_1.Stopwatch),
280
343
  tslib_1.__metadata("design:type", common_1.Stopwatch)
281
344
  ], BackendApplication.prototype, "stopwatch", void 0);
345
+ tslib_1.__decorate([
346
+ (0, inversify_1.inject)(exports.RootContainer),
347
+ tslib_1.__metadata("design:type", Object)
348
+ ], BackendApplication.prototype, "rootContainer", void 0);
282
349
  tslib_1.__decorate([
283
350
  (0, inversify_1.postConstruct)(),
284
351
  tslib_1.__metadata("design:type", Function),
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backend-application.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-application.spec.d.ts","sourceRoot":"","sources":["../../src/node/backend-application.spec.ts"],"names":[],"mappings":""}