@theia/plugin-ext 1.22.1 → 1.23.0-next.26

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 (366) hide show
  1. package/lib/common/character-classifier.js +2 -2
  2. package/lib/common/character-classifier.js.map +1 -1
  3. package/lib/common/index.js +1 -1
  4. package/lib/common/objects.js +3 -3
  5. package/lib/common/objects.js.map +1 -1
  6. package/lib/common/plugin-api-rpc-model.d.ts +12 -19
  7. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  8. package/lib/common/plugin-api-rpc-model.js.map +1 -1
  9. package/lib/common/plugin-api-rpc.d.ts +31 -13
  10. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  11. package/lib/common/plugin-api-rpc.js +64 -62
  12. package/lib/common/plugin-api-rpc.js.map +1 -1
  13. package/lib/common/plugin-protocol.d.ts +6 -0
  14. package/lib/common/plugin-protocol.d.ts.map +1 -1
  15. package/lib/common/plugin-protocol.js +6 -1
  16. package/lib/common/plugin-protocol.js.map +1 -1
  17. package/lib/hosted/browser/hosted-plugin-watcher.js +1 -1
  18. package/lib/hosted/browser/hosted-plugin-watcher.js.map +1 -1
  19. package/lib/hosted/browser/hosted-plugin.d.ts +3 -2
  20. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  21. package/lib/hosted/browser/hosted-plugin.js +53 -68
  22. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  23. package/lib/hosted/browser/plugin-worker.js +1 -1
  24. package/lib/hosted/browser/plugin-worker.js.map +1 -1
  25. package/lib/hosted/browser/worker/worker-main.js +4 -4
  26. package/lib/hosted/browser/worker/worker-main.js.map +1 -1
  27. package/lib/hosted/node/hosted-plugin-cli-contribution.js +1 -1
  28. package/lib/hosted/node/hosted-plugin-cli-contribution.js.map +1 -1
  29. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts +2 -0
  30. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts.map +1 -1
  31. package/lib/hosted/node/hosted-plugin-deployer-handler.js +25 -7
  32. package/lib/hosted/node/hosted-plugin-deployer-handler.js.map +1 -1
  33. package/lib/hosted/node/hosted-plugin-localization-service.js +3 -3
  34. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  35. package/lib/hosted/node/hosted-plugin-process.js +9 -9
  36. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  37. package/lib/hosted/node/hosted-plugin.js +6 -6
  38. package/lib/hosted/node/hosted-plugin.js.map +1 -1
  39. package/lib/hosted/node/metadata-scanner.js +2 -2
  40. package/lib/hosted/node/metadata-scanner.js.map +1 -1
  41. package/lib/hosted/node/plugin-ext-hosted-backend-module.js +2 -2
  42. package/lib/hosted/node/plugin-ext-hosted-backend-module.js.map +1 -1
  43. package/lib/hosted/node/plugin-host-rpc.js +6 -6
  44. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  45. package/lib/hosted/node/plugin-reader.d.ts.map +1 -1
  46. package/lib/hosted/node/plugin-reader.js +9 -8
  47. package/lib/hosted/node/plugin-reader.js.map +1 -1
  48. package/lib/hosted/node/plugin-service.js +9 -9
  49. package/lib/hosted/node/plugin-service.js.map +1 -1
  50. package/lib/hosted/node/scanners/backend-init-theia.js +2 -1
  51. package/lib/hosted/node/scanners/backend-init-theia.js.map +1 -1
  52. package/lib/hosted/node/scanners/file-plugin-uri-factory.js +1 -1
  53. package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
  54. package/lib/hosted/node/scanners/grammars-reader.js +1 -1
  55. package/lib/hosted/node/scanners/grammars-reader.js.map +1 -1
  56. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  57. package/lib/hosted/node/scanners/scanner-theia.js +9 -8
  58. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  59. package/lib/hosted/node-electron/plugin-ext-hosted-electron-backend-module.js +1 -1
  60. package/lib/hosted/node-electron/plugin-ext-hosted-electron-backend-module.js.map +1 -1
  61. package/lib/hosted/node-electron/scanner-theia-electron.js +1 -1
  62. package/lib/hosted/node-electron/scanner-theia-electron.js.map +1 -1
  63. package/lib/main/browser/authentication-main.d.ts +18 -11
  64. package/lib/main/browser/authentication-main.d.ts.map +1 -1
  65. package/lib/main/browser/authentication-main.js +111 -67
  66. package/lib/main/browser/authentication-main.js.map +1 -1
  67. package/lib/main/browser/commands.js +3 -3
  68. package/lib/main/browser/commands.js.map +1 -1
  69. package/lib/main/browser/comments/comment-thread-widget.js.map +1 -1
  70. package/lib/main/browser/comments/comments-context-key-service.d.ts +1 -1
  71. package/lib/main/browser/comments/comments-context-key-service.d.ts.map +1 -1
  72. package/lib/main/browser/comments/comments-context-key-service.js +3 -3
  73. package/lib/main/browser/comments/comments-context-key-service.js.map +1 -1
  74. package/lib/main/browser/comments/comments-contribution.js +8 -8
  75. package/lib/main/browser/comments/comments-contribution.js.map +1 -1
  76. package/lib/main/browser/comments/comments-decorator.js +1 -1
  77. package/lib/main/browser/comments/comments-decorator.js.map +1 -1
  78. package/lib/main/browser/comments/comments-main.js +1 -1
  79. package/lib/main/browser/comments/comments-main.js.map +1 -1
  80. package/lib/main/browser/comments/comments-service.js +1 -1
  81. package/lib/main/browser/comments/comments-service.js.map +1 -1
  82. package/lib/main/browser/custom-editors/custom-editor-contribution.js +2 -2
  83. package/lib/main/browser/custom-editors/custom-editor-contribution.js.map +1 -1
  84. package/lib/main/browser/custom-editors/custom-editor-opener.js +3 -3
  85. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  86. package/lib/main/browser/custom-editors/custom-editor-service.js +1 -1
  87. package/lib/main/browser/custom-editors/custom-editor-service.js.map +1 -1
  88. package/lib/main/browser/custom-editors/custom-editor-widget.js +3 -3
  89. package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
  90. package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
  91. package/lib/main/browser/custom-editors/paths.js +1 -1
  92. package/lib/main/browser/custom-editors/paths.js.map +1 -1
  93. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +8 -8
  94. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js.map +1 -1
  95. package/lib/main/browser/custom-editors/undo-redo-service.js +1 -1
  96. package/lib/main/browser/custom-editors/undo-redo-service.js.map +1 -1
  97. package/lib/main/browser/debug/plugin-debug-service.js +4 -4
  98. package/lib/main/browser/debug/plugin-debug-service.js.map +1 -1
  99. package/lib/main/browser/debug/plugin-debug-session-contribution-registry.js +4 -4
  100. package/lib/main/browser/debug/plugin-debug-session-contribution-registry.js.map +1 -1
  101. package/lib/main/browser/dialogs/modal-notification.js +4 -4
  102. package/lib/main/browser/dialogs/modal-notification.js.map +1 -1
  103. package/lib/main/browser/dialogs-main.js.map +1 -1
  104. package/lib/main/browser/documents-main.js +1 -1
  105. package/lib/main/browser/documents-main.js.map +1 -1
  106. package/lib/main/browser/editor/untitled-resource.js +2 -2
  107. package/lib/main/browser/editor/untitled-resource.js.map +1 -1
  108. package/lib/main/browser/keybindings/keybindings-contribution-handler.js +2 -2
  109. package/lib/main/browser/keybindings/keybindings-contribution-handler.js.map +1 -1
  110. package/lib/main/browser/languages-main.js +12 -12
  111. package/lib/main/browser/languages-main.js.map +1 -1
  112. package/lib/main/browser/main-context.d.ts.map +1 -1
  113. package/lib/main/browser/main-context.js +3 -0
  114. package/lib/main/browser/main-context.js.map +1 -1
  115. package/lib/main/browser/main-file-system-event-service.js.map +1 -1
  116. package/lib/main/browser/menus/menus-contribution-handler.js +14 -14
  117. package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
  118. package/lib/main/browser/output-channel-registry-main.js +2 -2
  119. package/lib/main/browser/output-channel-registry-main.js.map +1 -1
  120. package/lib/main/browser/plugin-authentication-service.d.ts +29 -0
  121. package/lib/main/browser/plugin-authentication-service.d.ts.map +1 -0
  122. package/lib/main/browser/plugin-authentication-service.js +81 -0
  123. package/lib/main/browser/plugin-authentication-service.js.map +1 -0
  124. package/lib/main/browser/plugin-contribution-handler.d.ts +1 -1
  125. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  126. package/lib/main/browser/plugin-contribution-handler.js +23 -23
  127. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  128. package/lib/main/browser/plugin-ext-deploy-command.js +4 -4
  129. package/lib/main/browser/plugin-ext-deploy-command.js.map +1 -1
  130. package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
  131. package/lib/main/browser/plugin-ext-frontend-module.js +14 -10
  132. package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
  133. package/lib/main/browser/plugin-ext-widget.js +6 -6
  134. package/lib/main/browser/plugin-ext-widget.js.map +1 -1
  135. package/lib/main/browser/plugin-frontend-contribution.js +3 -3
  136. package/lib/main/browser/plugin-frontend-contribution.js.map +1 -1
  137. package/lib/main/browser/plugin-frontend-view-contribution.js +1 -1
  138. package/lib/main/browser/plugin-frontend-view-contribution.js.map +1 -1
  139. package/lib/main/browser/plugin-icon-theme-service.js +11 -11
  140. package/lib/main/browser/plugin-icon-theme-service.js.map +1 -1
  141. package/lib/main/browser/plugin-shared-style.js +1 -1
  142. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  143. package/lib/main/browser/plugin-storage.js.map +1 -1
  144. package/lib/main/browser/quick-open-main.js +1 -1
  145. package/lib/main/browser/quick-open-main.js.map +1 -1
  146. package/lib/main/browser/scm-main.js.map +1 -1
  147. package/lib/main/browser/selection-provider-command.js +3 -3
  148. package/lib/main/browser/selection-provider-command.js.map +1 -1
  149. package/lib/main/browser/text-editor-main.js +1 -1
  150. package/lib/main/browser/text-editor-main.js.map +1 -1
  151. package/lib/main/browser/text-editor-model-service.js +3 -3
  152. package/lib/main/browser/text-editor-model-service.js.map +1 -1
  153. package/lib/main/browser/text-editors-main.js +9 -9
  154. package/lib/main/browser/text-editors-main.js.map +1 -1
  155. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +3 -3
  156. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  157. package/lib/main/browser/view/plugin-view-registry.d.ts +8 -4
  158. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  159. package/lib/main/browser/view/plugin-view-registry.js +74 -18
  160. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  161. package/lib/main/browser/view/plugin-view-widget.js +7 -7
  162. package/lib/main/browser/view/plugin-view-widget.js.map +1 -1
  163. package/lib/main/browser/view/tree-view-widget.js +16 -16
  164. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  165. package/lib/main/browser/view/view-context-key-service.js +3 -3
  166. package/lib/main/browser/view/view-context-key-service.js.map +1 -1
  167. package/lib/main/browser/view-column-service.js +4 -4
  168. package/lib/main/browser/view-column-service.js.map +1 -1
  169. package/lib/main/browser/webview/webview-environment.js +3 -3
  170. package/lib/main/browser/webview/webview-environment.js.map +1 -1
  171. package/lib/main/browser/webview/webview-frontend-security-warnings.js +4 -4
  172. package/lib/main/browser/webview/webview-frontend-security-warnings.js.map +1 -1
  173. package/lib/main/browser/webview/webview-preferences.js +1 -1
  174. package/lib/main/browser/webview/webview-preferences.js.map +1 -1
  175. package/lib/main/browser/webview/webview-resource-cache.js +1 -1
  176. package/lib/main/browser/webview/webview-resource-cache.js.map +1 -1
  177. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +2 -2
  178. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  179. package/lib/main/browser/webview/webview-theme-data-provider.js +5 -5
  180. package/lib/main/browser/webview/webview-theme-data-provider.js.map +1 -1
  181. package/lib/main/browser/webview/webview.js +17 -17
  182. package/lib/main/browser/webview/webview.js.map +1 -1
  183. package/lib/main/browser/webview-views/webview-views-main.d.ts +46 -0
  184. package/lib/main/browser/webview-views/webview-views-main.d.ts.map +1 -0
  185. package/lib/main/browser/webview-views/webview-views-main.js +127 -0
  186. package/lib/main/browser/webview-views/webview-views-main.js.map +1 -0
  187. package/lib/main/browser/webview-views/webview-views.d.ts +30 -0
  188. package/lib/main/browser/webview-views/webview-views.d.ts.map +1 -0
  189. package/lib/main/browser/webview-views/webview-views.js +23 -0
  190. package/lib/main/browser/webview-views/webview-views.js.map +1 -0
  191. package/lib/main/browser/webviews-main.js.map +1 -1
  192. package/lib/main/browser/window-state-main.js +1 -1
  193. package/lib/main/browser/window-state-main.js.map +1 -1
  194. package/lib/main/browser/workspace-main.d.ts +2 -0
  195. package/lib/main/browser/workspace-main.d.ts.map +1 -1
  196. package/lib/main/browser/workspace-main.js +6 -1
  197. package/lib/main/browser/workspace-main.js.map +1 -1
  198. package/lib/main/common/plugin-theia-environment.js +2 -2
  199. package/lib/main/common/plugin-theia-environment.js.map +1 -1
  200. package/lib/main/electron-browser/webview/electron-webview-widget-factory.js.map +1 -1
  201. package/lib/main/node/handlers/plugin-theia-directory-handler.js +1 -1
  202. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  203. package/lib/main/node/handlers/plugin-theia-file-handler.js +3 -3
  204. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  205. package/lib/main/node/paths/plugin-paths-service.js +7 -7
  206. package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
  207. package/lib/main/node/plugin-cli-contribution.js +1 -1
  208. package/lib/main/node/plugin-cli-contribution.js.map +1 -1
  209. package/lib/main/node/plugin-deployer-contribution.js +3 -3
  210. package/lib/main/node/plugin-deployer-contribution.js.map +1 -1
  211. package/lib/main/node/plugin-deployer-impl.d.ts +3 -1
  212. package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
  213. package/lib/main/node/plugin-deployer-impl.js +24 -19
  214. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  215. package/lib/main/node/plugin-deployer-proxy-entry-impl.js +1 -1
  216. package/lib/main/node/plugin-deployer-proxy-entry-impl.js.map +1 -1
  217. package/lib/main/node/plugin-ext-backend-module.js +1 -1
  218. package/lib/main/node/plugin-ext-backend-module.js.map +1 -1
  219. package/lib/main/node/plugin-github-resolver.js +1 -1
  220. package/lib/main/node/plugin-github-resolver.js.map +1 -1
  221. package/lib/main/node/plugin-http-resolver.js +1 -1
  222. package/lib/main/node/plugin-http-resolver.js.map +1 -1
  223. package/lib/main/node/plugin-server-handler.js +3 -3
  224. package/lib/main/node/plugin-server-handler.js.map +1 -1
  225. package/lib/main/node/plugin-service.js +2 -2
  226. package/lib/main/node/plugin-service.js.map +1 -1
  227. package/lib/main/node/plugin-theia-deployer-participant.js +2 -2
  228. package/lib/main/node/plugin-theia-deployer-participant.js.map +1 -1
  229. package/lib/main/node/plugins-key-value-storage.js +4 -4
  230. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  231. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +1 -1
  232. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js.map +1 -1
  233. package/lib/main/node/resolvers/local-file-plugin-deployer-resolver.js +1 -1
  234. package/lib/main/node/resolvers/local-file-plugin-deployer-resolver.js.map +1 -1
  235. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +1 -1
  236. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js.map +1 -1
  237. package/lib/main/node/webview-backend-security-warnings.js +1 -1
  238. package/lib/main/node/webview-backend-security-warnings.js.map +1 -1
  239. package/lib/plugin/authentication-ext.d.ts +23 -8
  240. package/lib/plugin/authentication-ext.d.ts.map +1 -1
  241. package/lib/plugin/authentication-ext.js +28 -24
  242. package/lib/plugin/authentication-ext.js.map +1 -1
  243. package/lib/plugin/comments.js +6 -6
  244. package/lib/plugin/comments.js.map +1 -1
  245. package/lib/plugin/decorations.js +1 -1
  246. package/lib/plugin/decorations.js.map +1 -1
  247. package/lib/plugin/document-data.js +4 -4
  248. package/lib/plugin/document-data.js.map +1 -1
  249. package/lib/plugin/documents.js +1 -1
  250. package/lib/plugin/documents.js.map +1 -1
  251. package/lib/plugin/editors-and-documents.js +6 -6
  252. package/lib/plugin/editors-and-documents.js.map +1 -1
  253. package/lib/plugin/env.js +2 -2
  254. package/lib/plugin/env.js.map +1 -1
  255. package/lib/plugin/file-system-event-service-ext-impl.js +2 -2
  256. package/lib/plugin/file-system-event-service-ext-impl.js.map +1 -1
  257. package/lib/plugin/file-system-ext-impl.js +1 -1
  258. package/lib/plugin/file-system-ext-impl.js.map +1 -1
  259. package/lib/plugin/known-commands.js +17 -16
  260. package/lib/plugin/known-commands.js.map +1 -1
  261. package/lib/plugin/known-commands.spec.js +1 -1
  262. package/lib/plugin/known-commands.spec.js.map +1 -1
  263. package/lib/plugin/languages/completion.js.map +1 -1
  264. package/lib/plugin/languages/declaration.js +2 -2
  265. package/lib/plugin/languages/declaration.js.map +1 -1
  266. package/lib/plugin/languages/definition.js +2 -2
  267. package/lib/plugin/languages/definition.js.map +1 -1
  268. package/lib/plugin/languages/diagnostics.js +3 -3
  269. package/lib/plugin/languages/diagnostics.js.map +1 -1
  270. package/lib/plugin/languages/implementation.js +2 -2
  271. package/lib/plugin/languages/implementation.js.map +1 -1
  272. package/lib/plugin/languages/reference.js +1 -1
  273. package/lib/plugin/languages/reference.js.map +1 -1
  274. package/lib/plugin/languages/rename.js +1 -1
  275. package/lib/plugin/languages/rename.js.map +1 -1
  276. package/lib/plugin/languages/semantic-highlighting.js +4 -4
  277. package/lib/plugin/languages/semantic-highlighting.js.map +1 -1
  278. package/lib/plugin/languages/type-definition.js +2 -2
  279. package/lib/plugin/languages/type-definition.js.map +1 -1
  280. package/lib/plugin/languages.js +1 -1
  281. package/lib/plugin/languages.js.map +1 -1
  282. package/lib/plugin/node/debug/debug.js +7 -7
  283. package/lib/plugin/node/debug/debug.js.map +1 -1
  284. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts +1 -1
  285. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts.map +1 -1
  286. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js +4 -4
  287. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js.map +1 -1
  288. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts +34 -0
  289. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts.map +1 -0
  290. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js +45 -0
  291. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js.map +1 -0
  292. package/lib/plugin/node/env-node-ext.js +2 -2
  293. package/lib/plugin/node/env-node-ext.js.map +1 -1
  294. package/lib/plugin/path.spec.js +3 -3
  295. package/lib/plugin/path.spec.js.map +1 -1
  296. package/lib/plugin/plugin-context.d.ts.map +1 -1
  297. package/lib/plugin/plugin-context.js +62 -30
  298. package/lib/plugin/plugin-context.js.map +1 -1
  299. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  300. package/lib/plugin/plugin-manager.js +7 -6
  301. package/lib/plugin/plugin-manager.js.map +1 -1
  302. package/lib/plugin/preference-registry.js +3 -3
  303. package/lib/plugin/preference-registry.js.map +1 -1
  304. package/lib/plugin/preferences/configuration.js +1 -1
  305. package/lib/plugin/preferences/configuration.js.map +1 -1
  306. package/lib/plugin/quick-open.js +1 -1
  307. package/lib/plugin/quick-open.js.map +1 -1
  308. package/lib/plugin/scm.js +1 -3
  309. package/lib/plugin/scm.js.map +1 -1
  310. package/lib/plugin/terminal-ext.d.ts +2 -2
  311. package/lib/plugin/terminal-ext.d.ts.map +1 -1
  312. package/lib/plugin/terminal-ext.js.map +1 -1
  313. package/lib/plugin/text-editor.js +10 -10
  314. package/lib/plugin/text-editor.js.map +1 -1
  315. package/lib/plugin/timeline.js.map +1 -1
  316. package/lib/plugin/type-converters.js +6 -5
  317. package/lib/plugin/type-converters.js.map +1 -1
  318. package/lib/plugin/type-converters.spec.js +5 -5
  319. package/lib/plugin/type-converters.spec.js.map +1 -1
  320. package/lib/plugin/types-impl.js +34 -32
  321. package/lib/plugin/types-impl.js.map +1 -1
  322. package/lib/plugin/webview-views.d.ts +68 -0
  323. package/lib/plugin/webview-views.d.ts.map +1 -0
  324. package/lib/plugin/webview-views.js +145 -0
  325. package/lib/plugin/webview-views.js.map +1 -0
  326. package/lib/plugin/webviews.d.ts +6 -0
  327. package/lib/plugin/webviews.d.ts.map +1 -1
  328. package/lib/plugin/webviews.js +29 -6
  329. package/lib/plugin/webviews.js.map +1 -1
  330. package/lib/plugin/workspace.d.ts +6 -0
  331. package/lib/plugin/workspace.d.ts.map +1 -1
  332. package/lib/plugin/workspace.js +21 -3
  333. package/lib/plugin/workspace.js.map +1 -1
  334. package/lib/plugin-ext-backend-electron-module.js +2 -2
  335. package/lib/plugin-ext-backend-electron-module.js.map +1 -1
  336. package/lib/plugin-ext-backend-module.js +2 -2
  337. package/lib/plugin-ext-backend-module.js.map +1 -1
  338. package/package.json +23 -23
  339. package/src/common/plugin-api-rpc-model.ts +12 -17
  340. package/src/common/plugin-api-rpc.ts +43 -13
  341. package/src/common/plugin-protocol.ts +7 -0
  342. package/src/hosted/browser/hosted-plugin.ts +20 -40
  343. package/src/hosted/node/hosted-plugin-deployer-handler.ts +23 -3
  344. package/src/hosted/node/plugin-reader.ts +2 -1
  345. package/src/hosted/node/scanners/scanner-theia.ts +2 -1
  346. package/src/main/browser/authentication-main.ts +137 -81
  347. package/src/main/browser/main-context.ts +4 -0
  348. package/src/main/browser/plugin-authentication-service.ts +71 -0
  349. package/src/main/browser/plugin-ext-frontend-module.ts +13 -8
  350. package/src/main/browser/view/plugin-view-registry.ts +73 -5
  351. package/src/main/browser/view-column-service.ts +1 -1
  352. package/src/main/browser/webview-views/webview-views-main.ts +142 -0
  353. package/src/main/browser/webview-views/webview-views.ts +38 -0
  354. package/src/main/browser/workspace-main.ts +9 -1
  355. package/src/main/electron-browser/webview/electron-webview-widget-factory.ts +2 -2
  356. package/src/main/node/paths/plugin-paths-service.ts +1 -1
  357. package/src/main/node/plugin-deployer-impl.ts +11 -7
  358. package/src/plugin/authentication-ext.ts +42 -32
  359. package/src/plugin/node/debug/plugin-debug-adapter-starter.ts +1 -1
  360. package/src/plugin/node/debug/plugin-inline-debug-adapter.ts +47 -0
  361. package/src/plugin/plugin-context.ts +47 -4
  362. package/src/plugin/plugin-manager.ts +2 -1
  363. package/src/plugin/terminal-ext.ts +2 -2
  364. package/src/plugin/webview-views.ts +213 -0
  365. package/src/plugin/webviews.ts +30 -0
  366. package/src/plugin/workspace.ts +23 -0
@@ -511,11 +511,6 @@ export interface RenameLocation {
511
511
  text: string;
512
512
  }
513
513
 
514
- export interface RenameProvider {
515
- provideRenameEdits(model: monaco.editor.ITextModel, position: Position, newName: string): PromiseLike<WorkspaceEdit & Rejection>;
516
- resolveRenameLocation?(model: monaco.editor.ITextModel, position: Position): PromiseLike<RenameLocation & Rejection>;
517
- }
518
-
519
514
  export interface CallHierarchyDefinition {
520
515
  name: string;
521
516
  kind: SymbolKind;
@@ -574,22 +569,22 @@ export interface LinePreview {
574
569
  character: number;
575
570
  }
576
571
 
577
- export interface AuthenticationSession {
578
- id: string;
579
- accessToken: string;
580
- account: { id: string, label: string };
581
- scopes: ReadonlyArray<string>;
572
+ /**
573
+ * @deprecated Use {@link theia.AuthenticationSession} instead.
574
+ */
575
+ export interface AuthenticationSession extends theia.AuthenticationSession {
582
576
  }
583
577
 
584
- export interface AuthenticationSessionsChangeEvent {
585
- added: ReadonlyArray<string>;
586
- removed: ReadonlyArray<string>;
587
- changed: ReadonlyArray<string>;
578
+ /**
579
+ * @deprecated Use {@link theia.AuthenticationProviderAuthenticationSessionsChangeEvent} instead.
580
+ */
581
+ export interface AuthenticationSessionsChangeEvent extends theia.AuthenticationProviderAuthenticationSessionsChangeEvent {
588
582
  }
589
583
 
590
- export interface AuthenticationProviderInformation {
591
- id: string;
592
- label: string;
584
+ /**
585
+ * @deprecated Use {@link theia.AuthenticationProviderInformation} instead.
586
+ */
587
+ export interface AuthenticationProviderInformation extends theia.AuthenticationProviderInformation {
593
588
  }
594
589
 
595
590
  export interface CommentOptions {
@@ -65,9 +65,6 @@ import {
65
65
  CallHierarchyDefinition,
66
66
  CallHierarchyReference,
67
67
  SearchInWorkspaceResult,
68
- AuthenticationSession,
69
- AuthenticationSessionsChangeEvent,
70
- AuthenticationProviderInformation,
71
68
  Comment,
72
69
  CommentOptions,
73
70
  CommentThreadCollapsibleState,
@@ -76,7 +73,12 @@ import {
76
73
  } from './plugin-api-rpc-model';
77
74
  import { ExtPluginApi } from './plugin-ext-api-contribution';
78
75
  import { KeysToAnyValues, KeysToKeysToAnyValue } from './types';
79
- import { CancellationToken, Progress, ProgressOptions } from '@theia/plugin';
76
+ import {
77
+ AuthenticationProviderAuthenticationSessionsChangeEvent,
78
+ CancellationToken,
79
+ Progress,
80
+ ProgressOptions,
81
+ } from '@theia/plugin';
80
82
  import { DebuggerDescription } from '@theia/debug/lib/common/debug-service';
81
83
  import { DebugProtocol } from 'vscode-debugprotocol';
82
84
  import { SymbolInformation } from '@theia/core/shared/vscode-languageserver-protocol';
@@ -93,6 +95,7 @@ import type {
93
95
  import { SerializableEnvironmentVariableCollection } from '@theia/terminal/lib/common/base-terminal-protocol';
94
96
  import { ThemeType } from '@theia/core/lib/common/theme';
95
97
  import { Disposable } from '@theia/core/lib/common/disposable';
98
+ // eslint-disable-next-line @theia/runtime-import-check
96
99
  import { PickOptions, QuickInputButtonHandle, QuickPickItem, WidgetOpenerOptions } from '@theia/core/lib/browser';
97
100
 
98
101
  export interface PreferenceData {
@@ -621,6 +624,7 @@ export interface WorkspaceMain {
621
624
  $onTextDocumentContentChange(uri: string, content: string): void;
622
625
  $updateWorkspaceFolders(start: number, deleteCount?: number, ...rootsToAdd: string[]): Promise<void>;
623
626
  $getWorkspace(): Promise<files.FileStat | undefined>;
627
+ $requestWorkspaceTrust(options?: theia.WorkspaceTrustRequestOptions): Promise<boolean | undefined>;
624
628
  }
625
629
 
626
630
  export interface WorkspaceExt {
@@ -628,6 +632,7 @@ export interface WorkspaceExt {
628
632
  $onWorkspaceLocationChanged(event: files.FileStat | undefined): void;
629
633
  $provideTextDocumentContent(uri: string): Promise<string | undefined>;
630
634
  $onTextSearchResult(searchRequestId: number, done: boolean, result?: SearchInWorkspaceResult): void;
635
+ $onWorkspaceTrustChanged(trust: boolean | undefined): void;
631
636
  }
632
637
 
633
638
  export interface TimelineExt {
@@ -1549,6 +1554,27 @@ export interface WebviewsMain {
1549
1554
  $unregisterSerializer(viewType: string): void;
1550
1555
  }
1551
1556
 
1557
+ export interface WebviewViewsExt {
1558
+ $resolveWebviewView(handle: string,
1559
+ viewType: string,
1560
+ title: string | undefined,
1561
+ state: any,
1562
+ cancellation: CancellationToken): Promise<void>;
1563
+ $onDidChangeWebviewViewVisibility(handle: string, visible: boolean): void;
1564
+ $disposeWebviewView(handle: string): void;
1565
+ }
1566
+
1567
+ export interface WebviewViewsMain extends Disposable {
1568
+ $registerWebviewViewProvider(viewType: string,
1569
+ options: { retainContextWhenHidden?: boolean, serializeBuffersForPostMessage: boolean }): void;
1570
+ $unregisterWebviewViewProvider(viewType: string): void;
1571
+
1572
+ $setWebviewViewTitle(handle: string, value: string | undefined): void;
1573
+ $setWebviewViewDescription(handle: string, value: string | undefined): void;
1574
+
1575
+ $show(handle: string, preserveFocus: boolean): void;
1576
+ }
1577
+
1552
1578
  export interface CustomEditorsExt {
1553
1579
  $resolveWebviewEditor(
1554
1580
  resource: UriComponents,
@@ -1743,6 +1769,7 @@ export const PLUGIN_RPC_CONTEXT = {
1743
1769
  CONNECTION_MAIN: createProxyIdentifier<ConnectionMain>('ConnectionMain'),
1744
1770
  WEBVIEWS_MAIN: createProxyIdentifier<WebviewsMain>('WebviewsMain'),
1745
1771
  CUSTOM_EDITORS_MAIN: createProxyIdentifier<CustomEditorsMain>('CustomEditorsMain'),
1772
+ WEBVIEW_VIEWS_MAIN: createProxyIdentifier<WebviewViewsMain>('WebviewViewsMain'),
1746
1773
  STORAGE_MAIN: createProxyIdentifier<StorageMain>('StorageMain'),
1747
1774
  TASKS_MAIN: createProxyIdentifier<TasksMain>('TasksMain'),
1748
1775
  DEBUG_MAIN: createProxyIdentifier<DebugMain>('DebugMain'),
@@ -1777,6 +1804,7 @@ export const MAIN_RPC_CONTEXT = {
1777
1804
  CONNECTION_EXT: createProxyIdentifier<ConnectionExt>('ConnectionExt'),
1778
1805
  WEBVIEWS_EXT: createProxyIdentifier<WebviewsExt>('WebviewsExt'),
1779
1806
  CUSTOM_EDITORS_EXT: createProxyIdentifier<CustomEditorsExt>('CustomEditorsExt'),
1807
+ WEBVIEW_VIEWS_EXT: createProxyIdentifier<WebviewViewsExt>('WebviewViewsExt'),
1780
1808
  STORAGE_EXT: createProxyIdentifier<StorageExt>('StorageExt'),
1781
1809
  TASKS_EXT: createProxyIdentifier<TasksExt>('TasksExt'),
1782
1810
  DEBUG_EXT: createProxyIdentifier<DebugExt>('DebugExt'),
@@ -1812,21 +1840,23 @@ export interface TasksMain {
1812
1840
  }
1813
1841
 
1814
1842
  export interface AuthenticationExt {
1815
- $getSessions(id: string): Promise<ReadonlyArray<AuthenticationSession>>;
1816
- $login(id: string, scopes: string[]): Promise<AuthenticationSession>;
1817
- $logout(id: string, sessionId: string): Promise<void>;
1818
- $onDidChangeAuthenticationSessions(id: string, label: string, event: AuthenticationSessionsChangeEvent): Promise<void>;
1819
- $onDidChangeAuthenticationProviders(added: AuthenticationProviderInformation[], removed: AuthenticationProviderInformation[]): Promise<void>;
1843
+ $getSessions(id: string, scopes?: string[]): Promise<ReadonlyArray<theia.AuthenticationSession>>;
1844
+ $createSession(id: string, scopes: string[]): Promise<theia.AuthenticationSession>;
1845
+ $removeSession(id: string, sessionId: string): Promise<void>;
1846
+ $onDidChangeAuthenticationSessions(id: string, label: string): Promise<void>;
1847
+ $onDidChangeAuthenticationProviders(added: theia.AuthenticationProviderInformation[], removed: theia.AuthenticationProviderInformation[]): Promise<void>;
1848
+ $setProviders(providers: theia.AuthenticationProviderInformation[]): Promise<void>;
1820
1849
  }
1821
1850
 
1822
1851
  export interface AuthenticationMain {
1823
1852
  $registerAuthenticationProvider(id: string, label: string, supportsMultipleAccounts: boolean): void;
1824
1853
  $unregisterAuthenticationProvider(id: string): void;
1825
1854
  $getProviderIds(): Promise<string[]>;
1826
- $updateSessions(providerId: string, event: AuthenticationSessionsChangeEvent): void;
1827
- $getSession(providerId: string, scopes: string[], extensionId: string, extensionName: string,
1828
- options: { createIfNone?: boolean, clearSessionPreference?: boolean }): Promise<theia.AuthenticationSession | undefined>;
1829
- $logout(providerId: string, sessionId: string): Promise<void>;
1855
+ $ensureProvider(id: string): Promise<void>;
1856
+ $sendDidChangeSessions(providerId: string, event: AuthenticationProviderAuthenticationSessionsChangeEvent): void;
1857
+ $getSession(providerId: string, scopes: readonly string[], extensionId: string, extensionName: string,
1858
+ options: theia.AuthenticationGetSessionOptions): Promise<theia.AuthenticationSession | undefined>;
1859
+ $removeSession(providerId: string, sessionId: string): Promise<void>;
1830
1860
  }
1831
1861
 
1832
1862
  export interface RawColorInfo {
@@ -128,10 +128,16 @@ export interface PluginPackageViewContainer {
128
128
  icon: string;
129
129
  }
130
130
 
131
+ export enum PluginViewType {
132
+ Tree = 'tree',
133
+ Webview = 'webview'
134
+ }
135
+
131
136
  export interface PluginPackageView {
132
137
  id: string;
133
138
  name: string;
134
139
  when?: string;
140
+ type?: string;
135
141
  }
136
142
 
137
143
  export interface PluginPackageViewWelcome {
@@ -696,6 +702,7 @@ export interface View {
696
702
  id: string;
697
703
  name: string;
698
704
  when?: string;
705
+ type?: string;
699
706
  }
700
707
 
701
708
  /**
@@ -62,6 +62,7 @@ import { JsonSchemaStore } from '@theia/core/lib/browser/json-schema-store';
62
62
  import { FileService, FileSystemProviderActivationEvent } from '@theia/filesystem/lib/browser/file-service';
63
63
  import { PluginCustomEditorRegistry } from '../../main/browser/custom-editors/plugin-custom-editor-registry';
64
64
  import { CustomEditorWidget } from '../../main/browser/custom-editors/custom-editor-widget';
65
+ import { Measurement, Stopwatch } from '@theia/core/lib/common';
65
66
 
66
67
  export type PluginHost = 'frontend' | string;
67
68
  export type DebugActivationEvent = 'onDebugResolve' | 'onDebugInitialConfigurations' | 'onDebugAdapterProtocolTracker' | 'onDebugDynamicConfigurations';
@@ -154,6 +155,9 @@ export class HostedPluginSupport {
154
155
  @inject(PluginCustomEditorRegistry)
155
156
  protected readonly customEditorRegistry: PluginCustomEditorRegistry;
156
157
 
158
+ @inject(Stopwatch)
159
+ protected readonly stopwatch: Stopwatch;
160
+
157
161
  private theiaReadyPromise: Promise<any>;
158
162
 
159
163
  protected readonly managers = new Map<string, PluginManagerExt>();
@@ -302,15 +306,15 @@ export class HostedPluginSupport {
302
306
  */
303
307
  protected async syncPlugins(): Promise<void> {
304
308
  let initialized = 0;
305
- const waitPluginsMeasurement = this.createMeasurement('waitForDeployment');
306
- let syncPluginsMeasurement: () => number;
309
+ const waitPluginsMeasurement = this.measure('waitForDeployment');
310
+ let syncPluginsMeasurement: Measurement | undefined;
307
311
 
308
312
  const toUnload = new Set(this.contributions.keys());
309
313
  try {
310
314
  const pluginIds: string[] = [];
311
315
  const deployedPluginIds = await this.server.getDeployedPluginIds();
312
- this.logMeasurement('Waiting for backend deployment', waitPluginsMeasurement);
313
- syncPluginsMeasurement = this.createMeasurement('syncPlugins');
316
+ waitPluginsMeasurement.log('Waiting for backend deployment');
317
+ syncPluginsMeasurement = this.measure('syncPlugins');
314
318
  for (const pluginId of deployedPluginIds) {
315
319
  toUnload.delete(pluginId);
316
320
  if (!this.contributions.has(pluginId)) {
@@ -337,9 +341,14 @@ export class HostedPluginSupport {
337
341
  if (initialized || toUnload.size) {
338
342
  this.onDidChangePluginsEmitter.fire(undefined);
339
343
  }
344
+
345
+ if (!syncPluginsMeasurement) {
346
+ // await didn't complete normally
347
+ waitPluginsMeasurement.error('Backend deployment failed.');
348
+ }
340
349
  }
341
350
 
342
- this.logMeasurement(`Sync of ${this.getPluginCount(initialized)}`, syncPluginsMeasurement);
351
+ syncPluginsMeasurement?.log(`Sync of ${this.getPluginCount(initialized)}`);
343
352
  }
344
353
 
345
354
  /**
@@ -348,7 +357,7 @@ export class HostedPluginSupport {
348
357
  */
349
358
  protected loadContributions(toDisconnect: DisposableCollection): Map<PluginHost, PluginContributions[]> {
350
359
  let loaded = 0;
351
- const loadPluginsMeasurement = this.createMeasurement('loadPlugins');
360
+ const loadPluginsMeasurement = this.measure('loadPlugins');
352
361
 
353
362
  const hostContributions = new Map<PluginHost, PluginContributions[]>();
354
363
  for (const contributions of this.contributions.values()) {
@@ -377,14 +386,14 @@ export class HostedPluginSupport {
377
386
  }
378
387
  }
379
388
 
380
- this.logMeasurement(`Load contributions of ${this.getPluginCount(loaded)}`, loadPluginsMeasurement);
389
+ loadPluginsMeasurement.log(`Load contributions of ${this.getPluginCount(loaded)}`);
381
390
 
382
391
  return hostContributions;
383
392
  }
384
393
 
385
394
  protected async startPlugins(contributionsByHost: Map<PluginHost, PluginContributions[]>, toDisconnect: DisposableCollection): Promise<void> {
386
395
  let started = 0;
387
- const startPluginsMeasurement = this.createMeasurement('startPlugins');
396
+ const startPluginsMeasurement = this.measure('startPlugins');
388
397
 
389
398
  const [hostLogPath, hostStoragePath, hostGlobalStoragePath] = await Promise.all([
390
399
  this.pluginPathsService.getHostLogPath(),
@@ -447,7 +456,7 @@ export class HostedPluginSupport {
447
456
  return;
448
457
  }
449
458
 
450
- this.logMeasurement(`Start of ${this.getPluginCount(started)}`, startPluginsMeasurement);
459
+ startPluginsMeasurement.log(`Start of ${this.getPluginCount(started)}`);
451
460
  }
452
461
 
453
462
  protected async obtainManager(host: string, hostContributions: PluginContributions[], toDisconnect: DisposableCollection): Promise<PluginManagerExt | undefined> {
@@ -693,37 +702,8 @@ export class HostedPluginSupport {
693
702
  await Promise.all(activation);
694
703
  }
695
704
 
696
- protected createMeasurement(name: string): () => number {
697
- const startMarker = `${name}-start`;
698
- const endMarker = `${name}-end`;
699
- performance.clearMeasures(name);
700
- performance.clearMarks(startMarker);
701
- performance.clearMarks(endMarker);
702
-
703
- performance.mark(startMarker);
704
- return () => {
705
- performance.mark(endMarker);
706
- performance.measure(name, startMarker, endMarker);
707
-
708
- const entries = performance.getEntriesByName(name);
709
- const duration = entries.length > 0 ? entries[0].duration : Number.NaN;
710
-
711
- performance.clearMeasures(name);
712
- performance.clearMarks(startMarker);
713
- performance.clearMarks(endMarker);
714
- return duration;
715
- };
716
- }
717
-
718
- protected logMeasurement(measurementName: string, measurement: () => number): void {
719
- const duration = measurement();
720
- if (duration === Number.NaN) {
721
- // Measurement was prevented by native API, do not log NaN duration
722
- return;
723
- }
724
-
725
- const timeFromFrontendStart = `Finished ${(performance.now() / 1000).toFixed(3)} s after frontend start`;
726
- console.log(`[${this.clientId}] ${measurementName} took: ${duration.toFixed(1)} ms [${timeFromFrontendStart}]`);
705
+ protected measure(name: string): Measurement {
706
+ return this.stopwatch.start(name, { context: this.clientId });
727
707
  }
728
708
 
729
709
  protected getPluginCount(plugins: number): string {
@@ -21,6 +21,7 @@ import { PluginDeployerHandler, PluginDeployerEntry, PluginEntryPoint, DeployedP
21
21
  import { HostedPluginReader } from './plugin-reader';
22
22
  import { Deferred } from '@theia/core/lib/common/promise-util';
23
23
  import { HostedPluginLocalizationService } from './hosted-plugin-localization-service';
24
+ import { Stopwatch } from '@theia/core/lib/common';
24
25
 
25
26
  @injectable()
26
27
  export class HostedPluginDeployerHandler implements PluginDeployerHandler {
@@ -34,6 +35,9 @@ export class HostedPluginDeployerHandler implements PluginDeployerHandler {
34
35
  @inject(HostedPluginLocalizationService)
35
36
  private readonly localizationService: HostedPluginLocalizationService;
36
37
 
38
+ @inject(Stopwatch)
39
+ protected readonly stopwatch: Stopwatch;
40
+
37
41
  private readonly deployedLocations = new Map<string, Set<string>>();
38
42
 
39
43
  /**
@@ -118,9 +122,11 @@ export class HostedPluginDeployerHandler implements PluginDeployerHandler {
118
122
  */
119
123
  protected async deployPlugin(entry: PluginDeployerEntry, entryPoint: keyof PluginEntryPoint): Promise<void> {
120
124
  const pluginPath = entry.path();
125
+ const deployPlugin = this.stopwatch.start('deployPlugin');
121
126
  try {
122
127
  const manifest = await this.reader.readPackage(pluginPath);
123
128
  if (!manifest) {
129
+ deployPlugin.error(`Failed to read ${entryPoint} plugin manifest from '${pluginPath}''`);
124
130
  return;
125
131
  }
126
132
 
@@ -132,6 +138,7 @@ export class HostedPluginDeployerHandler implements PluginDeployerHandler {
132
138
 
133
139
  const deployedPlugins = entryPoint === 'backend' ? this.deployedBackendPlugins : this.deployedFrontendPlugins;
134
140
  if (deployedPlugins.has(metadata.model.id)) {
141
+ deployPlugin.debug(`Skipped ${entryPoint} plugin ${metadata.model.name} already deployed`);
135
142
  return;
136
143
  }
137
144
 
@@ -140,9 +147,9 @@ export class HostedPluginDeployerHandler implements PluginDeployerHandler {
140
147
  deployed.contributes = this.reader.readContribution(manifest);
141
148
  this.localizationService.deployLocalizations(deployed);
142
149
  deployedPlugins.set(metadata.model.id, deployed);
143
- this.logger.info(`Deploying ${entryPoint} plugin "${metadata.model.name}@${metadata.model.version}" from "${metadata.model.entryPoint[entryPoint] || pluginPath}"`);
150
+ deployPlugin.log(`Deployed ${entryPoint} plugin "${metadata.model.name}@${metadata.model.version}" from "${metadata.model.entryPoint[entryPoint] || pluginPath}"`);
144
151
  } catch (e) {
145
- console.error(`Failed to deploy ${entryPoint} plugin from '${pluginPath}' path`, e);
152
+ deployPlugin.error(`Failed to deploy ${entryPoint} plugin from '${pluginPath}' path`, e);
146
153
  }
147
154
  }
148
155
 
@@ -153,14 +160,27 @@ export class HostedPluginDeployerHandler implements PluginDeployerHandler {
153
160
  if (!deployedLocations) {
154
161
  return false;
155
162
  }
163
+
164
+ const undeployPlugin = this.stopwatch.start('undeployPlugin');
156
165
  this.deployedLocations.delete(pluginId);
166
+ let undeployError: unknown;
167
+ const failedLocations: string[] = [];
168
+
157
169
  for (const location of deployedLocations) {
158
170
  try {
159
171
  await fs.remove(location);
160
172
  } catch (e) {
161
- console.error(`[${pluginId}]: failed to undeploy from "${location}", reason`, e);
173
+ failedLocations.push(location);
174
+ undeployError = undeployError ?? e;
162
175
  }
163
176
  }
177
+
178
+ if (undeployError) {
179
+ undeployPlugin.error(`[${pluginId}]: failed to undeploy from locations "${failedLocations}". First reason:`, undeployError);
180
+ } else {
181
+ undeployPlugin.log(`[${pluginId}]: undeployed from "${location}"`);
182
+ }
183
+
164
184
  return true;
165
185
  }
166
186
  }
@@ -58,7 +58,8 @@ export class HostedPluginReader implements BackendApplicationContribution {
58
58
  // the request was already closed
59
59
  return;
60
60
  }
61
- if ('code' in e && e['code'] === 'ENOENT') {
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ if ((e as any)['code'] === 'ENOENT') {
62
63
  res.status(404).send(`No such file found in '${escape_html(pluginId)}' plugin.`);
63
64
  } else {
64
65
  res.status(500).send(`Failed to transfer a file from '${escape_html(pluginId)}' plugin.`);
@@ -572,7 +572,8 @@ export class TheiaPluginScanner implements PluginScanner {
572
572
  const result: View = {
573
573
  id: rawView.id,
574
574
  name: rawView.name,
575
- when: rawView.when
575
+ when: rawView.when,
576
+ type: rawView.type
576
577
  };
577
578
 
578
579
  return result;