@theia/plugin-ext 1.27.0-next.9 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/lib/common/connection.d.ts +3 -3
  2. package/lib/common/connection.d.ts.map +1 -1
  3. package/lib/common/connection.js +0 -1
  4. package/lib/common/connection.js.map +1 -1
  5. package/lib/common/plugin-api-rpc.d.ts +18 -8
  6. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  7. package/lib/common/plugin-api-rpc.js.map +1 -1
  8. package/lib/common/plugin-identifiers.d.ts +41 -0
  9. package/lib/common/plugin-identifiers.d.ts.map +1 -0
  10. package/lib/common/plugin-identifiers.js +81 -0
  11. package/lib/common/plugin-identifiers.js.map +1 -0
  12. package/lib/common/plugin-protocol.d.ts +50 -11
  13. package/lib/common/plugin-protocol.d.ts.map +1 -1
  14. package/lib/common/plugin-protocol.js +3 -1
  15. package/lib/common/plugin-protocol.js.map +1 -1
  16. package/lib/hosted/browser/hosted-plugin.d.ts +2 -2
  17. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  18. package/lib/hosted/browser/hosted-plugin.js +26 -18
  19. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  20. package/lib/hosted/browser/worker/debug-stub.d.ts +1 -1
  21. package/lib/hosted/browser/worker/debug-stub.d.ts.map +1 -1
  22. package/lib/hosted/browser/worker/debug-stub.js +2 -2
  23. package/lib/hosted/browser/worker/debug-stub.js.map +1 -1
  24. package/lib/hosted/browser/worker/plugin-manifest-loader.d.ts.map +1 -1
  25. package/lib/hosted/browser/worker/plugin-manifest-loader.js +4 -1
  26. package/lib/hosted/browser/worker/plugin-manifest-loader.js.map +1 -1
  27. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts +17 -9
  28. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts.map +1 -1
  29. package/lib/hosted/node/hosted-plugin-deployer-handler.js +99 -18
  30. package/lib/hosted/node/hosted-plugin-deployer-handler.js.map +1 -1
  31. package/lib/hosted/node/hosted-plugin-localization-service.d.ts.map +1 -1
  32. package/lib/hosted/node/hosted-plugin-localization-service.js +2 -4
  33. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  34. package/lib/hosted/node/hosted-plugin-process.d.ts +2 -2
  35. package/lib/hosted/node/hosted-plugin-process.d.ts.map +1 -1
  36. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  37. package/lib/hosted/node/hosted-plugin.d.ts +2 -2
  38. package/lib/hosted/node/hosted-plugin.d.ts.map +1 -1
  39. package/lib/hosted/node/hosted-plugin.js.map +1 -1
  40. package/lib/hosted/node/metadata-scanner.d.ts +3 -2
  41. package/lib/hosted/node/metadata-scanner.d.ts.map +1 -1
  42. package/lib/hosted/node/metadata-scanner.js +8 -3
  43. package/lib/hosted/node/metadata-scanner.js.map +1 -1
  44. package/lib/hosted/node/plugin-host-rpc.js +2 -2
  45. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  46. package/lib/hosted/node/plugin-manifest-loader.d.ts.map +1 -1
  47. package/lib/hosted/node/plugin-manifest-loader.js +3 -0
  48. package/lib/hosted/node/plugin-manifest-loader.js.map +1 -1
  49. package/lib/hosted/node/plugin-service.d.ts +18 -4
  50. package/lib/hosted/node/plugin-service.d.ts.map +1 -1
  51. package/lib/hosted/node/plugin-service.js +73 -18
  52. package/lib/hosted/node/plugin-service.js.map +1 -1
  53. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  54. package/lib/hosted/node/scanners/scanner-theia.js +6 -3
  55. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  56. package/lib/main/browser/custom-editors/custom-editor-opener.d.ts.map +1 -1
  57. package/lib/main/browser/custom-editors/custom-editor-opener.js +2 -2
  58. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  59. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts +3 -3
  60. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts.map +1 -1
  61. package/lib/main/browser/debug/plugin-debug-session-factory.js.map +1 -1
  62. package/lib/main/browser/documents-main.d.ts +1 -2
  63. package/lib/main/browser/documents-main.d.ts.map +1 -1
  64. package/lib/main/browser/documents-main.js +26 -6
  65. package/lib/main/browser/documents-main.js.map +1 -1
  66. package/lib/main/browser/editors-and-documents-main.d.ts +2 -0
  67. package/lib/main/browser/editors-and-documents-main.d.ts.map +1 -1
  68. package/lib/main/browser/editors-and-documents-main.js +14 -2
  69. package/lib/main/browser/editors-and-documents-main.js.map +1 -1
  70. package/lib/main/browser/languages-main.d.ts.map +1 -1
  71. package/lib/main/browser/languages-main.js +2 -1
  72. package/lib/main/browser/languages-main.js.map +1 -1
  73. package/lib/main/browser/main-context.d.ts.map +1 -1
  74. package/lib/main/browser/main-context.js +5 -4
  75. package/lib/main/browser/main-context.js.map +1 -1
  76. package/lib/main/browser/plugin-contribution-handler.d.ts +2 -0
  77. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  78. package/lib/main/browser/plugin-contribution-handler.js +36 -1
  79. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  80. package/lib/main/browser/plugin-shared-style.d.ts +4 -2
  81. package/lib/main/browser/plugin-shared-style.d.ts.map +1 -1
  82. package/lib/main/browser/plugin-shared-style.js +15 -4
  83. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  84. package/lib/main/browser/text-editors-main.d.ts +6 -3
  85. package/lib/main/browser/text-editors-main.d.ts.map +1 -1
  86. package/lib/main/browser/text-editors-main.js +8 -1
  87. package/lib/main/browser/text-editors-main.js.map +1 -1
  88. package/lib/main/browser/theming-main.d.ts +2 -1
  89. package/lib/main/browser/theming-main.d.ts.map +1 -1
  90. package/lib/main/browser/theming-main.js +3 -6
  91. package/lib/main/browser/theming-main.js.map +1 -1
  92. package/lib/main/browser/view/plugin-tree-view-node-label-provider.d.ts.map +1 -1
  93. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +7 -5
  94. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  95. package/lib/main/browser/view/plugin-view-registry.d.ts +1 -1
  96. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  97. package/lib/main/browser/view/plugin-view-registry.js +11 -6
  98. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  99. package/lib/main/browser/view/tree-view-widget.d.ts +10 -5
  100. package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
  101. package/lib/main/browser/view/tree-view-widget.js +40 -14
  102. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  103. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +3 -1
  104. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  105. package/lib/main/browser/webview/webview-theme-data-provider.js +5 -1
  106. package/lib/main/browser/webview/webview-theme-data-provider.js.map +1 -1
  107. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +6 -1
  108. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts.map +1 -1
  109. package/lib/main/node/handlers/plugin-theia-directory-handler.js +61 -20
  110. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  111. package/lib/main/node/handlers/plugin-theia-file-handler.d.ts +4 -0
  112. package/lib/main/node/handlers/plugin-theia-file-handler.d.ts.map +1 -1
  113. package/lib/main/node/handlers/plugin-theia-file-handler.js +26 -4
  114. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  115. package/lib/main/node/plugin-cli-contribution.d.ts +3 -0
  116. package/lib/main/node/plugin-cli-contribution.d.ts.map +1 -1
  117. package/lib/main/node/plugin-cli-contribution.js +13 -0
  118. package/lib/main/node/plugin-cli-contribution.js.map +1 -1
  119. package/lib/main/node/plugin-deployer-directory-handler-context-impl.d.ts +1 -0
  120. package/lib/main/node/plugin-deployer-directory-handler-context-impl.d.ts.map +1 -1
  121. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +17 -0
  122. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js.map +1 -1
  123. package/lib/main/node/plugin-deployer-file-handler-context-impl.d.ts.map +1 -1
  124. package/lib/main/node/plugin-deployer-file-handler-context-impl.js +0 -1
  125. package/lib/main/node/plugin-deployer-file-handler-context-impl.js.map +1 -1
  126. package/lib/main/node/plugin-deployer-impl.d.ts +10 -7
  127. package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
  128. package/lib/main/node/plugin-deployer-impl.js +84 -38
  129. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  130. package/lib/main/node/plugin-ext-backend-module.d.ts.map +1 -1
  131. package/lib/main/node/plugin-ext-backend-module.js +2 -0
  132. package/lib/main/node/plugin-ext-backend-module.js.map +1 -1
  133. package/lib/main/node/plugin-server-handler.d.ts +5 -4
  134. package/lib/main/node/plugin-server-handler.d.ts.map +1 -1
  135. package/lib/main/node/plugin-server-handler.js +12 -5
  136. package/lib/main/node/plugin-server-handler.js.map +1 -1
  137. package/lib/main/node/plugin-uninstallation-manager.d.ts +15 -0
  138. package/lib/main/node/plugin-uninstallation-manager.d.ts.map +1 -0
  139. package/lib/main/node/plugin-uninstallation-manager.js +85 -0
  140. package/lib/main/node/plugin-uninstallation-manager.js.map +1 -0
  141. package/lib/plugin/{node/debug/debug.d.ts → debug/debug-ext.d.ts} +15 -13
  142. package/lib/plugin/debug/debug-ext.d.ts.map +1 -0
  143. package/lib/plugin/{node/debug/debug.js → debug/debug-ext.js} +17 -51
  144. package/lib/plugin/debug/debug-ext.js.map +1 -0
  145. package/lib/plugin/debug/plugin-debug-adapter-creator.d.ts +11 -0
  146. package/lib/plugin/debug/plugin-debug-adapter-creator.d.ts.map +1 -0
  147. package/lib/plugin/debug/plugin-debug-adapter-creator.js +42 -0
  148. package/lib/plugin/debug/plugin-debug-adapter-creator.js.map +1 -0
  149. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-session.d.ts +4 -4
  150. package/lib/plugin/debug/plugin-debug-adapter-session.d.ts.map +1 -0
  151. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-session.js +1 -1
  152. package/lib/plugin/debug/plugin-debug-adapter-session.js.map +1 -0
  153. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.d.ts +0 -0
  154. package/lib/plugin/debug/plugin-debug-adapter-tracker.d.ts.map +1 -0
  155. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.js +0 -0
  156. package/lib/plugin/debug/plugin-debug-adapter-tracker.js.map +1 -0
  157. package/lib/plugin/languages-utils.d.ts.map +1 -1
  158. package/lib/plugin/languages-utils.js +3 -2
  159. package/lib/plugin/languages-utils.js.map +1 -1
  160. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.d.ts +18 -0
  161. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.d.ts.map +1 -0
  162. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +155 -0
  163. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js.map +1 -0
  164. package/lib/plugin/plugin-context.d.ts +1 -1
  165. package/lib/plugin/plugin-context.d.ts.map +1 -1
  166. package/lib/plugin/plugin-context.js +1 -2
  167. package/lib/plugin/plugin-context.js.map +1 -1
  168. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  169. package/lib/plugin/plugin-manager.js +5 -9
  170. package/lib/plugin/plugin-manager.js.map +1 -1
  171. package/lib/plugin/text-editor.d.ts +2 -0
  172. package/lib/plugin/text-editor.d.ts.map +1 -1
  173. package/lib/plugin/text-editor.js +9 -0
  174. package/lib/plugin/text-editor.js.map +1 -1
  175. package/lib/plugin/theming.d.ts +1 -1
  176. package/lib/plugin/theming.d.ts.map +1 -1
  177. package/lib/plugin/tree/tree-views.d.ts +1 -0
  178. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  179. package/lib/plugin/tree/tree-views.js +10 -9
  180. package/lib/plugin/tree/tree-views.js.map +1 -1
  181. package/lib/plugin/types-impl.d.ts +1 -0
  182. package/lib/plugin/types-impl.d.ts.map +1 -1
  183. package/lib/plugin/types-impl.js +3 -2
  184. package/lib/plugin/types-impl.js.map +1 -1
  185. package/package.json +26 -25
  186. package/src/common/connection.ts +3 -4
  187. package/src/common/plugin-api-rpc.ts +20 -12
  188. package/src/common/plugin-identifiers.ts +84 -0
  189. package/src/common/plugin-protocol.ts +57 -12
  190. package/src/hosted/browser/hosted-plugin.ts +28 -21
  191. package/src/hosted/browser/worker/debug-stub.ts +1 -1
  192. package/src/hosted/browser/worker/plugin-manifest-loader.ts +4 -2
  193. package/src/hosted/node/hosted-plugin-deployer-handler.ts +109 -28
  194. package/src/hosted/node/hosted-plugin-localization-service.ts +4 -6
  195. package/src/hosted/node/hosted-plugin-process.ts +4 -4
  196. package/src/hosted/node/hosted-plugin.ts +2 -2
  197. package/src/hosted/node/metadata-scanner.ts +8 -6
  198. package/src/hosted/node/plugin-host-rpc.ts +2 -2
  199. package/src/hosted/node/plugin-manifest-loader.ts +2 -0
  200. package/src/hosted/node/plugin-service.ts +79 -23
  201. package/src/hosted/node/scanners/scanner-theia.ts +7 -4
  202. package/src/main/browser/custom-editors/custom-editor-opener.tsx +2 -2
  203. package/src/main/browser/debug/plugin-debug-session-factory.ts +2 -2
  204. package/src/main/browser/documents-main.ts +26 -8
  205. package/src/main/browser/editors-and-documents-main.ts +16 -2
  206. package/src/main/browser/languages-main.ts +2 -1
  207. package/src/main/browser/main-context.ts +4 -3
  208. package/src/main/browser/plugin-contribution-handler.ts +41 -3
  209. package/src/main/browser/plugin-icon-theme-service.ts +1 -1
  210. package/src/main/browser/plugin-shared-style.ts +9 -5
  211. package/src/main/browser/text-editors-main.ts +12 -2
  212. package/src/main/browser/theming-main.ts +3 -7
  213. package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +7 -5
  214. package/src/main/browser/view/plugin-view-registry.ts +12 -7
  215. package/src/main/browser/view/tree-view-widget.tsx +45 -17
  216. package/src/main/browser/webview/webview-theme-data-provider.ts +7 -10
  217. package/src/main/node/handlers/plugin-theia-directory-handler.ts +56 -28
  218. package/src/main/node/handlers/plugin-theia-file-handler.ts +26 -4
  219. package/src/main/node/plugin-cli-contribution.ts +12 -0
  220. package/src/main/node/plugin-deployer-directory-handler-context-impl.ts +17 -1
  221. package/src/main/node/plugin-deployer-file-handler-context-impl.ts +0 -1
  222. package/src/main/node/plugin-deployer-impl.ts +88 -41
  223. package/src/main/node/plugin-ext-backend-module.ts +3 -0
  224. package/src/main/node/plugin-server-handler.ts +15 -7
  225. package/src/main/node/plugin-uninstallation-manager.ts +74 -0
  226. package/src/plugin/{node/debug/debug.ts → debug/debug-ext.ts} +25 -56
  227. package/src/plugin/debug/plugin-debug-adapter-creator.ts +50 -0
  228. package/src/plugin/{node/debug → debug}/plugin-debug-adapter-session.ts +4 -4
  229. package/src/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.ts +0 -0
  230. package/src/plugin/languages-utils.ts +3 -2
  231. package/src/plugin/node/debug/plugin-node-debug-adapter-creator.ts +167 -0
  232. package/src/plugin/plugin-context.ts +2 -3
  233. package/src/plugin/plugin-manager.ts +5 -9
  234. package/src/plugin/text-editor.ts +16 -5
  235. package/src/plugin/theming.ts +1 -1
  236. package/src/plugin/tree/tree-views.ts +15 -12
  237. package/src/plugin/types-impl.ts +1 -1
  238. package/lib/main/browser/custom-editors/glob.d.ts +0 -51
  239. package/lib/main/browser/custom-editors/glob.d.ts.map +0 -1
  240. package/lib/main/browser/custom-editors/glob.js +0 -593
  241. package/lib/main/browser/custom-editors/glob.js.map +0 -1
  242. package/lib/main/browser/custom-editors/paths.d.ts +0 -25
  243. package/lib/main/browser/custom-editors/paths.d.ts.map +0 -1
  244. package/lib/main/browser/custom-editors/paths.js +0 -227
  245. package/lib/main/browser/custom-editors/paths.js.map +0 -1
  246. package/lib/main/browser/editor/untitled-resource.d.ts +0 -3
  247. package/lib/main/browser/editor/untitled-resource.d.ts.map +0 -1
  248. package/lib/main/browser/editor/untitled-resource.js +0 -24
  249. package/lib/main/browser/editor/untitled-resource.js.map +0 -1
  250. package/lib/plugin/node/debug/debug.d.ts.map +0 -1
  251. package/lib/plugin/node/debug/debug.js.map +0 -1
  252. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.d.ts +0 -7
  253. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.d.ts.map +0 -1
  254. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.js +0 -57
  255. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.js.map +0 -1
  256. package/lib/plugin/node/debug/plugin-debug-adapter-session.d.ts.map +0 -1
  257. package/lib/plugin/node/debug/plugin-debug-adapter-session.js.map +0 -1
  258. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts +0 -15
  259. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts.map +0 -1
  260. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js +0 -85
  261. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js.map +0 -1
  262. package/lib/plugin/node/debug/plugin-debug-adapter-tracker.d.ts.map +0 -1
  263. package/lib/plugin/node/debug/plugin-debug-adapter-tracker.js.map +0 -1
  264. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts +0 -19
  265. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts.map +0 -1
  266. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js +0 -45
  267. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js.map +0 -1
  268. package/src/main/browser/custom-editors/glob.ts +0 -743
  269. package/src/main/browser/custom-editors/paths.ts +0 -250
  270. package/src/main/browser/editor/untitled-resource.ts +0 -18
  271. package/src/plugin/node/debug/plugin-debug-adapter-executable-resolver.ts +0 -58
  272. package/src/plugin/node/debug/plugin-debug-adapter-starter.ts +0 -86
  273. package/src/plugin/node/debug/plugin-inline-debug-adapter.ts +0 -47
@@ -20,14 +20,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20
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
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
22
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
+ };
23
26
  Object.defineProperty(exports, "__esModule", { value: true });
24
27
  exports.PluginTheiaDirectoryHandler = void 0;
25
- const plugin_protocol_1 = require("../../../common/plugin-protocol");
26
- const inversify_1 = require("@theia/core/shared/inversify");
27
- const fs = require("@theia/core/shared/fs-extra");
28
28
  const path = require("path");
29
+ const filenamify = require("filenamify");
30
+ const fs = require("@theia/core/shared/fs-extra");
31
+ const inversify_1 = require("@theia/core/shared/inversify");
32
+ const node_1 = require("@theia/core/lib/node");
33
+ const plugin_protocol_1 = require("../../../common/plugin-protocol");
34
+ const plugin_cli_contribution_1 = require("../plugin-cli-contribution");
35
+ const temp_dir_util_1 = require("../temp-dir-util");
29
36
  let PluginTheiaDirectoryHandler = class PluginTheiaDirectoryHandler {
37
+ constructor() {
38
+ this.deploymentDirectory = node_1.FileUri.create((0, temp_dir_util_1.getTempDir)('theia-copied'));
39
+ }
30
40
  accept(resolvedPlugin) {
41
+ var _a, _b;
31
42
  console.log('PluginTheiaDirectoryHandler: accepting plugin with path', resolvedPlugin.path());
32
43
  // handle only directories
33
44
  if (resolvedPlugin.isFile()) {
@@ -35,25 +46,22 @@ let PluginTheiaDirectoryHandler = class PluginTheiaDirectoryHandler {
35
46
  }
36
47
  // is there a package.json ?
37
48
  const packageJsonPath = path.resolve(resolvedPlugin.path(), 'package.json');
38
- const existsPackageJson = fs.existsSync(packageJsonPath);
39
- if (!existsPackageJson) {
40
- return false;
41
- }
42
- let packageJson = resolvedPlugin.getValue('package.json');
43
- if (!packageJson) {
44
- packageJson = fs.readJSONSync(packageJsonPath);
45
- resolvedPlugin.storeValue('package.json', packageJson);
46
- }
47
- if (!packageJson.engines) {
48
- return false;
49
- }
50
- if (packageJson.engines && packageJson.engines.theiaPlugin) {
51
- return true;
49
+ try {
50
+ let packageJson = resolvedPlugin.getValue('package.json');
51
+ if (!packageJson) {
52
+ packageJson = fs.readJSONSync(packageJsonPath);
53
+ (_a = packageJson.publisher) !== null && _a !== void 0 ? _a : (packageJson.publisher = plugin_protocol_1.PluginIdentifiers.UNPUBLISHED);
54
+ resolvedPlugin.storeValue('package.json', packageJson);
55
+ }
56
+ if ((_b = packageJson === null || packageJson === void 0 ? void 0 : packageJson.engines) === null || _b === void 0 ? void 0 : _b.theiaPlugin) {
57
+ return true;
58
+ }
52
59
  }
60
+ catch ( /* Failed to read file. Fall through. */_c) { /* Failed to read file. Fall through. */ }
53
61
  return false;
54
62
  }
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- handle(context) {
63
+ async handle(context) {
64
+ await this.copyDirectory(context);
57
65
  const types = [];
58
66
  const packageJson = context.pluginEntry().getValue('package.json');
59
67
  if (packageJson.theiaPlugin && packageJson.theiaPlugin.backend) {
@@ -63,9 +71,42 @@ let PluginTheiaDirectoryHandler = class PluginTheiaDirectoryHandler {
63
71
  types.push(plugin_protocol_1.PluginDeployerEntryType.FRONTEND);
64
72
  }
65
73
  context.pluginEntry().accept(...types);
66
- return Promise.resolve(true);
74
+ }
75
+ async copyDirectory(context) {
76
+ if (this.pluginCli.copyUncompressedPlugins() && context.pluginEntry().type === plugin_protocol_1.PluginType.User) {
77
+ const entry = context.pluginEntry();
78
+ const id = entry.id();
79
+ const pathToRestore = entry.path();
80
+ const origin = entry.originalPath();
81
+ const targetDir = await this.getExtensionDir(context);
82
+ try {
83
+ if (fs.existsSync(targetDir) || !entry.path().startsWith(origin)) {
84
+ console.log(`[${id}]: already copied.`);
85
+ }
86
+ else {
87
+ console.log(`[${id}]: copying to "${targetDir}"`);
88
+ await fs.mkdirp(node_1.FileUri.fsPath(this.deploymentDirectory));
89
+ await context.copy(origin, targetDir);
90
+ entry.updatePath(targetDir);
91
+ if (!this.accept(entry)) {
92
+ throw new Error('Unable to resolve plugin metadata after copying');
93
+ }
94
+ }
95
+ }
96
+ catch (e) {
97
+ console.warn(`[${id}]: Error when copying.`, e);
98
+ entry.updatePath(pathToRestore);
99
+ }
100
+ }
101
+ }
102
+ async getExtensionDir(context) {
103
+ return node_1.FileUri.fsPath(this.deploymentDirectory.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
67
104
  }
68
105
  };
106
+ __decorate([
107
+ (0, inversify_1.inject)(plugin_cli_contribution_1.PluginCliContribution),
108
+ __metadata("design:type", plugin_cli_contribution_1.PluginCliContribution)
109
+ ], PluginTheiaDirectoryHandler.prototype, "pluginCli", void 0);
69
110
  PluginTheiaDirectoryHandler = __decorate([
70
111
  (0, inversify_1.injectable)()
71
112
  ], PluginTheiaDirectoryHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-theia-directory-handler.js","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-directory-handler.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,qEAIyC;AACzC,4DAA0D;AAC1D,kDAAkD;AAClD,6BAA6B;AAG7B,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAEpC,MAAM,CAAC,cAAmC;QAEtC,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9F,0BAA0B;QAC1B,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAY,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,EAAE;YACpB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,WAAW,GAAkB,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACtB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE;YACxD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IAEjB,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,OAA8C;QACjD,MAAM,KAAK,GAA8B,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAkB,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClF,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE;YAC5D,KAAK,CAAC,IAAI,CAAC,yCAAuB,CAAC,OAAO,CAAC,CAAC;SAC/C;QACD,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC7D,KAAK,CAAC,IAAI,CAAC,yCAAuB,CAAC,QAAQ,CAAC,CAAC;SAChD;QAED,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ,CAAA;AAlDY,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAkDvC;AAlDY,kEAA2B"}
1
+ {"version":3,"file":"plugin-theia-directory-handler.js","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-directory-handler.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ export declare class PluginTheiaFileHandler implements PluginDeployerFileHandler
5
5
  protected readonly environment: PluginTheiaEnvironment;
6
6
  accept(resolvedPlugin: PluginDeployerEntry): boolean;
7
7
  handle(context: PluginDeployerFileHandlerContext): Promise<void>;
8
+ /**
9
+ * Ensures that a user-installed plugin file is transferred to the user extension folder.
10
+ */
11
+ protected ensureDiscoverability(context: PluginDeployerFileHandlerContext): Promise<void>;
8
12
  protected getPluginDir(context: PluginDeployerFileHandlerContext): Promise<string>;
9
13
  }
10
14
  //# sourceMappingURL=plugin-theia-file-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-theia-file-handler.d.ts","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-file-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,iCAAiC,CAAC;AAM/I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,qBACa,sBAAuB,YAAW,yBAAyB;IAEpE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgD;IAGpF,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAEvD,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAI9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cActD,YAAY,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;CAO3F"}
1
+ {"version":3,"file":"plugin-theia-file-handler.d.ts","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-file-handler.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gCAAgC,EAAc,MAAM,iCAAiC,CAAC;AAM/I,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,qBACa,sBAAuB,YAAW,yBAAyB;IAEpE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgD;IAGpF,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAEvD,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAI9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAetE;;OAEG;cACa,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAoB/E,YAAY,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;CAG3F"}
@@ -25,6 +25,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.PluginTheiaFileHandler = void 0;
28
+ const path = require("path");
28
29
  const plugin_protocol_1 = require("../../../common/plugin-protocol");
29
30
  const inversify_1 = require("@theia/core/shared/inversify");
30
31
  const temp_dir_util_1 = require("../temp-dir-util");
@@ -32,6 +33,7 @@ const fs = require("@theia/core/shared/fs-extra");
32
33
  const filenamify = require("filenamify");
33
34
  const file_uri_1 = require("@theia/core/lib/node/file-uri");
34
35
  const plugin_theia_environment_1 = require("../../common/plugin-theia-environment");
36
+ const uri_1 = require("@theia/core/lib/common/uri");
35
37
  let PluginTheiaFileHandler = class PluginTheiaFileHandler {
36
38
  constructor() {
37
39
  this.systemPluginsDirUri = file_uri_1.FileUri.create((0, temp_dir_util_1.getTempDir)('theia-unpacked'));
@@ -40,6 +42,7 @@ let PluginTheiaFileHandler = class PluginTheiaFileHandler {
40
42
  return resolvedPlugin.isFile() && resolvedPlugin.path() !== null && resolvedPlugin.path().endsWith('.theia');
41
43
  }
42
44
  async handle(context) {
45
+ await this.ensureDiscoverability(context);
43
46
  const id = context.pluginEntry().id();
44
47
  const pluginDir = await this.getPluginDir(context);
45
48
  console.log(`[${id}]: trying to decompress into "${pluginDir}"...`);
@@ -52,12 +55,31 @@ let PluginTheiaFileHandler = class PluginTheiaFileHandler {
52
55
  console.log(`[${id}]: decompressed`);
53
56
  context.pluginEntry().updatePath(pluginDir);
54
57
  }
55
- async getPluginDir(context) {
56
- let pluginsDirUri = this.systemPluginsDirUri;
58
+ /**
59
+ * Ensures that a user-installed plugin file is transferred to the user extension folder.
60
+ */
61
+ async ensureDiscoverability(context) {
57
62
  if (context.pluginEntry().type === plugin_protocol_1.PluginType.User) {
58
- pluginsDirUri = await this.environment.getPluginsDirUri();
63
+ const userExtensionsDir = await this.environment.getPluginsDirUri();
64
+ const currentPath = context.pluginEntry().path();
65
+ if (!userExtensionsDir.isEqualOrParent(new uri_1.default(currentPath)) && !userExtensionsDir.isEqualOrParent(new uri_1.default(context.pluginEntry().originalPath()))) {
66
+ try {
67
+ const newPath = file_uri_1.FileUri.fsPath(userExtensionsDir.resolve(path.basename(currentPath)));
68
+ await fs.mkdirp(file_uri_1.FileUri.fsPath(userExtensionsDir));
69
+ await new Promise((resolve, reject) => {
70
+ fs.copyFile(currentPath, newPath, error => error ? reject(error) : resolve());
71
+ });
72
+ context.pluginEntry().updatePath(newPath);
73
+ context.pluginEntry().storeValue('sourceLocations', [newPath]);
74
+ }
75
+ catch (e) {
76
+ console.error(`[${context.pluginEntry().id}]: Failed to copy to user directory. Future sessions may not have access to this plugin.`);
77
+ }
78
+ }
59
79
  }
60
- return file_uri_1.FileUri.fsPath(pluginsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
80
+ }
81
+ async getPluginDir(context) {
82
+ return file_uri_1.FileUri.fsPath(this.systemPluginsDirUri.resolve(filenamify(context.pluginEntry().id(), { replacement: '_' })));
61
83
  }
62
84
  };
63
85
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-theia-file-handler.js","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-file-handler.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,qEAA+I;AAC/I,4DAAkE;AAClE,oDAA8C;AAC9C,kDAAkD;AAClD,yCAAyC;AACzC,4DAAwD;AACxD,oFAA+E;AAG/E,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAAnC;QAEqB,wBAAmB,GAAG,kBAAO,CAAC,MAAM,CAAC,IAAA,0BAAU,EAAC,gBAAgB,CAAC,CAAC,CAAC;IA8BxF,CAAC;IAzBG,MAAM,CAAC,cAAmC;QACtC,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAyC;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,iCAAiC,SAAS,MAAM,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,4BAAU,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAClF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACtC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO;SACV;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACrC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,OAAyC;QAClE,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,4BAAU,CAAC,IAAI,EAAE;YAChD,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;SAC7D;QACD,OAAO,kBAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;CACJ,CAAA;AA3BG;IADC,IAAA,kBAAM,EAAC,iDAAsB,CAAC;8BACC,iDAAsB;2DAAC;AAL9C,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAgClC;AAhCY,wDAAsB"}
1
+ {"version":3,"file":"plugin-theia-file-handler.js","sourceRoot":"","sources":["../../../../src/main/node/handlers/plugin-theia-file-handler.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { CliContribution } from '@theia/core/lib/node/cli';
4
4
  export declare class PluginCliContribution implements CliContribution {
5
5
  static PLUGINS: string;
6
6
  static PLUGIN_MAX_SESSION_LOGS_FOLDERS: string;
7
+ static UNCOMPRESSED_PLUGINS_IN_PLACE: string;
7
8
  /**
8
9
  * This is the default value used in VSCode, see:
9
10
  * - https://github.com/Microsoft/vscode/blob/613447d6b3f458ef7fee227e3876303bf5184580/src/vs/code/electron-browser/sharedProcess/contrib/logsDataCleaner.ts#L32
@@ -11,9 +12,11 @@ export declare class PluginCliContribution implements CliContribution {
11
12
  static DEFAULT_PLUGIN_MAX_SESSION_LOGS_FOLDERS: number;
12
13
  protected _localDir: string | undefined;
13
14
  protected _maxSessionLogsFolders: number;
15
+ protected _keepUncompressedInPlace: boolean;
14
16
  configure(conf: Argv): void;
15
17
  setArguments(args: Arguments): void;
16
18
  localDir(): string | undefined;
17
19
  maxSessionLogsFolders(): number;
20
+ copyUncompressedPlugins(): boolean;
18
21
  }
19
22
  //# sourceMappingURL=plugin-cli-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-cli-contribution.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-cli-contribution.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBACa,qBAAsB,YAAW,eAAe;IAEzD,MAAM,CAAC,OAAO,SAAa;IAC3B,MAAM,CAAC,+BAA+B,SAAqC;IAC3E;;;OAGG;IACH,MAAM,CAAC,uCAAuC,SAAM;IAEpD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAEzC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiB3B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAYnC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,qBAAqB,IAAI,MAAM;CAIlC"}
1
+ {"version":3,"file":"plugin-cli-contribution.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-cli-contribution.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBACa,qBAAsB,YAAW,eAAe;IAEzD,MAAM,CAAC,OAAO,SAAa;IAC3B,MAAM,CAAC,+BAA+B,SAAqC;IAC3E,MAAM,CAAC,6BAA6B,SAAmC;IACvE;;;OAGG;IACH,MAAM,CAAC,uCAAuC,SAAM;IAEpD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,wBAAwB,UAAS;IAE3C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAuB3B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAanC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,qBAAqB,IAAI,MAAM;IAI/B,uBAAuB,IAAI,OAAO;CAGrC"}
@@ -26,6 +26,9 @@ exports.PluginCliContribution = void 0;
26
26
  const inversify_1 = require("@theia/core/shared/inversify");
27
27
  const local_directory_plugin_deployer_resolver_1 = require("./resolvers/local-directory-plugin-deployer-resolver");
28
28
  let PluginCliContribution = PluginCliContribution_1 = class PluginCliContribution {
29
+ constructor() {
30
+ this._keepUncompressedInPlace = false;
31
+ }
29
32
  configure(conf) {
30
33
  conf.option(PluginCliContribution_1.PLUGINS, {
31
34
  // eslint-disable-next-line max-len
@@ -40,6 +43,11 @@ let PluginCliContribution = PluginCliContribution_1 = class PluginCliContributio
40
43
  default: PluginCliContribution_1.DEFAULT_PLUGIN_MAX_SESSION_LOGS_FOLDERS,
41
44
  nargs: 1
42
45
  });
46
+ conf.option(PluginCliContribution_1.UNCOMPRESSED_PLUGINS_IN_PLACE, {
47
+ description: 'Whether user plugins that are stored on disk as uncompressed directories should be run in place or copied to temporary folder.',
48
+ type: 'boolean',
49
+ default: false,
50
+ });
43
51
  }
44
52
  setArguments(args) {
45
53
  const pluginsArg = args[PluginCliContribution_1.PLUGINS];
@@ -50,6 +58,7 @@ let PluginCliContribution = PluginCliContribution_1 = class PluginCliContributio
50
58
  if (maxSessionLogsFoldersArg && Number.isInteger(maxSessionLogsFoldersArg) && maxSessionLogsFoldersArg > 0) {
51
59
  this._maxSessionLogsFolders = maxSessionLogsFoldersArg;
52
60
  }
61
+ this._keepUncompressedInPlace = Boolean(args[PluginCliContribution_1.UNCOMPRESSED_PLUGINS_IN_PLACE]);
53
62
  }
54
63
  localDir() {
55
64
  return this._localDir;
@@ -57,9 +66,13 @@ let PluginCliContribution = PluginCliContribution_1 = class PluginCliContributio
57
66
  maxSessionLogsFolders() {
58
67
  return this._maxSessionLogsFolders;
59
68
  }
69
+ copyUncompressedPlugins() {
70
+ return !this._keepUncompressedInPlace;
71
+ }
60
72
  };
61
73
  PluginCliContribution.PLUGINS = 'plugins';
62
74
  PluginCliContribution.PLUGIN_MAX_SESSION_LOGS_FOLDERS = 'plugin-max-session-logs-folders';
75
+ PluginCliContribution.UNCOMPRESSED_PLUGINS_IN_PLACE = 'uncompressed-plugins-in-place';
63
76
  /**
64
77
  * This is the default value used in VSCode, see:
65
78
  * - https://github.com/Microsoft/vscode/blob/613447d6b3f458ef7fee227e3876303bf5184580/src/vs/code/electron-browser/sharedProcess/contrib/logsDataCleaner.ts#L32
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-cli-contribution.js","sourceRoot":"","sources":["../../../src/main/node/plugin-cli-contribution.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;AAEhF,4DAA0D;AAG1D,mHAA4G;AAG5G,IAAa,qBAAqB,6BAAlC,MAAa,qBAAqB;IAa9B,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,uBAAqB,CAAC,OAAO,EAAE;YACvC,mCAAmC;YACnC,WAAW,EAAE,2DAA2D,uBAAqB,CAAC,OAAO,IAAI,+EAAoC,CAAC,SAAS,uBAAuB;YAC9K,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,cAAc,uBAAqB,CAAC,+BAA+B,IAAI,CAAC;QACrG,IAAI,CAAC,MAAM,CAAC,uBAAqB,CAAC,+BAA+B,EAAE;YAC/D,WAAW,EAAE,iEAAiE,oBAAoB,EAAE;YACpG,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAqB,CAAC,uCAAuC;YACtE,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAe;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAqB,CAAC,OAAO,CAAW,CAAC;QACjE,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,+EAAoC,CAAC,SAAS,GAAG,CAAC,EAAE;YACnG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC/B;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAqB,CAAC,+BAA+B,CAAW,CAAC;QACvG,IAAI,wBAAwB,IAAI,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,wBAAwB,GAAG,CAAC,EAAE;YACxG,IAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;SAC1D;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;CAEJ,CAAA;AAhDU,6BAAO,GAAG,SAAS,CAAC;AACpB,qDAA+B,GAAG,iCAAiC,CAAC;AAC3E;;;GAGG;AACI,6DAAuC,GAAG,EAAE,CAAC;AAR3C,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAkDjC;AAlDY,sDAAqB"}
1
+ {"version":3,"file":"plugin-cli-contribution.js","sourceRoot":"","sources":["../../../src/main/node/plugin-cli-contribution.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;AAEhF,4DAA0D;AAG1D,mHAA4G;AAG5G,IAAa,qBAAqB,6BAAlC,MAAa,qBAAqB;IAAlC;QAac,6BAAwB,GAAG,KAAK,CAAC;IAiD/C,CAAC;IA/CG,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,uBAAqB,CAAC,OAAO,EAAE;YACvC,mCAAmC;YACnC,WAAW,EAAE,2DAA2D,uBAAqB,CAAC,OAAO,IAAI,+EAAoC,CAAC,SAAS,uBAAuB;YAC9K,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,cAAc,uBAAqB,CAAC,+BAA+B,IAAI,CAAC;QACrG,IAAI,CAAC,MAAM,CAAC,uBAAqB,CAAC,+BAA+B,EAAE;YAC/D,WAAW,EAAE,iEAAiE,oBAAoB,EAAE;YACpG,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAqB,CAAC,uCAAuC;YACtE,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,uBAAqB,CAAC,6BAA6B,EAAE;YAC7D,WAAW,EAAE,gIAAgI;YAC7I,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAe;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAqB,CAAC,OAAO,CAAW,CAAC;QACjE,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,+EAAoC,CAAC,SAAS,GAAG,CAAC,EAAE;YACnG,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC/B;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAqB,CAAC,+BAA+B,CAAW,CAAC;QACvG,IAAI,wBAAwB,IAAI,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,wBAAwB,GAAG,CAAC,EAAE;YACxG,IAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;SAC1D;QACD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,uBAAqB,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAED,uBAAuB;QACnB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;IAC1C,CAAC;CACJ,CAAA;AA5DU,6BAAO,GAAG,SAAS,CAAC;AACpB,qDAA+B,GAAG,iCAAiC,CAAC;AACpE,mDAA6B,GAAG,+BAA+B,CAAC;AACvE;;;GAGG;AACI,6DAAuC,GAAG,EAAE,CAAC;AAT3C,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CA8DjC;AA9DY,sDAAqB"}
@@ -2,6 +2,7 @@ import { PluginDeployerEntry, PluginDeployerDirectoryHandlerContext } from '../.
2
2
  export declare class PluginDeployerDirectoryHandlerContextImpl implements PluginDeployerDirectoryHandlerContext {
3
3
  private readonly pluginDeployerEntry;
4
4
  constructor(pluginDeployerEntry: PluginDeployerEntry);
5
+ copy(origin: string, target: string): Promise<void>;
5
6
  pluginEntry(): PluginDeployerEntry;
6
7
  }
7
8
  //# sourceMappingURL=plugin-deployer-directory-handler-context-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-deployer-directory-handler-context-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-directory-handler-context-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AAE1G,qBAAa,yCAA0C,YAAW,qCAAqC;IAEvF,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAIrE,WAAW,IAAI,mBAAmB;CAIrC"}
1
+ {"version":3,"file":"plugin-deployer-directory-handler-context-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-directory-handler-context-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AAE1G,qBAAa,yCAA0C,YAAW,qCAAqC;IAEvF,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAE/D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD,WAAW,IAAI,mBAAmB;CAIrC"}
@@ -16,10 +16,27 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.PluginDeployerDirectoryHandlerContextImpl = void 0;
19
+ const path = require("path");
20
+ const fs = require("@theia/core/shared/fs-extra");
19
21
  class PluginDeployerDirectoryHandlerContextImpl {
20
22
  constructor(pluginDeployerEntry) {
21
23
  this.pluginDeployerEntry = pluginDeployerEntry;
22
24
  }
25
+ async copy(origin, target) {
26
+ const contents = await fs.readdir(origin);
27
+ await fs.mkdirp(target);
28
+ await Promise.all(contents.map(async (item) => {
29
+ const itemPath = path.resolve(origin, item);
30
+ const targetPath = path.resolve(target, item);
31
+ const stat = await fs.stat(itemPath);
32
+ if (stat.isDirectory()) {
33
+ return this.copy(itemPath, targetPath);
34
+ }
35
+ if (stat.isFile()) {
36
+ return new Promise((resolve, reject) => fs.copyFile(itemPath, targetPath, e => e === null ? resolve() : reject(e)));
37
+ }
38
+ }));
39
+ }
23
40
  pluginEntry() {
24
41
  return this.pluginDeployerEntry;
25
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-deployer-directory-handler-context-impl.js","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-directory-handler-context-impl.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,2EAA2E;AAC3E,gFAAgF;;;AAIhF,MAAa,yCAAyC;IAElD,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAErE,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;CAEJ;AAVD,8FAUC"}
1
+ {"version":3,"file":"plugin-deployer-directory-handler-context-impl.js","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-directory-handler-context-impl.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,2EAA2E;AAC3E,gFAAgF;;;AAEhF,6BAA6B;AAC7B,kDAAkD;AAGlD,MAAa,yCAAyC;IAElD,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAI,CAAC;IAE1E,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAc;QACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC1C;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACf,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7H;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;CAEJ;AAxBD,8FAwBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-deployer-file-handler-context-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-file-handler-context-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGrG,qBAAa,oCAAqC,YAAW,gCAAgC;IAE7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAI/D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,WAAW,IAAI,mBAAmB;CAGrC"}
1
+ {"version":3,"file":"plugin-deployer-file-handler-context-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-file-handler-context-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGrG,qBAAa,oCAAqC,YAAW,gCAAgC;IAE7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,mBAAmB;IAI/D,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,WAAW,IAAI,mBAAmB;CAGrC"}
@@ -23,7 +23,6 @@ class PluginDeployerFileHandlerContextImpl {
23
23
  }
24
24
  async unzip(sourcePath, destPath) {
25
25
  await decompress(sourcePath, destPath);
26
- return Promise.resolve();
27
26
  }
28
27
  pluginEntry() {
29
28
  return this.pluginDeployerEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-deployer-file-handler-context-impl.js","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-file-handler-context-impl.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,2EAA2E;AAC3E,gFAAgF;;;AAGhF,yCAAyC;AAEzC,MAAa,oCAAoC;IAE7C,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAErE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,QAAgB;QAC5C,MAAM,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;CACJ;AAdD,oFAcC"}
1
+ {"version":3,"file":"plugin-deployer-file-handler-context-impl.js","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-file-handler-context-impl.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,2EAA2E;AAC3E,gFAAgF;;;AAGhF,yCAAyC;AAEzC,MAAa,oCAAoC;IAE7C,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAErE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,QAAgB;QAC5C,MAAM,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;CACJ;AAbD,oFAaC"}
@@ -1,4 +1,4 @@
1
- import { PluginDeployerEntry, PluginDeployer, PluginDeployerParticipant, PluginDeployerHandler, PluginType, UnresolvedPluginEntry } from '../../common/plugin-protocol';
1
+ import { PluginDeployerEntry, PluginDeployer, PluginDeployerParticipant, PluginDeployerHandler, PluginType, UnresolvedPluginEntry, PluginIdentifiers, PluginDeployOptions } from '../../common/plugin-protocol';
2
2
  import { ILogger, Emitter, ContributionProvider } from '@theia/core';
3
3
  import { PluginCliContribution } from './plugin-cli-contribution';
4
4
  import { Measurement, Stopwatch } from '@theia/core/lib/common';
@@ -25,9 +25,10 @@ export declare class PluginDeployerImpl implements PluginDeployer {
25
25
  start(): void;
26
26
  initResolvers(): Promise<Array<void>>;
27
27
  protected doStart(): Promise<void>;
28
- undeploy(pluginId: string): Promise<void>;
29
- deploy(plugin: UnresolvedPluginEntry): Promise<void>;
30
- protected deployMultipleEntries(plugins: UnresolvedPluginEntry[]): Promise<void>;
28
+ uninstall(pluginId: PluginIdentifiers.VersionedId): Promise<void>;
29
+ undeploy(pluginId: PluginIdentifiers.VersionedId): Promise<void>;
30
+ deploy(plugin: UnresolvedPluginEntry, options?: PluginDeployOptions): Promise<number>;
31
+ protected deployMultipleEntries(plugins: UnresolvedPluginEntry[], options?: PluginDeployOptions): Promise<number>;
31
32
  /**
32
33
  * Resolves plugins for the given type.
33
34
  *
@@ -37,11 +38,13 @@ export declare class PluginDeployerImpl implements PluginDeployer {
37
38
  * deployer.deployPlugins(await deployer.resolvePlugins(allPluginEntries));
38
39
  * ```
39
40
  */
40
- resolvePlugins(plugins: UnresolvedPluginEntry[]): Promise<PluginDeployerEntry[]>;
41
+ resolvePlugins(plugins: UnresolvedPluginEntry[], options?: PluginDeployOptions): Promise<PluginDeployerEntry[]>;
42
+ protected resolveAndHandle(id: string, type: PluginType, options?: PluginDeployOptions): Promise<PluginDeployerEntry[]>;
43
+ protected findBestVersion(unversionedId: PluginIdentifiers.UnversionedId, versions: string[], knownPlugins: Map<PluginIdentifiers.VersionedId, PluginDeployerEntry>): void;
41
44
  /**
42
45
  * deploy all plugins that have been accepted
43
46
  */
44
- deployPlugins(pluginsToDeploy: PluginDeployerEntry[]): Promise<any>;
47
+ deployPlugins(pluginsToDeploy: PluginDeployerEntry[]): Promise<number>;
45
48
  /**
46
49
  * If there are some single files, try to see if we can work on these files (like unpacking it, etc)
47
50
  */
@@ -53,7 +56,7 @@ export declare class PluginDeployerImpl implements PluginDeployer {
53
56
  /**
54
57
  * Check a plugin ID see if there are some resolvers that can handle it. If there is a matching resolver, then we resolve the plugin
55
58
  */
56
- resolvePlugin(pluginId: string, type?: PluginType): Promise<PluginDeployerEntry[]>;
59
+ resolvePlugin(pluginId: string, type?: PluginType, options?: PluginDeployOptions): Promise<PluginDeployerEntry[]>;
57
60
  protected measure(name: string): Measurement;
58
61
  }
59
62
  //# sourceMappingURL=plugin-deployer-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-deployer-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-impl.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEH,mBAAmB,EAAE,cAAc,EAAE,yBAAyB,EAEE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAC3H,MAAM,8BAA8B,CAAC;AAStC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qBACa,kBAAmB,YAAW,cAAc;IAErD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC;;OAEG;IAEH,OAAO,CAAC,eAAe,CAA2B;IAElD;;OAEG;IAEH,OAAO,CAAC,0BAA0B,CAA8B;IAEhE;;OAEG;IAEH,OAAO,CAAC,+BAA+B,CAAmC;IAG1E,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAE1E,KAAK,IAAI,IAAI;IAKP,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;cAYlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4ClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;cAM1C,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtF;;;;;;;;OAQG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAwDtF;;OAEG;IACG,aAAa,CAAC,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAyBzE;;OAEG;IACU,iBAAiB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB1F;;OAEG;IACU,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBnG;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,UAA8B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0BlH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;CAG/C"}
1
+ {"version":3,"file":"plugin-deployer-impl.d.ts","sourceRoot":"","sources":["../../../src/main/node/plugin-deployer-impl.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEH,mBAAmB,EAAE,cAAc,EAAE,yBAAyB,EAEE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EACnK,MAAM,8BAA8B,CAAC;AAStC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qBACa,kBAAmB,YAAW,cAAc;IAErD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC;;OAEG;IAEH,OAAO,CAAC,eAAe,CAA2B;IAElD;;OAEG;IAEH,OAAO,CAAC,0BAA0B,CAA8B;IAEhE;;OAEG;IAEH,OAAO,CAAC,+BAA+B,CAAmC;IAG1E,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAE1E,KAAK,IAAI,IAAI;IAKP,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;cAYlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4ClC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;cAO3E,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvH;;;;;;;;OAQG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;cAwDrG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAO7H,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,IAAI;IAiC1K;;OAEG;IACG,aAAa,CAAC,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B5E;;OAEG;IACU,iBAAiB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB1F;;OAEG;IACU,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBnG;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,UAA8B,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0BjJ,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;CAG/C"}