@theia/plugin-ext 1.42.1 → 1.43.1

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 (189) hide show
  1. package/lib/common/arrays.d.ts +4 -0
  2. package/lib/common/arrays.d.ts.map +1 -1
  3. package/lib/common/arrays.js +15 -1
  4. package/lib/common/arrays.js.map +1 -1
  5. package/lib/common/commands.d.ts +4 -0
  6. package/lib/common/commands.d.ts.map +1 -0
  7. package/lib/common/commands.js +17 -0
  8. package/lib/common/commands.js.map +1 -0
  9. package/lib/common/plugin-api-rpc-model.d.ts +1 -0
  10. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  11. package/lib/common/plugin-api-rpc-model.js.map +1 -1
  12. package/lib/common/plugin-api-rpc.d.ts +48 -6
  13. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  14. package/lib/common/plugin-api-rpc.js +3 -2
  15. package/lib/common/plugin-api-rpc.js.map +1 -1
  16. package/lib/common/plugin-protocol.d.ts +27 -3
  17. package/lib/common/plugin-protocol.d.ts.map +1 -1
  18. package/lib/common/plugin-protocol.js +8 -1
  19. package/lib/common/plugin-protocol.js.map +1 -1
  20. package/lib/common/test-types.d.ts +83 -0
  21. package/lib/common/test-types.d.ts.map +1 -0
  22. package/lib/common/test-types.js +40 -0
  23. package/lib/common/test-types.js.map +1 -0
  24. package/lib/hosted/browser/hosted-plugin.d.ts +4 -1
  25. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  26. package/lib/hosted/browser/hosted-plugin.js +11 -0
  27. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  28. package/lib/hosted/node/hosted-plugin-localization-service.d.ts.map +1 -1
  29. package/lib/hosted/node/hosted-plugin-localization-service.js +71 -33
  30. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  31. package/lib/hosted/node/plugin-reader.d.ts.map +1 -1
  32. package/lib/hosted/node/plugin-reader.js +4 -2
  33. package/lib/hosted/node/plugin-reader.js.map +1 -1
  34. package/lib/hosted/node/scanners/scanner-theia.d.ts +5 -4
  35. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  36. package/lib/hosted/node/scanners/scanner-theia.js +79 -19
  37. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  38. package/lib/main/browser/command-registry-main.d.ts +3 -0
  39. package/lib/main/browser/command-registry-main.d.ts.map +1 -1
  40. package/lib/main/browser/command-registry-main.js +11 -1
  41. package/lib/main/browser/command-registry-main.js.map +1 -1
  42. package/lib/main/browser/languages-main.d.ts.map +1 -1
  43. package/lib/main/browser/languages-main.js +7 -5
  44. package/lib/main/browser/languages-main.js.map +1 -1
  45. package/lib/main/browser/main-context.d.ts.map +1 -1
  46. package/lib/main/browser/main-context.js +3 -0
  47. package/lib/main/browser/main-context.js.map +1 -1
  48. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
  49. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
  50. package/lib/main/browser/menus/vscode-theia-menu-mappings.js +3 -0
  51. package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
  52. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +2 -2
  53. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
  54. package/lib/main/browser/notebooks/notebook-documents-main.js +1 -1
  55. package/lib/main/browser/notebooks/notebook-documents-main.js.map +1 -1
  56. package/lib/main/browser/notebooks/notebook-dto.js +2 -2
  57. package/lib/main/browser/notebooks/notebook-dto.js.map +1 -1
  58. package/lib/main/browser/notebooks/notebook-kernels-main.d.ts.map +1 -1
  59. package/lib/main/browser/notebooks/notebook-kernels-main.js +4 -10
  60. package/lib/main/browser/notebooks/notebook-kernels-main.js.map +1 -1
  61. package/lib/main/browser/notebooks/notebook-renderers-main.js +1 -1
  62. package/lib/main/browser/notebooks/notebook-renderers-main.js.map +1 -1
  63. package/lib/main/browser/notebooks/notebooks-main.d.ts +2 -2
  64. package/lib/main/browser/notebooks/notebooks-main.d.ts.map +1 -1
  65. package/lib/main/browser/notebooks/notebooks-main.js +5 -5
  66. package/lib/main/browser/notebooks/notebooks-main.js.map +1 -1
  67. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
  68. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +3 -0
  69. package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
  70. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  71. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +4 -2
  72. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  73. package/lib/main/browser/plugin-contribution-handler.d.ts +2 -0
  74. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  75. package/lib/main/browser/plugin-contribution-handler.js +19 -1
  76. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  77. package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
  78. package/lib/main/browser/plugin-ext-frontend-module.js +3 -0
  79. package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
  80. package/lib/main/browser/plugin-icon-service.d.ts +20 -0
  81. package/lib/main/browser/plugin-icon-service.d.ts.map +1 -0
  82. package/lib/main/browser/plugin-icon-service.js +156 -0
  83. package/lib/main/browser/plugin-icon-service.js.map +1 -0
  84. package/lib/main/browser/terminal-main.d.ts +2 -2
  85. package/lib/main/browser/terminal-main.d.ts.map +1 -1
  86. package/lib/main/browser/terminal-main.js +5 -9
  87. package/lib/main/browser/terminal-main.js.map +1 -1
  88. package/lib/main/browser/test-main.d.ts +141 -0
  89. package/lib/main/browser/test-main.d.ts.map +1 -0
  90. package/lib/main/browser/test-main.js +560 -0
  91. package/lib/main/browser/test-main.js.map +1 -0
  92. package/lib/main/browser/view/plugin-view-registry.d.ts +14 -3
  93. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  94. package/lib/main/browser/view/plugin-view-registry.js +108 -56
  95. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  96. package/lib/main/browser/webview-views/webview-views-main.d.ts.map +1 -1
  97. package/lib/main/browser/webview-views/webview-views-main.js +5 -2
  98. package/lib/main/browser/webview-views/webview-views-main.js.map +1 -1
  99. package/lib/main/browser/webview-views/webview-views.d.ts +1 -0
  100. package/lib/main/browser/webview-views/webview-views.d.ts.map +1 -1
  101. package/lib/main/node/plugin-service.d.ts +2 -0
  102. package/lib/main/node/plugin-service.d.ts.map +1 -1
  103. package/lib/main/node/plugin-service.js +14 -1
  104. package/lib/main/node/plugin-service.js.map +1 -1
  105. package/lib/plugin/command-registry.d.ts +1 -3
  106. package/lib/plugin/command-registry.d.ts.map +1 -1
  107. package/lib/plugin/command-registry.js.map +1 -1
  108. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  109. package/lib/plugin/notebook/notebook-kernels.js +1 -0
  110. package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
  111. package/lib/plugin/notebook/notebooks.d.ts.map +1 -1
  112. package/lib/plugin/notebook/notebooks.js +2 -2
  113. package/lib/plugin/notebook/notebooks.js.map +1 -1
  114. package/lib/plugin/plugin-context.d.ts.map +1 -1
  115. package/lib/plugin/plugin-context.js +9 -18
  116. package/lib/plugin/plugin-context.js.map +1 -1
  117. package/lib/plugin/telemetry-ext.js +1 -1
  118. package/lib/plugin/telemetry-ext.js.map +1 -1
  119. package/lib/plugin/terminal-ext.d.ts +11 -9
  120. package/lib/plugin/terminal-ext.d.ts.map +1 -1
  121. package/lib/plugin/terminal-ext.js +37 -25
  122. package/lib/plugin/terminal-ext.js.map +1 -1
  123. package/lib/plugin/test-item.d.ts +47 -0
  124. package/lib/plugin/test-item.d.ts.map +1 -0
  125. package/lib/plugin/test-item.js +196 -0
  126. package/lib/plugin/test-item.js.map +1 -0
  127. package/lib/plugin/tests.d.ts +117 -0
  128. package/lib/plugin/tests.d.ts.map +1 -0
  129. package/lib/plugin/tests.js +402 -0
  130. package/lib/plugin/tests.js.map +1 -0
  131. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  132. package/lib/plugin/tree/tree-views.js +2 -1
  133. package/lib/plugin/tree/tree-views.js.map +1 -1
  134. package/lib/plugin/type-converters.d.ts +10 -1
  135. package/lib/plugin/type-converters.d.ts.map +1 -1
  136. package/lib/plugin/type-converters.js +74 -2
  137. package/lib/plugin/type-converters.js.map +1 -1
  138. package/lib/plugin/types-impl.d.ts +29 -4
  139. package/lib/plugin/types-impl.d.ts.map +1 -1
  140. package/lib/plugin/types-impl.js +30 -8
  141. package/lib/plugin/types-impl.js.map +1 -1
  142. package/package.json +30 -29
  143. package/src/common/arrays.ts +16 -0
  144. package/src/common/commands.ts +19 -0
  145. package/src/common/plugin-api-rpc-model.ts +1 -0
  146. package/src/common/plugin-api-rpc.ts +69 -7
  147. package/src/common/plugin-protocol.ts +31 -3
  148. package/src/common/test-types.ts +133 -0
  149. package/src/hosted/browser/hosted-plugin.ts +13 -1
  150. package/src/hosted/node/hosted-plugin-localization-service.ts +72 -37
  151. package/src/hosted/node/plugin-reader.ts +4 -2
  152. package/src/hosted/node/scanners/scanner-theia.ts +85 -20
  153. package/src/main/browser/command-registry-main.ts +14 -1
  154. package/src/main/browser/languages-main.ts +7 -5
  155. package/src/main/browser/main-context.ts +4 -0
  156. package/src/main/browser/menus/vscode-theia-menu-mappings.ts +3 -0
  157. package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +2 -2
  158. package/src/main/browser/notebooks/notebook-documents-main.ts +1 -1
  159. package/src/main/browser/notebooks/notebook-dto.ts +2 -2
  160. package/src/main/browser/notebooks/notebook-kernels-main.ts +6 -11
  161. package/src/main/browser/notebooks/notebook-renderers-main.ts +1 -1
  162. package/src/main/browser/notebooks/notebooks-main.ts +6 -6
  163. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +3 -0
  164. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +3 -2
  165. package/src/main/browser/plugin-contribution-handler.ts +19 -2
  166. package/src/main/browser/plugin-ext-frontend-module.ts +4 -0
  167. package/src/main/browser/plugin-icon-service.ts +156 -0
  168. package/src/main/browser/terminal-main.ts +7 -11
  169. package/src/main/browser/test-main.ts +618 -0
  170. package/src/main/browser/view/plugin-view-registry.ts +114 -56
  171. package/src/main/browser/webview-views/webview-views-main.ts +5 -2
  172. package/src/main/browser/webview-views/webview-views.ts +1 -0
  173. package/src/main/node/plugin-service.ts +12 -1
  174. package/src/plugin/command-registry.ts +1 -5
  175. package/src/plugin/notebook/notebook-kernels.ts +3 -1
  176. package/src/plugin/notebook/notebooks.ts +1 -3
  177. package/src/plugin/plugin-context.ts +13 -32
  178. package/src/plugin/telemetry-ext.ts +1 -1
  179. package/src/plugin/terminal-ext.ts +40 -26
  180. package/src/plugin/test-item.ts +174 -0
  181. package/src/plugin/tests.ts +482 -0
  182. package/src/plugin/tree/tree-views.ts +2 -1
  183. package/src/plugin/type-converters.ts +87 -3
  184. package/src/plugin/types-impl.ts +36 -5
  185. package/lib/plugin/stubs/tests-api.d.ts +0 -25
  186. package/lib/plugin/stubs/tests-api.d.ts.map +0 -1
  187. package/lib/plugin/stubs/tests-api.js +0 -70
  188. package/lib/plugin/stubs/tests-api.js.map +0 -1
  189. package/src/plugin/stubs/tests-api.ts +0 -102
@@ -0,0 +1,560 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 ST Microelectronics, Inc. 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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.TestingMainImpl = exports.TestItemImpl = exports.TestItemCollection = void 0;
28
+ const collections_1 = require("@theia/test/lib/common/collections");
29
+ const test_service_1 = require("@theia/test/lib/browser/test-service");
30
+ const tree_delta_1 = require("@theia/test/lib/common/tree-delta");
31
+ const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
32
+ const core_1 = require("@theia/core");
33
+ const common_1 = require("../../common");
34
+ const test_types_1 = require("../../common/test-types");
35
+ class TestItemCollection extends collections_1.TreeCollection {
36
+ add(item) {
37
+ item.realParent = this.owner;
38
+ return super.add(item);
39
+ }
40
+ }
41
+ exports.TestItemCollection = TestItemCollection;
42
+ class TestItemImpl {
43
+ constructor(uri, id) {
44
+ this.uri = uri;
45
+ this.id = id;
46
+ this.label = '';
47
+ this.tags = [];
48
+ this.busy = false;
49
+ this.canResolveChildren = false;
50
+ this.items = new TestItemCollection(this, (v) => v.path, (v) => v.deltaBuilder);
51
+ }
52
+ update(value) {
53
+ if ('label' in value) {
54
+ this.label = value.label;
55
+ }
56
+ if ('range' in value) {
57
+ this.range = convertRange(value.range);
58
+ }
59
+ if ('sortKey' in value) {
60
+ this.sortKey = value.sortKey;
61
+ }
62
+ if ('tags' in value) {
63
+ this.tags = value.tags;
64
+ }
65
+ if ('busy' in value) {
66
+ this.busy = value.busy;
67
+ }
68
+ if ('sortKey' in value) {
69
+ this.sortKey = value.sortKey;
70
+ }
71
+ if ('canResolveChildren' in value) {
72
+ this.canResolveChildren = value.canResolveChildren;
73
+ }
74
+ if ('description' in value) {
75
+ this.description = value.description;
76
+ }
77
+ if ('error' in value) {
78
+ this.error = value.error;
79
+ }
80
+ }
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ notifyPropertyChange(property, value) {
83
+ var _a;
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ const val = {};
86
+ val[property] = value;
87
+ if (this.path) {
88
+ (_a = this.deltaBuilder) === null || _a === void 0 ? void 0 : _a.reportChanged(this.path, val);
89
+ }
90
+ }
91
+ get deltaBuilder() {
92
+ if (this._deltaBuilder) {
93
+ return this._deltaBuilder;
94
+ }
95
+ else if (this.realParent) {
96
+ this._deltaBuilder = this.realParent.deltaBuilder;
97
+ return this._deltaBuilder;
98
+ }
99
+ else {
100
+ return undefined;
101
+ }
102
+ }
103
+ get path() {
104
+ if (this._path) {
105
+ return this._path;
106
+ }
107
+ else if (this.realParent instanceof TestItemImpl) {
108
+ this._path = [...this.realParent.path, this.id];
109
+ return this._path;
110
+ }
111
+ else {
112
+ return [this.id];
113
+ }
114
+ }
115
+ ;
116
+ get parent() {
117
+ const realParent = this.realParent;
118
+ if (realParent instanceof TestItemImpl) {
119
+ return realParent;
120
+ }
121
+ return undefined;
122
+ }
123
+ get realParent() {
124
+ return this._parent;
125
+ }
126
+ set realParent(v) {
127
+ this.iterate(item => {
128
+ item._path = undefined;
129
+ return true;
130
+ });
131
+ this._parent = v;
132
+ }
133
+ get controller() {
134
+ var _a;
135
+ return (_a = this.realParent) === null || _a === void 0 ? void 0 : _a.controller;
136
+ }
137
+ iterate(toDo) {
138
+ if (toDo(this)) {
139
+ for (let i = 0; i < this.items.values.length; i++) {
140
+ if (!this.items.values[i].iterate(toDo)) {
141
+ return false;
142
+ }
143
+ }
144
+ return true;
145
+ }
146
+ else {
147
+ return false;
148
+ }
149
+ }
150
+ get tests() {
151
+ return this.items.values;
152
+ }
153
+ resolveChildren() {
154
+ var _a;
155
+ if (this.canResolveChildren) {
156
+ (_a = this.controller) === null || _a === void 0 ? void 0 : _a.resolveChildren(this);
157
+ }
158
+ }
159
+ }
160
+ __decorate([
161
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
162
+ __metadata("design:type", String)
163
+ ], TestItemImpl.prototype, "label", void 0);
164
+ __decorate([
165
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
166
+ __metadata("design:type", Object)
167
+ ], TestItemImpl.prototype, "range", void 0);
168
+ __decorate([
169
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
170
+ __metadata("design:type", Object)
171
+ ], TestItemImpl.prototype, "sortKey", void 0);
172
+ __decorate([
173
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
174
+ __metadata("design:type", Array)
175
+ ], TestItemImpl.prototype, "tags", void 0);
176
+ __decorate([
177
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
178
+ __metadata("design:type", Boolean)
179
+ ], TestItemImpl.prototype, "busy", void 0);
180
+ __decorate([
181
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
182
+ __metadata("design:type", Boolean)
183
+ ], TestItemImpl.prototype, "canResolveChildren", void 0);
184
+ __decorate([
185
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
186
+ __metadata("design:type", Object)
187
+ ], TestItemImpl.prototype, "description", void 0);
188
+ __decorate([
189
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
190
+ __metadata("design:type", Object)
191
+ ], TestItemImpl.prototype, "error", void 0);
192
+ exports.TestItemImpl = TestItemImpl;
193
+ function itemToPath(item) {
194
+ if (!(item instanceof TestItemImpl)) {
195
+ throw new Error(`Not a TestItemImpl: ${item.id}`);
196
+ }
197
+ return item.path;
198
+ }
199
+ class TestRunProfileImpl {
200
+ constructor(proxy, controllerId, id, kind, label, isDefault, tag) {
201
+ this.proxy = proxy;
202
+ this.controllerId = controllerId;
203
+ this.id = id;
204
+ this.kind = kind;
205
+ this.label = label;
206
+ this.isDefault = isDefault;
207
+ this.tag = tag;
208
+ }
209
+ update(update) {
210
+ if ('label' in update) {
211
+ this.label = update.label;
212
+ }
213
+ if ('isDefault' in update) {
214
+ this.isDefault = update.isDefault;
215
+ }
216
+ if ('tag' in update) {
217
+ this.tag = update.tag;
218
+ }
219
+ if ('canConfigure' in update) {
220
+ this.canConfigure = update.canConfigure;
221
+ }
222
+ }
223
+ configure() {
224
+ this.proxy.$onConfigureRunProfile(this.controllerId, this.id);
225
+ }
226
+ run(name, included, excluded) {
227
+ this.proxy.$onRunControllerTests([{
228
+ controllerId: this.controllerId,
229
+ name,
230
+ profileId: this.id,
231
+ includedTests: included.map(item => itemToPath(item)),
232
+ excludedTests: excluded.map(item => itemToPath(item))
233
+ }]);
234
+ }
235
+ }
236
+ class TestRunImpl {
237
+ constructor(controller, proxy, id, name) {
238
+ this.controller = controller;
239
+ this.proxy = proxy;
240
+ this.id = id;
241
+ this.testStates = new Map();
242
+ this.outputIndices = new Map();
243
+ this.outputs = [];
244
+ this.onDidChangePropertyEmitter = new vscode_languageserver_protocol_1.Emitter();
245
+ this.onDidChangeProperty = this.onDidChangePropertyEmitter.event;
246
+ this.onDidChangeTestStateEmitter = new vscode_languageserver_protocol_1.Emitter();
247
+ this.onDidChangeTestState = this.onDidChangeTestStateEmitter.event;
248
+ this.onDidChangeTestOutputEmitter = new vscode_languageserver_protocol_1.Emitter();
249
+ this.onDidChangeTestOutput = this.onDidChangeTestOutputEmitter.event;
250
+ this.name = name;
251
+ this.isRunning = false;
252
+ }
253
+ ended() {
254
+ const stateEvents = [];
255
+ this.testStates.forEach((state, item) => {
256
+ if (state.state <= test_types_1.TestExecutionState.Running) {
257
+ stateEvents.push({
258
+ oldState: state,
259
+ newState: undefined,
260
+ test: item
261
+ });
262
+ this.testStates.delete(item);
263
+ }
264
+ });
265
+ if (stateEvents.length > 0) {
266
+ this.onDidChangeTestStateEmitter.fire(stateEvents);
267
+ }
268
+ this.isRunning = false;
269
+ }
270
+ notifyPropertyChange(property, value) {
271
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
272
+ const val = {};
273
+ val[property] = value;
274
+ this.onDidChangePropertyEmitter.fire(val);
275
+ }
276
+ cancel() {
277
+ this.proxy.$onCancelTestRun(this.controller.id, this.id);
278
+ }
279
+ getTestState(item) {
280
+ return this.testStates.get(item);
281
+ }
282
+ getOutput(item) {
283
+ if (!item) {
284
+ return this.outputs;
285
+ }
286
+ else {
287
+ const indices = this.outputIndices.get(item);
288
+ if (!indices) {
289
+ return [];
290
+ }
291
+ else {
292
+ return indices.map(index => this.outputs[index]);
293
+ }
294
+ }
295
+ }
296
+ applyChanges(stateChanges, outputChanges) {
297
+ const stateEvents = [];
298
+ stateChanges.forEach(change => {
299
+ const item = this.controller.findItem(change.itemPath);
300
+ if (item) {
301
+ const oldState = this.testStates.get(item);
302
+ this.testStates.set(item, change);
303
+ stateEvents.push({ test: item, oldState: oldState, newState: change });
304
+ }
305
+ });
306
+ const outputEvents = [];
307
+ outputChanges.forEach(change => {
308
+ const output = {
309
+ output: change.output,
310
+ location: convertLocation(change.location)
311
+ };
312
+ this.outputs.push(output);
313
+ let item = undefined;
314
+ if (change.itemPath) {
315
+ item = this.controller.findItem(change.itemPath);
316
+ if (item) {
317
+ let indices = this.outputIndices.get(item);
318
+ if (!indices) {
319
+ indices = [];
320
+ this.outputIndices.set(item, indices);
321
+ }
322
+ indices.push(this.outputs.length - 1);
323
+ }
324
+ }
325
+ outputEvents.push([item, output]);
326
+ });
327
+ this.onDidChangeTestStateEmitter.fire(stateEvents);
328
+ this.onDidChangeTestOutputEmitter.fire(outputEvents);
329
+ }
330
+ get items() {
331
+ return [...this.testStates.keys()];
332
+ }
333
+ }
334
+ __decorate([
335
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
336
+ __metadata("design:type", Boolean)
337
+ ], TestRunImpl.prototype, "isRunning", void 0);
338
+ __decorate([
339
+ (0, collections_1.observableProperty)('notifyPropertyChange'),
340
+ __metadata("design:type", String)
341
+ ], TestRunImpl.prototype, "name", void 0);
342
+ function convertLocation(location) {
343
+ if (!location) {
344
+ return undefined;
345
+ }
346
+ return {
347
+ uri: location.uri.toString(),
348
+ range: convertRange(location.range)
349
+ };
350
+ }
351
+ function convertRange(range) {
352
+ if (range) {
353
+ return {
354
+ start: {
355
+ line: range.startLineNumber,
356
+ character: range.startColumn
357
+ }, end: {
358
+ line: range.endLineNumber,
359
+ character: range.endColumn
360
+ }
361
+ };
362
+ }
363
+ return undefined;
364
+ }
365
+ class TestControllerImpl {
366
+ constructor(proxy, id, label) {
367
+ this.proxy = proxy;
368
+ this.id = id;
369
+ this.label = label;
370
+ this._profiles = new collections_1.SimpleObservableCollection();
371
+ this._runs = new collections_1.SimpleObservableCollection();
372
+ this.deltaBuilder = new tree_delta_1.AccumulatingTreeDeltaEmitter(300);
373
+ this.canResolveChildren = false;
374
+ this.items = new TestItemCollection(this, item => item.path, () => this.deltaBuilder);
375
+ this.onProfilesChanged = this._profiles.onChanged;
376
+ this.onRunsChanged = this._runs.onChanged;
377
+ this.onItemsChanged = this.deltaBuilder.onDidFlush;
378
+ }
379
+ refreshTests(token) {
380
+ return this.proxy.$refreshTests(this.id, token);
381
+ }
382
+ applyDelta(diff) {
383
+ this.applyDeltasToCollection(this, diff);
384
+ }
385
+ withProfile(profileId) {
386
+ const profile = this._profiles.values.find(p => p.id === profileId);
387
+ if (!profile) {
388
+ throw new Error(`No test profile ${profileId} found in controller with id ${this.id} found`);
389
+ }
390
+ return profile;
391
+ }
392
+ withRun(runId) {
393
+ const run = this._runs.values.find(p => p.id === runId);
394
+ if (!run) {
395
+ throw new Error(`No test profile ${runId} found in controller with id ${this.id} found`);
396
+ }
397
+ return run;
398
+ }
399
+ applyDeltasToCollection(root, deltas) {
400
+ deltas.forEach(delta => this.applyDeltaToCollection(root, delta));
401
+ }
402
+ applyDeltaToCollection(root, delta) {
403
+ if (delta.type === tree_delta_1.DeltaKind.ADDED || delta.type === tree_delta_1.DeltaKind.REMOVED) {
404
+ const node = this.findNodeInRoot(root, delta.path.slice(0, delta.path.length - 1), 0);
405
+ if (node) {
406
+ if (delta.type === tree_delta_1.DeltaKind.ADDED) {
407
+ node.items.add(this.createTestItem(delta.value));
408
+ }
409
+ else {
410
+ node.items.remove(delta.path[delta.path.length - 1]);
411
+ }
412
+ }
413
+ }
414
+ else {
415
+ const node = this.findNodeInRoot(root, delta.path, 0);
416
+ if (node) {
417
+ if (delta.type === tree_delta_1.DeltaKind.CHANGED) {
418
+ node.update(delta.value);
419
+ }
420
+ if (delta.childDeltas) {
421
+ this.applyDeltasToCollection(node, delta.childDeltas);
422
+ }
423
+ }
424
+ }
425
+ }
426
+ findItem(path) {
427
+ if (path.length === 0) {
428
+ console.warn('looking for item with zero-path');
429
+ return undefined;
430
+ }
431
+ return this.findNodeInRoot(this, path, 0);
432
+ }
433
+ findNodeInRoot(root, path, startIndex) {
434
+ if (startIndex >= path.length) {
435
+ return root;
436
+ }
437
+ const child = root.items.get(path[startIndex]);
438
+ if (!child) {
439
+ return undefined;
440
+ }
441
+ return this.findNodeInRoot(child, path, startIndex + 1);
442
+ }
443
+ createTestItem(value) {
444
+ var _a;
445
+ const item = new TestItemImpl(core_1.URI.fromComponents(value.uri), value === null || value === void 0 ? void 0 : value.id);
446
+ item.update(value);
447
+ (_a = value.children) === null || _a === void 0 ? void 0 : _a.forEach(child => item.items.add(this.createTestItem(child)));
448
+ return item;
449
+ }
450
+ get controller() {
451
+ return this;
452
+ }
453
+ get testRunProfiles() {
454
+ return this._profiles.values;
455
+ }
456
+ update(change) {
457
+ if ('canRefresh' in change) {
458
+ this.canRefresh = change.canRefresh;
459
+ }
460
+ if ('canResolve' in change) {
461
+ this.canResolveChildren = change.canResolve;
462
+ }
463
+ if ('label' in change) {
464
+ this.label = change.label;
465
+ }
466
+ }
467
+ addProfile(profile) {
468
+ this._profiles.add(profile);
469
+ }
470
+ addRun(runId, runName, isRunning) {
471
+ const run = new TestRunImpl(this, this.proxy, runId, runName);
472
+ run.isRunning = isRunning;
473
+ this._runs.add(run);
474
+ return run;
475
+ }
476
+ removeProfile(profileId) {
477
+ this._profiles.remove(this.withProfile(profileId));
478
+ }
479
+ get testRuns() {
480
+ return this._runs.values;
481
+ }
482
+ get tests() {
483
+ return this.items.values;
484
+ }
485
+ resolveChildren(item) {
486
+ if (this.canResolveChildren) {
487
+ this.proxy.$onResolveChildren(this.id, itemToPath(item));
488
+ }
489
+ }
490
+ clearRuns() {
491
+ this._runs.clear();
492
+ }
493
+ }
494
+ class TestingMainImpl {
495
+ constructor(rpc, container, commandRegistry) {
496
+ this.controllerRegistrations = new Map();
497
+ this.testService = container.get(test_service_1.TestService);
498
+ this.proxy = rpc.getProxy(common_1.MAIN_RPC_CONTEXT.TESTING_EXT);
499
+ commandRegistry.registerArgumentProcessor({
500
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
501
+ processArgument(arg) {
502
+ if (arg instanceof TestItemImpl) {
503
+ if (!arg.controller || !arg.path) {
504
+ throw new Error(`Passing unattached test item ${arg.id} as a command argument`);
505
+ }
506
+ return test_types_1.TestItemReference.create(arg.controller.id, arg.path);
507
+ }
508
+ return arg;
509
+ }
510
+ });
511
+ }
512
+ $registerTestController(controllerId, label) {
513
+ const controller = new TestControllerImpl(this.proxy, controllerId, label);
514
+ this.controllerRegistrations.set(controllerId, [controller, this.testService.registerTestController(controller)]);
515
+ }
516
+ $updateController(controllerId, patch) {
517
+ this.withController(controllerId).update(patch);
518
+ }
519
+ $unregisterTestController(controllerId) {
520
+ const registered = this.controllerRegistrations.get(controllerId);
521
+ if (registered) {
522
+ this.controllerRegistrations.delete(controllerId);
523
+ registered[1].dispose();
524
+ }
525
+ }
526
+ withController(controllerId) {
527
+ const registration = this.controllerRegistrations.get(controllerId);
528
+ if (!registration) {
529
+ throw new Error(`No test controller with id ${controllerId} found`);
530
+ }
531
+ return registration[0];
532
+ }
533
+ $notifyDelta(controllerId, diff) {
534
+ this.withController(controllerId).applyDelta(diff);
535
+ }
536
+ $notifyTestRunProfileCreated(controllerId, profile) {
537
+ const registration = this.controllerRegistrations.get(controllerId);
538
+ if (!registration) {
539
+ throw new Error(`No test controller with id ${controllerId} found`);
540
+ }
541
+ registration[0].addProfile(new TestRunProfileImpl(this.proxy, controllerId, profile.id, profile.kind, profile.label, profile.isDefault, profile.tag));
542
+ }
543
+ $updateTestRunProfile(controllerId, profileId, update) {
544
+ this.withController(controllerId).withProfile(profileId).update(update);
545
+ }
546
+ $removeTestRunProfile(controllerId, profileId) {
547
+ this.withController(controllerId).removeProfile(profileId);
548
+ }
549
+ $notifyTestRunCreated(controllerId, run) {
550
+ this.withController(controllerId).addRun(run.id, run.name, run.isRunning);
551
+ }
552
+ $notifyTestStateChanged(controllerId, runId, stateChanges, outputChanges) {
553
+ this.withController(controllerId).withRun(runId).applyChanges(stateChanges, outputChanges);
554
+ }
555
+ $notifyTestRunEnded(controllerId, runId) {
556
+ this.withController(controllerId).withRun(runId).ended();
557
+ }
558
+ }
559
+ exports.TestingMainImpl = TestingMainImpl;
560
+ //# sourceMappingURL=test-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-main.js","sourceRoot":"","sources":["../../../src/main/browser/test-main.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { PluginViewWidget, PluginViewWidgetIdentifier } from './plugin-view-widg
5
5
  import { ScmContribution } from '@theia/scm/lib/browser/scm-contribution';
6
6
  import { FileNavigatorContribution } from '@theia/navigator/lib/browser/navigator-contribution';
7
7
  import { DebugFrontendApplicationContribution } from '@theia/debug/lib/browser/debug-frontend-application-contribution';
8
- import { Disposable } from '@theia/core/lib/common/disposable';
8
+ import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
9
9
  import { CommandRegistry } from '@theia/core/lib/common/command';
10
10
  import { MenuModelRegistry } from '@theia/core/lib/common/menu';
11
11
  import { Emitter, Event } from '@theia/core/lib/common/event';
@@ -13,6 +13,7 @@ import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
13
13
  import { ViewContextKeyService } from './view-context-key-service';
14
14
  import { TreeViewWidget } from './tree-view-widget';
15
15
  import { WebviewView, WebviewViewResolver } from '../webview-views/webview-views';
16
+ import { CancellationToken } from '@theia/core/lib/common/cancellation';
16
17
  export declare const PLUGIN_VIEW_FACTORY_ID = "plugin-view";
17
18
  export declare const PLUGIN_VIEW_CONTAINER_FACTORY_ID = "plugin-view-container";
18
19
  export declare const PLUGIN_VIEW_DATA_FACTORY_ID = "plugin-view-data";
@@ -42,6 +43,13 @@ export declare class PluginViewRegistry implements FrontendApplicationContributi
42
43
  private readonly viewDataProviders;
43
44
  private readonly viewDataState;
44
45
  private readonly webviewViewResolvers;
46
+ protected readonly onNewResolverRegisteredEmitter: Emitter<{
47
+ readonly viewType: string;
48
+ }>;
49
+ readonly onNewResolverRegistered: Event<{
50
+ readonly viewType: string;
51
+ }>;
52
+ private readonly webviewViewRevivals;
45
53
  private static readonly ID_MAPPINGS;
46
54
  protected init(): void;
47
55
  protected updateViewWelcomeVisibility(viewId: string): Promise<void>;
@@ -52,8 +60,9 @@ export declare class PluginViewRegistry implements FrontendApplicationContributi
52
60
  protected doRegisterViewContainer(id: string, location: string, options: ViewContainerTitleOptions): Disposable;
53
61
  getContainerViews(viewContainerId: string): string[];
54
62
  registerView(viewContainerId: string, view: View): Disposable;
63
+ resolveWebviewView(viewId: string, webview: WebviewView, cancellation: CancellationToken): Promise<void>;
55
64
  registerWebviewView(viewId: string, resolver: WebviewViewResolver): Promise<Disposable>;
56
- createNewWebviewView(): Promise<WebviewView>;
65
+ protected createNewWebviewView(viewId: string): Promise<WebviewView>;
57
66
  registerViewWelcome(viewWelcome: ViewWelcome): Disposable;
58
67
  handleViewWelcomeChange(viewId: string): Promise<void>;
59
68
  protected getTreeViewWelcomeWidget(viewId: string): Promise<TreeViewWelcomeWidget | undefined>;
@@ -64,7 +73,7 @@ export declare class PluginViewRegistry implements FrontendApplicationContributi
64
73
  reveal?: boolean;
65
74
  }): Promise<PluginViewWidget | undefined>;
66
75
  protected doOpenView(viewId: string): Promise<PluginViewWidget | undefined>;
67
- protected prepareView(widget: PluginViewWidget, webviewId?: string): Promise<void>;
76
+ protected prepareView(widget: PluginViewWidget): Promise<void>;
68
77
  protected getOrCreateViewContainerWidget(containerId: string): Promise<ViewContainerWidget>;
69
78
  openViewContainer(containerId: string): Promise<ViewContainerWidget | undefined>;
70
79
  protected prepareViewContainer(viewContainerId: string, containerWidget: ViewContainerWidget): Promise<void>;
@@ -85,7 +94,9 @@ export declare class PluginViewRegistry implements FrontendApplicationContributi
85
94
  */
86
95
  onDidInitializeLayout(): void;
87
96
  registerViewDataProvider(viewId: string, provider: ViewDataProvider): Disposable;
97
+ protected initView(viewId: string, toDispose: DisposableCollection): Promise<void>;
88
98
  protected createViewDataWidget(viewId: string, webviewId?: string): Promise<Widget | undefined>;
99
+ protected createWebviewWidget(viewId: string, webviewId?: string): Promise<Widget | undefined>;
89
100
  protected storeViewDataStateOnDispose(viewId: string, widget: Widget & StatefulWidget): void;
90
101
  protected isVisibleWidget(widget: Widget): boolean;
91
102
  protected updateFocusedView(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-view-registry.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/view/plugin-view-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-view-registry.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/view/plugin-view-registry.ts"],"names":[],"mappings":"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"}