@theia/plugin-ext 1.34.1 → 1.34.3
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.
- package/LICENSE +641 -641
- package/README.md +54 -54
- package/lib/common/arrays.d.ts +19 -19
- package/lib/common/arrays.js +46 -46
- package/lib/common/assert.d.ts +1 -1
- package/lib/common/assert.js +25 -25
- package/lib/common/cache.d.ts +11 -11
- package/lib/common/cache.js +47 -47
- package/lib/common/character-classifier.d.ts +18 -18
- package/lib/common/character-classifier.js +60 -60
- package/lib/common/collections.d.ts +4 -4
- package/lib/common/collections.js +39 -39
- package/lib/common/connection.d.ts +54 -54
- package/lib/common/connection.js +107 -107
- package/lib/common/disposable-util.d.ts +6 -6
- package/lib/common/disposable-util.js +37 -37
- package/lib/common/editor-options.d.ts +30 -30
- package/lib/common/editor-options.js +72 -72
- package/lib/common/env.d.ts +3 -3
- package/lib/common/env.js +17 -17
- package/lib/common/errors.d.ts +3 -3
- package/lib/common/errors.js +42 -42
- package/lib/common/id-generator.d.ts +6 -6
- package/lib/common/id-generator.js +28 -28
- package/lib/common/index.d.ts +3 -3
- package/lib/common/index.js +33 -33
- package/lib/common/link-computer.d.ts +41 -41
- package/lib/common/link-computer.js +275 -275
- package/lib/common/object-identifier.d.ts +8 -8
- package/lib/common/object-identifier.js +32 -32
- package/lib/common/objects.d.ts +1 -1
- package/lib/common/objects.js +46 -46
- package/lib/common/paths-util.d.ts +3 -3
- package/lib/common/paths-util.js +144 -144
- package/lib/common/plugin-api-rpc-model.d.ts +728 -728
- package/lib/common/plugin-api-rpc-model.js +173 -173
- package/lib/common/plugin-api-rpc.d.ts +1710 -1710
- package/lib/common/plugin-api-rpc.js +279 -279
- package/lib/common/plugin-ext-api-contribution.d.ts +58 -58
- package/lib/common/plugin-ext-api-contribution.js +5 -5
- package/lib/common/plugin-identifiers.d.ts +40 -40
- package/lib/common/plugin-identifiers.js +80 -80
- package/lib/common/plugin-protocol.d.ts +840 -840
- package/lib/common/plugin-protocol.js +67 -67
- package/lib/common/proxy-handler.d.ts +65 -65
- package/lib/common/proxy-handler.js +97 -97
- package/lib/common/reference-map.d.ts +7 -7
- package/lib/common/reference-map.js +39 -39
- package/lib/common/rpc-protocol.d.ts +65 -65
- package/lib/common/rpc-protocol.js +229 -229
- package/lib/common/semantic-tokens-dto.d.ts +18 -18
- package/lib/common/semantic-tokens-dto.js +162 -162
- package/lib/common/types.d.ts +37 -37
- package/lib/common/types.js +121 -121
- package/lib/common/uint.d.ts +7 -7
- package/lib/common/uint.js +33 -33
- package/lib/common/uri-components.d.ts +39 -39
- package/lib/common/uri-components.js +66 -66
- package/lib/hosted/browser/hosted-plugin-watcher.d.ts +15 -15
- package/lib/hosted/browser/hosted-plugin-watcher.js +59 -59
- package/lib/hosted/browser/hosted-plugin.d.ts +145 -145
- package/lib/hosted/browser/hosted-plugin.js +787 -787
- package/lib/hosted/browser/plugin-worker.d.ts +6 -6
- package/lib/hosted/browser/plugin-worker.js +57 -57
- package/lib/hosted/browser/worker/debug-stub.d.ts +3 -3
- package/lib/hosted/browser/worker/debug-stub.js +29 -29
- package/lib/hosted/browser/worker/plugin-manifest-loader.d.ts +2 -2
- package/lib/hosted/browser/worker/plugin-manifest-loader.js +107 -107
- package/lib/hosted/browser/worker/worker-env-ext.d.ts +14 -14
- package/lib/hosted/browser/worker/worker-env-ext.js +38 -38
- package/lib/hosted/browser/worker/worker-main.d.ts +1 -1
- package/lib/hosted/browser/worker/worker-main.js +192 -192
- package/lib/hosted/node/hosted-plugin-cli-contribution.d.ts +16 -16
- package/lib/hosted/node/hosted-plugin-cli-contribution.js +76 -76
- package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts +42 -42
- package/lib/hosted/node/hosted-plugin-deployer-handler.js +264 -264
- package/lib/hosted/node/hosted-plugin-localization-service.d.ts +34 -34
- package/lib/hosted/node/hosted-plugin-localization-service.js +239 -239
- package/lib/hosted/node/hosted-plugin-process.d.ts +47 -47
- package/lib/hosted/node/hosted-plugin-process.js +224 -224
- package/lib/hosted/node/hosted-plugin-protocol.d.ts +21 -21
- package/lib/hosted/node/hosted-plugin-protocol.js +36 -36
- package/lib/hosted/node/hosted-plugin.d.ts +36 -36
- package/lib/hosted/node/hosted-plugin.js +118 -118
- package/lib/hosted/node/metadata-scanner.d.ts +17 -17
- package/lib/hosted/node/metadata-scanner.js +82 -82
- package/lib/hosted/node/plugin-ext-hosted-backend-module.d.ts +3 -3
- package/lib/hosted/node/plugin-ext-hosted-backend-module.js +73 -73
- package/lib/hosted/node/plugin-host-proxy.d.ts +17 -17
- package/lib/hosted/node/plugin-host-proxy.js +69 -69
- package/lib/hosted/node/plugin-host-rpc.d.ts +21 -21
- package/lib/hosted/node/plugin-host-rpc.js +216 -216
- package/lib/hosted/node/plugin-host.d.ts +1 -1
- package/lib/hosted/node/plugin-host.js +101 -101
- package/lib/hosted/node/plugin-manifest-loader.d.ts +1 -1
- package/lib/hosted/node/plugin-manifest-loader.js +34 -34
- package/lib/hosted/node/plugin-reader.d.ts +25 -25
- package/lib/hosted/node/plugin-reader.js +141 -141
- package/lib/hosted/node/plugin-service.d.ts +39 -39
- package/lib/hosted/node/plugin-service.js +193 -193
- package/lib/hosted/node/scanners/backend-init-theia.d.ts +2 -2
- package/lib/hosted/node/scanners/backend-init-theia.js +60 -60
- package/lib/hosted/node/scanners/file-plugin-uri-factory.d.ts +10 -10
- package/lib/hosted/node/scanners/file-plugin-uri-factory.js +40 -40
- package/lib/hosted/node/scanners/grammars-reader.d.ts +5 -5
- package/lib/hosted/node/scanners/grammars-reader.js +63 -63
- package/lib/hosted/node/scanners/plugin-uri-factory.d.ts +16 -16
- package/lib/hosted/node/scanners/plugin-uri-factory.js +19 -19
- package/lib/hosted/node/scanners/scanner-theia.d.ts +56 -56
- package/lib/hosted/node/scanners/scanner-theia.js +842 -842
- package/lib/hosted/node-electron/plugin-ext-hosted-electron-backend-module.d.ts +2 -2
- package/lib/hosted/node-electron/plugin-ext-hosted-electron-backend-module.js +26 -26
- package/lib/hosted/node-electron/scanner-theia-electron.d.ts +5 -5
- package/lib/hosted/node-electron/scanner-theia-electron.js +40 -40
- package/lib/main/browser/authentication-main.d.ts +51 -51
- package/lib/main/browser/authentication-main.js +299 -299
- package/lib/main/browser/clipboard-main.d.ts +9 -9
- package/lib/main/browser/clipboard-main.js +32 -32
- package/lib/main/browser/command-registry-main.d.ts +23 -23
- package/lib/main/browser/command-registry-main.js +97 -97
- package/lib/main/browser/commands.d.ts +12 -12
- package/lib/main/browser/commands.js +102 -102
- package/lib/main/browser/comments/comment-glyph-widget.d.ts +12 -12
- package/lib/main/browser/comments/comment-glyph-widget.js +42 -42
- package/lib/main/browser/comments/comment-thread-widget.d.ts +153 -153
- package/lib/main/browser/comments/comment-thread-widget.js +466 -466
- package/lib/main/browser/comments/comments-context-key-service.d.ts +17 -17
- package/lib/main/browser/comments/comments-context-key-service.js +80 -80
- package/lib/main/browser/comments/comments-contribution.d.ts +31 -31
- package/lib/main/browser/comments/comments-contribution.js +264 -264
- package/lib/main/browser/comments/comments-decorator.d.ts +15 -15
- package/lib/main/browser/comments/comments-decorator.js +107 -107
- package/lib/main/browser/comments/comments-main.d.ts +106 -106
- package/lib/main/browser/comments/comments-main.js +341 -341
- package/lib/main/browser/comments/comments-service.d.ts +75 -75
- package/lib/main/browser/comments/comments-service.js +120 -120
- package/lib/main/browser/custom-editors/custom-editor-contribution.d.ts +6 -6
- package/lib/main/browser/custom-editors/custom-editor-contribution.js +50 -50
- package/lib/main/browser/custom-editors/custom-editor-opener.d.ts +21 -21
- package/lib/main/browser/custom-editors/custom-editor-opener.js +111 -111
- package/lib/main/browser/custom-editors/custom-editor-service.d.ts +16 -16
- package/lib/main/browser/custom-editors/custom-editor-service.js +102 -102
- package/lib/main/browser/custom-editors/custom-editor-widget-factory.d.ts +9 -9
- package/lib/main/browser/custom-editors/custom-editor-widget-factory.js +39 -39
- package/lib/main/browser/custom-editors/custom-editor-widget.d.ts +36 -36
- package/lib/main/browser/custom-editors/custom-editor-widget.js +115 -115
- package/lib/main/browser/custom-editors/custom-editors-main.d.ts +120 -120
- package/lib/main/browser/custom-editors/custom-editors-main.js +447 -447
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts +23 -23
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +142 -142
- package/lib/main/browser/custom-editors/undo-redo-service.d.ts +23 -23
- package/lib/main/browser/custom-editors/undo-redo-service.js +110 -110
- package/lib/main/browser/debug/debug-main.d.ts +48 -48
- package/lib/main/browser/debug/debug-main.js +295 -295
- package/lib/main/browser/debug/plugin-debug-adapter-contribution.d.ts +18 -18
- package/lib/main/browser/debug/plugin-debug-adapter-contribution.js +42 -42
- package/lib/main/browser/debug/plugin-debug-configuration-provider.d.ts +12 -12
- package/lib/main/browser/debug/plugin-debug-configuration-provider.js +38 -38
- package/lib/main/browser/debug/plugin-debug-service.d.ts +52 -52
- package/lib/main/browser/debug/plugin-debug-service.js +283 -283
- package/lib/main/browser/debug/plugin-debug-session-contribution-registry.d.ts +30 -30
- package/lib/main/browser/debug/plugin-debug-session-contribution-registry.js +75 -75
- package/lib/main/browser/debug/plugin-debug-session-factory.d.ts +55 -55
- package/lib/main/browser/debug/plugin-debug-session-factory.js +70 -70
- package/lib/main/browser/decorations/decorations-main.d.ts +15 -15
- package/lib/main/browser/decorations/decorations-main.js +119 -119
- package/lib/main/browser/dialogs/modal-notification.d.ts +18 -18
- package/lib/main/browser/dialogs/modal-notification.js +107 -107
- package/lib/main/browser/dialogs-main.d.ts +16 -16
- package/lib/main/browser/dialogs-main.js +162 -162
- package/lib/main/browser/documents-main.d.ts +50 -50
- package/lib/main/browser/documents-main.js +249 -249
- package/lib/main/browser/editors-and-documents-main.d.ts +32 -32
- package/lib/main/browser/editors-and-documents-main.js +301 -301
- package/lib/main/browser/env-main.d.ts +15 -15
- package/lib/main/browser/env-main.js +82 -82
- package/lib/main/browser/file-system-main-impl.d.ts +27 -27
- package/lib/main/browser/file-system-main-impl.js +199 -199
- package/lib/main/browser/hierarchy/hierarchy-types-converters.d.ts +24 -24
- package/lib/main/browser/hierarchy/hierarchy-types-converters.js +174 -174
- package/lib/main/browser/keybindings/keybindings-contribution-handler.d.ts +9 -9
- package/lib/main/browser/keybindings/keybindings-contribution-handler.js +77 -77
- package/lib/main/browser/label-service-main.d.ts +10 -10
- package/lib/main/browser/label-service-main.js +46 -46
- package/lib/main/browser/languages-main.d.ts +136 -136
- package/lib/main/browser/languages-main.js +1116 -1116
- package/lib/main/browser/main-context.d.ts +3 -3
- package/lib/main/browser/main-context.js +137 -137
- package/lib/main/browser/main-file-system-event-service.d.ts +7 -7
- package/lib/main/browser/main-file-system-event-service.d.ts.map +1 -1
- package/lib/main/browser/main-file-system-event-service.js +65 -68
- package/lib/main/browser/main-file-system-event-service.js.map +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.d.ts +29 -29
- package/lib/main/browser/menus/menus-contribution-handler.js +194 -194
- package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts +43 -43
- package/lib/main/browser/menus/plugin-menu-command-adapter.js +279 -279
- package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +17 -17
- package/lib/main/browser/menus/vscode-theia-menu-mappings.js +93 -93
- package/lib/main/browser/message-registry-main.d.ts +8 -8
- package/lib/main/browser/message-registry-main.js +52 -52
- package/lib/main/browser/notification-main.d.ts +18 -18
- package/lib/main/browser/notification-main.js +75 -75
- package/lib/main/browser/output-channel-registry-main.d.ts +10 -10
- package/lib/main/browser/output-channel-registry-main.js +60 -60
- package/lib/main/browser/plugin-authentication-service.d.ts +13 -13
- package/lib/main/browser/plugin-authentication-service.js +80 -80
- package/lib/main/browser/plugin-contribution-handler.d.ts +66 -66
- package/lib/main/browser/plugin-contribution-handler.js +580 -580
- package/lib/main/browser/plugin-ext-frontend-module.d.ts +7 -7
- package/lib/main/browser/plugin-ext-frontend-module.js +216 -216
- package/lib/main/browser/plugin-ext-widget.d.ts +28 -28
- package/lib/main/browser/plugin-ext-widget.js +129 -129
- package/lib/main/browser/plugin-frontend-contribution.d.ts +6 -6
- package/lib/main/browser/plugin-frontend-contribution.js +45 -45
- package/lib/main/browser/plugin-frontend-view-contribution.d.ts +6 -6
- package/lib/main/browser/plugin-frontend-view-contribution.js +50 -50
- package/lib/main/browser/plugin-icon-theme-service.d.ts +135 -135
- package/lib/main/browser/plugin-icon-theme-service.js +519 -519
- package/lib/main/browser/plugin-shared-style.d.ts +36 -36
- package/lib/main/browser/plugin-shared-style.js +126 -126
- package/lib/main/browser/plugin-storage.d.ts +13 -13
- package/lib/main/browser/plugin-storage.js +46 -46
- package/lib/main/browser/plugin-terminal-registry.d.ts +4 -4
- package/lib/main/browser/plugin-terminal-registry.js +34 -34
- package/lib/main/browser/preference-registry-main.d.ts +19 -19
- package/lib/main/browser/preference-registry-main.js +104 -104
- package/lib/main/browser/quick-open-main.d.ts +31 -31
- package/lib/main/browser/quick-open-main.js +274 -274
- package/lib/main/browser/scm-main.d.ts +100 -100
- package/lib/main/browser/scm-main.js +330 -330
- package/lib/main/browser/secrets-main.d.ts +12 -12
- package/lib/main/browser/secrets-main.js +67 -67
- package/lib/main/browser/selection-provider-command.d.ts +12 -12
- package/lib/main/browser/selection-provider-command.js +57 -57
- package/lib/main/browser/status-bar-message-registry-main.d.ts +16 -16
- package/lib/main/browser/status-bar-message-registry-main.js +55 -55
- package/lib/main/browser/tabs/tabs-main.d.ts +40 -40
- package/lib/main/browser/tabs/tabs-main.js +282 -282
- package/lib/main/browser/tasks-main.d.ts +33 -33
- package/lib/main/browser/tasks-main.js +205 -205
- package/lib/main/browser/terminal-main.d.ts +49 -49
- package/lib/main/browser/terminal-main.js +268 -268
- package/lib/main/browser/text-editor-main.d.ts +47 -47
- package/lib/main/browser/text-editor-main.js +374 -374
- package/lib/main/browser/text-editor-model-service.d.ts +28 -28
- package/lib/main/browser/text-editor-model-service.js +108 -108
- package/lib/main/browser/text-editors-main.d.ts +38 -38
- package/lib/main/browser/text-editors-main.js +158 -158
- package/lib/main/browser/theme-icon-override.d.ts +1 -1
- package/lib/main/browser/theme-icon-override.js +247 -247
- package/lib/main/browser/theming-main.d.ts +9 -9
- package/lib/main/browser/theming-main.js +35 -35
- package/lib/main/browser/timeline-main.d.ts +13 -13
- package/lib/main/browser/timeline-main.js +46 -46
- package/lib/main/browser/view/dnd-file-content-store.d.ts +7 -7
- package/lib/main/browser/view/dnd-file-content-store.js +51 -51
- package/lib/main/browser/view/plugin-tree-view-node-label-provider.d.ts +11 -11
- package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +90 -90
- package/lib/main/browser/view/plugin-view-registry.d.ts +106 -106
- package/lib/main/browser/view/plugin-view-registry.js +836 -836
- package/lib/main/browser/view/plugin-view-widget.d.ts +50 -50
- package/lib/main/browser/view/plugin-view-widget.js +166 -166
- package/lib/main/browser/view/tree-view-decorator-service.d.ts +30 -30
- package/lib/main/browser/view/tree-view-decorator-service.js +68 -68
- package/lib/main/browser/view/tree-view-widget.d.ts +160 -160
- package/lib/main/browser/view/tree-view-widget.js +761 -761
- package/lib/main/browser/view/tree-views-main.d.ts +31 -31
- package/lib/main/browser/view/tree-views-main.js +163 -163
- package/lib/main/browser/view/view-context-key-service.d.ts +30 -30
- package/lib/main/browser/view/view-context-key-service.js +84 -84
- package/lib/main/browser/view-column-service.d.ts +23 -23
- package/lib/main/browser/view-column-service.js +129 -129
- package/lib/main/browser/webview/webview-environment.d.ts +15 -15
- package/lib/main/browser/webview/webview-environment.js +93 -93
- package/lib/main/browser/webview/webview-frontend-security-warnings.d.ts +11 -11
- package/lib/main/browser/webview/webview-frontend-security-warnings.js +73 -73
- package/lib/main/browser/webview/webview-preferences.d.ts +12 -12
- package/lib/main/browser/webview/webview-preferences.js +57 -57
- package/lib/main/browser/webview/webview-resource-cache.d.ts +17 -17
- package/lib/main/browser/webview/webview-resource-cache.js +90 -90
- package/lib/main/browser/webview/webview-theme-data-provider.d.ts +30 -30
- package/lib/main/browser/webview/webview-theme-data-provider.js +132 -132
- package/lib/main/browser/webview/webview-widget-factory.d.ts +8 -8
- package/lib/main/browser/webview/webview-widget-factory.js +38 -38
- package/lib/main/browser/webview/webview.d.ts +130 -130
- package/lib/main/browser/webview/webview.js +549 -549
- package/lib/main/browser/webview-views/webview-views-main.d.ts +30 -30
- package/lib/main/browser/webview-views/webview-views-main.js +126 -126
- package/lib/main/browser/webview-views/webview-views.d.ts +14 -14
- package/lib/main/browser/webview-views/webview-views.js +22 -22
- package/lib/main/browser/webviews-main.d.ts +39 -39
- package/lib/main/browser/webviews-main.js +231 -231
- package/lib/main/browser/window-state-main.d.ts +16 -16
- package/lib/main/browser/window-state-main.js +61 -61
- package/lib/main/browser/workspace-main.d.ts +69 -69
- package/lib/main/browser/workspace-main.js +316 -316
- package/lib/main/common/plugin-paths-protocol.d.ts +8 -8
- package/lib/main/common/plugin-paths-protocol.js +21 -21
- package/lib/main/common/plugin-theia-environment.d.ts +7 -7
- package/lib/main/common/plugin-theia-environment.js +47 -47
- package/lib/main/common/webview-protocol.d.ts +12 -12
- package/lib/main/common/webview-protocol.js +31 -31
- package/lib/main/electron-browser/plugin-ext-frontend-electron-module.d.ts +3 -3
- package/lib/main/electron-browser/plugin-ext-frontend-electron-module.js +25 -25
- package/lib/main/electron-browser/webview/electron-webview-widget-factory.d.ts +22 -22
- package/lib/main/electron-browser/webview/electron-webview-widget-factory.js +64 -64
- package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +10 -10
- package/lib/main/node/handlers/plugin-theia-directory-handler.js +113 -113
- package/lib/main/node/handlers/plugin-theia-file-handler.d.ts +9 -9
- package/lib/main/node/handlers/plugin-theia-file-handler.js +66 -66
- package/lib/main/node/paths/const.d.ts +5 -5
- package/lib/main/node/paths/const.js +24 -24
- package/lib/main/node/paths/plugin-paths-service.d.ts +23 -23
- package/lib/main/node/paths/plugin-paths-service.js +169 -169
- package/lib/main/node/plugin-cli-contribution.d.ts +21 -21
- package/lib/main/node/plugin-cli-contribution.js +84 -84
- package/lib/main/node/plugin-deployer-contribution.d.ts +8 -8
- package/lib/main/node/plugin-deployer-contribution.js +47 -47
- package/lib/main/node/plugin-deployer-directory-handler-context-impl.d.ts +7 -7
- package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +44 -44
- package/lib/main/node/plugin-deployer-entry-impl.d.ts +34 -34
- package/lib/main/node/plugin-deployer-entry-impl.js +109 -109
- package/lib/main/node/plugin-deployer-file-handler-context-impl.d.ts +7 -7
- package/lib/main/node/plugin-deployer-file-handler-context-impl.js +31 -31
- package/lib/main/node/plugin-deployer-impl.d.ts +61 -61
- package/lib/main/node/plugin-deployer-impl.js +341 -341
- package/lib/main/node/plugin-deployer-proxy-entry-impl.d.ts +29 -29
- package/lib/main/node/plugin-deployer-proxy-entry-impl.js +98 -98
- package/lib/main/node/plugin-deployer-resolver-context-impl.d.ts +15 -15
- package/lib/main/node/plugin-deployer-resolver-context-impl.js +42 -42
- package/lib/main/node/plugin-ext-backend-module.d.ts +2 -2
- package/lib/main/node/plugin-ext-backend-module.js +70 -70
- package/lib/main/node/plugin-github-resolver.d.ts +21 -21
- package/lib/main/node/plugin-github-resolver.js +142 -142
- package/lib/main/node/plugin-http-resolver.d.ts +18 -18
- package/lib/main/node/plugin-http-resolver.js +91 -91
- package/lib/main/node/plugin-localization-backend-contribution.d.ts +9 -9
- package/lib/main/node/plugin-localization-backend-contribution.js +58 -58
- package/lib/main/node/plugin-server-handler.d.ts +16 -16
- package/lib/main/node/plugin-server-handler.js +74 -74
- package/lib/main/node/plugin-service.d.ts +19 -19
- package/lib/main/node/plugin-service.js +91 -91
- package/lib/main/node/plugin-theia-deployer-participant.d.ts +6 -6
- package/lib/main/node/plugin-theia-deployer-participant.js +43 -43
- package/lib/main/node/plugin-uninstallation-manager.d.ts +14 -14
- package/lib/main/node/plugin-uninstallation-manager.js +84 -84
- package/lib/main/node/plugins-key-value-storage.d.ts +15 -15
- package/lib/main/node/plugins-key-value-storage.js +128 -128
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.d.ts +7 -7
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +43 -43
- package/lib/main/node/resolvers/local-plugin-deployer-resolver.d.ts +8 -8
- package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +59 -59
- package/lib/main/node/temp-dir-util.d.ts +1 -1
- package/lib/main/node/temp-dir-util.js +30 -30
- package/lib/main/node/webview-backend-security-warnings.d.ts +5 -5
- package/lib/main/node/webview-backend-security-warnings.js +51 -51
- package/lib/plugin/authentication-ext.d.ts +34 -34
- package/lib/plugin/authentication-ext.js +94 -94
- package/lib/plugin/clipboard-ext.d.ts +9 -9
- package/lib/plugin/clipboard-ext.js +31 -31
- package/lib/plugin/command-registry.d.ts +43 -43
- package/lib/plugin/command-registry.js +176 -176
- package/lib/plugin/comments.d.ts +89 -89
- package/lib/plugin/comments.js +368 -368
- package/lib/plugin/custom-editors.d.ts +47 -47
- package/lib/plugin/custom-editors.js +255 -255
- package/lib/plugin/debug/debug-ext.d.ts +86 -86
- package/lib/plugin/debug/debug-ext.js +391 -391
- package/lib/plugin/debug/plugin-debug-adapter-creator.d.ts +10 -10
- package/lib/plugin/debug/plugin-debug-adapter-creator.js +41 -41
- package/lib/plugin/debug/plugin-debug-adapter-session.d.ts +26 -26
- package/lib/plugin/debug/plugin-debug-adapter-session.js +96 -96
- package/lib/plugin/debug/plugin-debug-adapter-tracker.d.ts +12 -12
- package/lib/plugin/debug/plugin-debug-adapter-tracker.js +77 -77
- package/lib/plugin/decorations.d.ts +14 -14
- package/lib/plugin/decorations.js +112 -112
- package/lib/plugin/dialogs.d.ts +10 -10
- package/lib/plugin/dialogs.js +91 -91
- package/lib/plugin/document-data.d.ts +38 -38
- package/lib/plugin/document-data.js +309 -309
- package/lib/plugin/documents.d.ts +56 -56
- package/lib/plugin/documents.js +253 -253
- package/lib/plugin/editors-and-documents.d.ts +26 -26
- package/lib/plugin/editors-and-documents.js +137 -137
- package/lib/plugin/env.d.ts +42 -42
- package/lib/plugin/env.js +101 -101
- package/lib/plugin/file-system-event-service-ext-impl.d.ts +40 -40
- package/lib/plugin/file-system-event-service-ext-impl.js +203 -203
- package/lib/plugin/file-system-ext-impl.d.ts +50 -50
- package/lib/plugin/file-system-ext-impl.js +354 -354
- package/lib/plugin/known-commands.d.ts +5 -5
- package/lib/plugin/known-commands.js +386 -386
- package/lib/plugin/known-commands.spec.d.ts +1 -1
- package/lib/plugin/known-commands.spec.js +42 -42
- package/lib/plugin/label-service.d.ts +11 -11
- package/lib/plugin/label-service.js +35 -35
- package/lib/plugin/languages/call-hierarchy.d.ts +20 -20
- package/lib/plugin/languages/call-hierarchy.js +101 -101
- package/lib/plugin/languages/code-action.d.ts +24 -24
- package/lib/plugin/languages/code-action.js +137 -137
- package/lib/plugin/languages/color.d.ts +12 -12
- package/lib/plugin/languages/color.js +58 -58
- package/lib/plugin/languages/completion.d.ts +20 -20
- package/lib/plugin/languages/completion.js +161 -161
- package/lib/plugin/languages/declaration.d.ts +11 -11
- package/lib/plugin/languages/declaration.js +58 -58
- package/lib/plugin/languages/definition.d.ts +11 -11
- package/lib/plugin/languages/definition.js +58 -58
- package/lib/plugin/languages/diagnostics.d.ts +49 -49
- package/lib/plugin/languages/diagnostics.js +281 -281
- package/lib/plugin/languages/document-formatting.d.ts +10 -10
- package/lib/plugin/languages/document-formatting.js +40 -40
- package/lib/plugin/languages/document-highlight.d.ts +12 -12
- package/lib/plugin/languages/document-highlight.js +50 -50
- package/lib/plugin/languages/evaluatable-expression.d.ts +11 -11
- package/lib/plugin/languages/evaluatable-expression.js +40 -40
- package/lib/plugin/languages/folding.d.ts +10 -10
- package/lib/plugin/languages/folding.js +39 -39
- package/lib/plugin/languages/hover.d.ts +11 -11
- package/lib/plugin/languages/hover.js +48 -48
- package/lib/plugin/languages/implementation.d.ts +11 -11
- package/lib/plugin/languages/implementation.js +58 -58
- package/lib/plugin/languages/inlay-hints.d.ts +19 -19
- package/lib/plugin/languages/inlay-hints.js +127 -127
- package/lib/plugin/languages/inline-completion.d.ts +20 -20
- package/lib/plugin/languages/inline-completion.js +93 -93
- package/lib/plugin/languages/inline-values.d.ts +10 -10
- package/lib/plugin/languages/inline-values.js +44 -44
- package/lib/plugin/languages/lens.d.ts +19 -19
- package/lib/plugin/languages/lens.js +89 -89
- package/lib/plugin/languages/link-provider.d.ts +14 -14
- package/lib/plugin/languages/link-provider.js +71 -71
- package/lib/plugin/languages/linked-editing-range.d.ts +11 -11
- package/lib/plugin/languages/linked-editing-range.js +40 -40
- package/lib/plugin/languages/on-type-formatting.d.ts +11 -11
- package/lib/plugin/languages/on-type-formatting.js +41 -41
- package/lib/plugin/languages/outline.d.ts +20 -20
- package/lib/plugin/languages/outline.js +115 -115
- package/lib/plugin/languages/range-formatting.d.ts +10 -10
- package/lib/plugin/languages/range-formatting.js +41 -41
- package/lib/plugin/languages/reference.d.ts +11 -11
- package/lib/plugin/languages/reference.js +47 -47
- package/lib/plugin/languages/rename.d.ts +14 -14
- package/lib/plugin/languages/rename.js +114 -114
- package/lib/plugin/languages/selection-range.d.ts +11 -11
- package/lib/plugin/languages/selection-range.js +65 -65
- package/lib/plugin/languages/semantic-highlighting.d.ts +28 -28
- package/lib/plugin/languages/semantic-highlighting.js +175 -175
- package/lib/plugin/languages/signature.d.ts +15 -15
- package/lib/plugin/languages/signature.js +71 -71
- package/lib/plugin/languages/type-definition.d.ts +11 -11
- package/lib/plugin/languages/type-definition.js +58 -58
- package/lib/plugin/languages/type-hierarchy.d.ts +18 -18
- package/lib/plugin/languages/type-hierarchy.js +95 -95
- package/lib/plugin/languages/util.d.ts +4 -4
- package/lib/plugin/languages/util.js +27 -27
- package/lib/plugin/languages/workspace-symbol.d.ts +8 -8
- package/lib/plugin/languages/workspace-symbol.js +61 -61
- package/lib/plugin/languages-utils.d.ts +5 -5
- package/lib/plugin/languages-utils.js +52 -52
- package/lib/plugin/languages.d.ts +118 -118
- package/lib/plugin/languages.js +679 -679
- package/lib/plugin/markdown-string.d.ts +24 -24
- package/lib/plugin/markdown-string.js +124 -124
- package/lib/plugin/message-registry.d.ts +8 -8
- package/lib/plugin/message-registry.js +60 -60
- package/lib/plugin/node/debug/debug.spec.d.ts +1 -1
- package/lib/plugin/node/debug/debug.spec.js +67 -67
- package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.d.ts +17 -17
- package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +154 -154
- package/lib/plugin/node/env-node-ext.d.ts +21 -21
- package/lib/plugin/node/env-node-ext.js +63 -63
- package/lib/plugin/notification.d.ts +17 -17
- package/lib/plugin/notification.js +67 -67
- package/lib/plugin/output-channel/output-channel-item.d.ts +17 -17
- package/lib/plugin/output-channel/output-channel-item.js +51 -51
- package/lib/plugin/output-channel-registry.d.ts +8 -8
- package/lib/plugin/output-channel-registry.js +35 -35
- package/lib/plugin/path.d.ts +2 -2
- package/lib/plugin/path.js +59 -59
- package/lib/plugin/path.spec.d.ts +1 -1
- package/lib/plugin/path.spec.js +34 -34
- package/lib/plugin/plugin-context.d.ts +56 -56
- package/lib/plugin/plugin-context.js +1072 -1072
- package/lib/plugin/plugin-icon-path.d.ts +11 -11
- package/lib/plugin/plugin-icon-path.js +49 -49
- package/lib/plugin/plugin-manager.d.ts +80 -80
- package/lib/plugin/plugin-manager.js +366 -366
- package/lib/plugin/plugin-storage.d.ts +36 -36
- package/lib/plugin/plugin-storage.js +99 -99
- package/lib/plugin/preference-registry.d.ts +36 -36
- package/lib/plugin/preference-registry.js +295 -295
- package/lib/plugin/preference-registry.spec.d.ts +1 -1
- package/lib/plugin/preference-registry.spec.js +251 -251
- package/lib/plugin/prefix-sum-computer.d.ts +30 -30
- package/lib/plugin/prefix-sum-computer.js +172 -172
- package/lib/plugin/quick-open.d.ts +202 -202
- package/lib/plugin/quick-open.js +637 -637
- package/lib/plugin/scm.d.ts +53 -53
- package/lib/plugin/scm.js +713 -713
- package/lib/plugin/secrets-ext.d.ts +30 -30
- package/lib/plugin/secrets-ext.js +68 -68
- package/lib/plugin/status-bar/status-bar-item.d.ts +44 -44
- package/lib/plugin/status-bar/status-bar-item.js +122 -122
- package/lib/plugin/status-bar-message-registry.d.ts +20 -20
- package/lib/plugin/status-bar-message-registry.js +84 -84
- package/lib/plugin/stubs/tests-api.d.ts +22 -22
- package/lib/plugin/stubs/tests-api.js +66 -66
- package/lib/plugin/tabs.d.ts +22 -22
- package/lib/plugin/tabs.js +358 -358
- package/lib/plugin/tasks/task-provider.d.ts +8 -8
- package/lib/plugin/tasks/task-provider.js +56 -56
- package/lib/plugin/tasks/tasks.d.ts +45 -45
- package/lib/plugin/tasks/tasks.js +210 -210
- package/lib/plugin/terminal-ext.d.ts +101 -101
- package/lib/plugin/terminal-ext.js +422 -422
- package/lib/plugin/text-editor.d.ts +100 -100
- package/lib/plugin/text-editor.js +409 -409
- package/lib/plugin/text-editors.d.ts +37 -37
- package/lib/plugin/text-editors.js +126 -126
- package/lib/plugin/theming.d.ts +15 -15
- package/lib/plugin/theming.js +61 -61
- package/lib/plugin/timeline.d.ts +20 -20
- package/lib/plugin/timeline.js +152 -152
- package/lib/plugin/tree/tree-views.d.ts +93 -90
- package/lib/plugin/tree/tree-views.d.ts.map +1 -1
- package/lib/plugin/tree/tree-views.js +523 -516
- package/lib/plugin/tree/tree-views.js.map +1 -1
- package/lib/plugin/type-converters.d.ts +131 -131
- package/lib/plugin/type-converters.js +1292 -1292
- package/lib/plugin/type-converters.spec.d.ts +1 -1
- package/lib/plugin/type-converters.spec.js +391 -391
- package/lib/plugin/types-impl.d.ts +1464 -1464
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/types-impl.js +2956 -2953
- package/lib/plugin/types-impl.js.map +1 -1
- package/lib/plugin/types-impl.spec.d.ts +1 -1
- package/lib/plugin/types-impl.spec.js +78 -78
- package/lib/plugin/webview-views.d.ts +52 -52
- package/lib/plugin/webview-views.js +144 -144
- package/lib/plugin/webviews.d.ts +95 -95
- package/lib/plugin/webviews.js +340 -340
- package/lib/plugin/window-state.d.ts +16 -16
- package/lib/plugin/window-state.js +55 -55
- package/lib/plugin/word-helper.d.ts +21 -21
- package/lib/plugin/word-helper.js +125 -125
- package/lib/plugin/workspace.d.ts +53 -53
- package/lib/plugin/workspace.js +371 -371
- package/lib/plugin-ext-backend-electron-module.d.ts +3 -3
- package/lib/plugin-ext-backend-electron-module.js +24 -24
- package/lib/plugin-ext-backend-module.d.ts +3 -3
- package/lib/plugin-ext-backend-module.js +24 -24
- package/lib/plugin-ext-frontend-electron-module.d.ts +2 -2
- package/lib/plugin-ext-frontend-electron-module.js +19 -19
- package/lib/plugin-ext-frontend-module.d.ts +2 -2
- package/lib/plugin-ext-frontend-module.js +19 -19
- package/package.json +27 -27
- package/src/common/arrays.ts +54 -54
- package/src/common/assert.ts +23 -23
- package/src/common/cache.ts +51 -51
- package/src/common/character-classifier.ts +73 -73
- package/src/common/collections.ts +37 -37
- package/src/common/connection.ts +137 -137
- package/src/common/disposable-util.ts +39 -39
- package/src/common/editor-options.ts +74 -74
- package/src/common/env.ts +19 -19
- package/src/common/errors.ts +37 -37
- package/src/common/id-generator.ts +26 -26
- package/src/common/index.ts +24 -24
- package/src/common/link-computer.ts +354 -354
- package/src/common/object-identifier.ts +33 -33
- package/src/common/objects.ts +50 -50
- package/src/common/paths-util.ts +158 -158
- package/src/common/plugin-api-rpc-model.ts +864 -864
- package/src/common/plugin-api-rpc.ts +2202 -2202
- package/src/common/plugin-ext-api-contribution.ts +82 -82
- package/src/common/plugin-identifiers.ts +84 -84
- package/src/common/plugin-protocol.ts +987 -987
- package/src/common/proxy-handler.ts +126 -126
- package/src/common/reference-map.ts +38 -38
- package/src/common/rpc-protocol.ts +272 -272
- package/src/common/semantic-tokens-dto.ts +182 -182
- package/src/common/types.ts +129 -129
- package/src/common/uint.ts +37 -37
- package/src/common/uri-components.ts +85 -85
- package/src/hosted/browser/hosted-plugin-watcher.ts +54 -54
- package/src/hosted/browser/hosted-plugin.ts +830 -830
- package/src/hosted/browser/plugin-worker.ts +52 -52
- package/src/hosted/browser/worker/debug-stub.ts +28 -28
- package/src/hosted/browser/worker/plugin-manifest-loader.ts +114 -114
- package/src/hosted/browser/worker/worker-env-ext.ts +41 -41
- package/src/hosted/browser/worker/worker-main.ts +221 -221
- package/src/hosted/node/hosted-plugin-cli-contribution.ts +75 -75
- package/src/hosted/node/hosted-plugin-deployer-handler.ts +261 -261
- package/src/hosted/node/hosted-plugin-localization-service.ts +254 -254
- package/src/hosted/node/hosted-plugin-process.ts +248 -248
- package/src/hosted/node/hosted-plugin-protocol.ts +49 -49
- package/src/hosted/node/hosted-plugin.ts +116 -116
- package/src/hosted/node/metadata-scanner.ts +64 -64
- package/src/hosted/node/plugin-ext-hosted-backend-module.ts +80 -80
- package/src/hosted/node/plugin-host-proxy.ts +80 -80
- package/src/hosted/node/plugin-host-rpc.ts +245 -245
- package/src/hosted/node/plugin-host.ts +108 -108
- package/src/hosted/node/plugin-manifest-loader.ts +31 -31
- package/src/hosted/node/plugin-reader.ts +131 -131
- package/src/hosted/node/plugin-service.ts +175 -175
- package/src/hosted/node/scanners/backend-init-theia.ts +71 -71
- package/src/hosted/node/scanners/file-plugin-uri-factory.ts +32 -32
- package/src/hosted/node/scanners/grammars-reader.ts +56 -56
- package/src/hosted/node/scanners/plugin-uri-factory.ts +33 -33
- package/src/hosted/node/scanners/scanner-theia.ts +938 -938
- package/src/hosted/node-electron/plugin-ext-hosted-electron-backend-module.ts +26 -26
- package/src/hosted/node-electron/scanner-theia-electron.ts +32 -32
- package/src/main/browser/authentication-main.ts +369 -369
- package/src/main/browser/clipboard-main.ts +38 -38
- package/src/main/browser/command-registry-main.ts +110 -110
- package/src/main/browser/commands.ts +104 -104
- package/src/main/browser/comments/comment-glyph-widget.ts +66 -66
- package/src/main/browser/comments/comment-thread-widget.tsx +691 -691
- package/src/main/browser/comments/comments-context-key-service.ts +68 -68
- package/src/main/browser/comments/comments-contribution.ts +264 -264
- package/src/main/browser/comments/comments-decorator.ts +110 -110
- package/src/main/browser/comments/comments-main.ts +465 -465
- package/src/main/browser/comments/comments-service.ts +205 -205
- package/src/main/browser/custom-editors/custom-editor-contribution.ts +38 -38
- package/src/main/browser/custom-editors/custom-editor-opener.tsx +105 -105
- package/src/main/browser/custom-editors/custom-editor-service.ts +108 -108
- package/src/main/browser/custom-editors/custom-editor-widget-factory.ts +44 -44
- package/src/main/browser/custom-editors/custom-editor-widget.ts +127 -127
- package/src/main/browser/custom-editors/custom-editors-main.ts +606 -606
- package/src/main/browser/custom-editors/plugin-custom-editor-registry.ts +142 -142
- package/src/main/browser/custom-editors/undo-redo-service.ts +120 -120
- package/src/main/browser/debug/debug-main.ts +373 -373
- package/src/main/browser/debug/plugin-debug-adapter-contribution.ts +48 -48
- package/src/main/browser/debug/plugin-debug-configuration-provider.ts +63 -63
- package/src/main/browser/debug/plugin-debug-service.ts +338 -338
- package/src/main/browser/debug/plugin-debug-session-contribution-registry.ts +76 -76
- package/src/main/browser/debug/plugin-debug-session-factory.ts +105 -105
- package/src/main/browser/decorations/decorations-main.ts +146 -146
- package/src/main/browser/dialogs/modal-notification.ts +110 -110
- package/src/main/browser/dialogs/style/modal-notification.css +123 -123
- package/src/main/browser/dialogs-main.ts +185 -185
- package/src/main/browser/documents-main.ts +289 -289
- package/src/main/browser/editors-and-documents-main.ts +394 -394
- package/src/main/browser/env-main.ts +87 -87
- package/src/main/browser/file-system-main-impl.ts +263 -263
- package/src/main/browser/hierarchy/hierarchy-types-converters.ts +189 -189
- package/src/main/browser/keybindings/keybindings-contribution-handler.ts +66 -66
- package/src/main/browser/label-service-main.ts +51 -51
- package/src/main/browser/languages-main.ts +1387 -1387
- package/src/main/browser/main-context.ts +187 -187
- package/src/main/browser/main-file-system-event-service.ts +76 -79
- package/src/main/browser/menus/menus-contribution-handler.ts +162 -162
- package/src/main/browser/menus/plugin-menu-command-adapter.ts +264 -264
- package/src/main/browser/menus/vscode-theia-menu-mappings.ts +91 -91
- package/src/main/browser/message-registry-main.ts +56 -56
- package/src/main/browser/notification-main.ts +86 -86
- package/src/main/browser/output-channel-registry-main.ts +53 -53
- package/src/main/browser/plugin-authentication-service.ts +71 -71
- package/src/main/browser/plugin-contribution-handler.ts +609 -609
- package/src/main/browser/plugin-ext-frontend-module.ts +249 -249
- package/src/main/browser/plugin-ext-widget.tsx +132 -132
- package/src/main/browser/plugin-frontend-contribution.ts +35 -35
- package/src/main/browser/plugin-frontend-view-contribution.ts +38 -38
- package/src/main/browser/plugin-icon-theme-service.ts +585 -585
- package/src/main/browser/plugin-shared-style.ts +133 -133
- package/src/main/browser/plugin-storage.ts +55 -55
- package/src/main/browser/plugin-terminal-registry.ts +27 -27
- package/src/main/browser/preference-registry-main.ts +123 -123
- package/src/main/browser/quick-open-main.ts +324 -324
- package/src/main/browser/scm-main.ts +453 -453
- package/src/main/browser/secrets-main.ts +82 -82
- package/src/main/browser/selection-provider-command.ts +46 -46
- package/src/main/browser/status-bar-message-registry-main.ts +90 -90
- package/src/main/browser/style/comments.css +345 -345
- package/src/main/browser/style/index.css +85 -85
- package/src/main/browser/style/plugin-sidebar.css +73 -73
- package/src/main/browser/style/test.svg +13 -13
- package/src/main/browser/style/tree.css +52 -52
- package/src/main/browser/style/webview.css +53 -53
- package/src/main/browser/tabs/tabs-main.ts +323 -323
- package/src/main/browser/tasks-main.ts +268 -268
- package/src/main/browser/terminal-main.ts +301 -301
- package/src/main/browser/text-editor-main.ts +463 -463
- package/src/main/browser/text-editor-model-service.ts +102 -102
- package/src/main/browser/text-editors-main.ts +206 -206
- package/src/main/browser/theme-icon-override.ts +252 -252
- package/src/main/browser/theming-main.ts +42 -42
- package/src/main/browser/timeline-main.ts +80 -80
- package/src/main/browser/view/dnd-file-content-store.ts +42 -42
- package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +81 -81
- package/src/main/browser/view/plugin-view-registry.ts +885 -885
- package/src/main/browser/view/plugin-view-widget.ts +173 -173
- package/src/main/browser/view/tree-view-decorator-service.ts +51 -51
- package/src/main/browser/view/tree-view-widget.tsx +859 -859
- package/src/main/browser/view/tree-views-main.ts +191 -191
- package/src/main/browser/view/view-context-key-service.ts +77 -77
- package/src/main/browser/view-column-service.ts +125 -125
- package/src/main/browser/webview/pre/fake.html +14 -14
- package/src/main/browser/webview/pre/host.js +130 -130
- package/src/main/browser/webview/pre/index.html +17 -17
- package/src/main/browser/webview/pre/main.js +632 -632
- package/src/main/browser/webview/pre/service-worker.js +295 -295
- package/src/main/browser/webview/webview-environment.ts +83 -83
- package/src/main/browser/webview/webview-frontend-security-warnings.ts +59 -59
- package/src/main/browser/webview/webview-preferences.ts +72 -72
- package/src/main/browser/webview/webview-resource-cache.ts +88 -88
- package/src/main/browser/webview/webview-theme-data-provider.ts +124 -124
- package/src/main/browser/webview/webview-widget-factory.ts +43 -43
- package/src/main/browser/webview/webview.ts +629 -629
- package/src/main/browser/webview-views/webview-views-main.ts +142 -142
- package/src/main/browser/webview-views/webview-views.ts +38 -38
- package/src/main/browser/webviews-main.ts +269 -269
- package/src/main/browser/window-state-main.ts +76 -76
- package/src/main/browser/workspace-main.ts +383 -383
- package/src/main/common/plugin-paths-protocol.ts +26 -26
- package/src/main/common/plugin-theia-environment.ts +36 -36
- package/src/main/common/webview-protocol.ts +28 -28
- package/src/main/electron-browser/plugin-ext-frontend-electron-module.ts +25 -25
- package/src/main/electron-browser/webview/electron-webview-widget-factory.ts +70 -70
- package/src/main/node/handlers/plugin-theia-directory-handler.ts +105 -105
- package/src/main/node/handlers/plugin-theia-file-handler.ts +54 -54
- package/src/main/node/paths/const.ts +21 -21
- package/src/main/node/paths/plugin-paths-service.ts +170 -170
- package/src/main/node/plugin-cli-contribution.ts +85 -85
- package/src/main/node/plugin-deployer-contribution.ts +34 -34
- package/src/main/node/plugin-deployer-directory-handler-context-impl.ts +45 -45
- package/src/main/node/plugin-deployer-entry-impl.ts +130 -130
- package/src/main/node/plugin-deployer-file-handler-context-impl.ts +33 -33
- package/src/main/node/plugin-deployer-impl.ts +367 -367
- package/src/main/node/plugin-deployer-proxy-entry-impl.ts +96 -96
- package/src/main/node/plugin-deployer-resolver-context-impl.ts +55 -55
- package/src/main/node/plugin-ext-backend-module.ts +93 -93
- package/src/main/node/plugin-github-resolver.ts +148 -148
- package/src/main/node/plugin-http-resolver.ts +91 -91
- package/src/main/node/plugin-localization-backend-contribution.ts +42 -42
- package/src/main/node/plugin-server-handler.ts +69 -69
- package/src/main/node/plugin-service.ts +82 -82
- package/src/main/node/plugin-theia-deployer-participant.ts +32 -32
- package/src/main/node/plugin-uninstallation-manager.ts +74 -74
- package/src/main/node/plugins-key-value-storage.ts +117 -117
- package/src/main/node/resolvers/local-directory-plugin-deployer-resolver.ts +37 -37
- package/src/main/node/resolvers/local-plugin-deployer-resolver.ts +56 -56
- package/src/main/node/temp-dir-util.ts +27 -27
- package/src/main/node/webview-backend-security-warnings.ts +45 -45
- package/src/main/style/status-bar.css +35 -35
- package/src/plugin/authentication-ext.ts +125 -125
- package/src/plugin/clipboard-ext.ts +37 -37
- package/src/plugin/command-registry.ts +218 -218
- package/src/plugin/comments.ts +518 -518
- package/src/plugin/custom-editors.ts +336 -336
- package/src/plugin/debug/debug-ext.ts +487 -487
- package/src/plugin/debug/plugin-debug-adapter-creator.ts +50 -50
- package/src/plugin/debug/plugin-debug-adapter-session.ts +106 -106
- package/src/plugin/debug/plugin-debug-adapter-tracker.ts +85 -85
- package/src/plugin/decorations.ts +140 -140
- package/src/plugin/dialogs.ts +96 -96
- package/src/plugin/document-data.ts +366 -366
- package/src/plugin/documents.ts +283 -283
- package/src/plugin/editors-and-documents.ts +170 -170
- package/src/plugin/env.ts +134 -134
- package/src/plugin/file-system-event-service-ext-impl.ts +256 -256
- package/src/plugin/file-system-ext-impl.ts +412 -412
- package/src/plugin/known-commands.spec.ts +50 -50
- package/src/plugin/known-commands.ts +412 -412
- package/src/plugin/label-service.ts +36 -36
- package/src/plugin/languages/call-hierarchy.ts +124 -124
- package/src/plugin/languages/code-action.ts +162 -162
- package/src/plugin/languages/color.ts +75 -75
- package/src/plugin/languages/completion.ts +179 -179
- package/src/plugin/languages/declaration.ts +72 -72
- package/src/plugin/languages/definition.ts +73 -73
- package/src/plugin/languages/diagnostics.ts +325 -325
- package/src/plugin/languages/document-formatting.ts +47 -47
- package/src/plugin/languages/document-highlight.ts +61 -61
- package/src/plugin/languages/evaluatable-expression.ts +47 -47
- package/src/plugin/languages/folding.ts +46 -46
- package/src/plugin/languages/hover.ts +58 -58
- package/src/plugin/languages/implementation.ts +73 -73
- package/src/plugin/languages/inlay-hints.ts +149 -149
- package/src/plugin/languages/inline-completion.ts +126 -126
- package/src/plugin/languages/inline-values.ts +50 -50
- package/src/plugin/languages/lens.ts +102 -102
- package/src/plugin/languages/link-provider.ts +79 -79
- package/src/plugin/languages/linked-editing-range.ts +48 -48
- package/src/plugin/languages/on-type-formatting.ts +50 -50
- package/src/plugin/languages/outline.ts +126 -126
- package/src/plugin/languages/range-formatting.ts +48 -48
- package/src/plugin/languages/reference.ts +58 -58
- package/src/plugin/languages/rename.ts +130 -130
- package/src/plugin/languages/selection-range.ts +80 -80
- package/src/plugin/languages/semantic-highlighting.ts +211 -211
- package/src/plugin/languages/signature.ts +82 -82
- package/src/plugin/languages/type-definition.ts +73 -73
- package/src/plugin/languages/type-hierarchy.ts +117 -117
- package/src/plugin/languages/util.ts +26 -26
- package/src/plugin/languages/workspace-symbol.ts +66 -66
- package/src/plugin/languages-utils.ts +56 -56
- package/src/plugin/languages.ts +969 -969
- package/src/plugin/markdown-string.ts +115 -115
- package/src/plugin/message-registry.ts +65 -65
- package/src/plugin/node/debug/debug.spec.ts +94 -94
- package/src/plugin/node/debug/plugin-node-debug-adapter-creator.ts +167 -167
- package/src/plugin/node/env-node-ext.ts +69 -69
- package/src/plugin/notification.ts +80 -80
- package/src/plugin/output-channel/output-channel-item.ts +73 -73
- package/src/plugin/output-channel-registry.ts +39 -39
- package/src/plugin/path.spec.ts +40 -40
- package/src/plugin/path.ts +68 -68
- package/src/plugin/plugin-context.ts +1387 -1387
- package/src/plugin/plugin-icon-path.ts +50 -50
- package/src/plugin/plugin-manager.ts +446 -446
- package/src/plugin/plugin-storage.ts +120 -120
- package/src/plugin/preference-registry.spec.ts +299 -299
- package/src/plugin/preference-registry.ts +337 -337
- package/src/plugin/prefix-sum-computer.ts +218 -218
- package/src/plugin/quick-open.ts +772 -772
- package/src/plugin/scm.ts +910 -910
- package/src/plugin/secrets-ext.ts +84 -84
- package/src/plugin/status-bar/status-bar-item.ts +193 -193
- package/src/plugin/status-bar-message-registry.ts +103 -103
- package/src/plugin/stubs/tests-api.ts +96 -96
- package/src/plugin/tabs.ts +426 -426
- package/src/plugin/tasks/task-provider.ts +60 -60
- package/src/plugin/tasks/tasks.ts +247 -247
- package/src/plugin/terminal-ext.ts +494 -494
- package/src/plugin/text-editor.ts +522 -522
- package/src/plugin/text-editors.ts +150 -150
- package/src/plugin/theming.ts +73 -73
- package/src/plugin/timeline.ts +186 -186
- package/src/plugin/tree/tree-views.ts +612 -605
- package/src/plugin/type-converters.spec.ts +476 -476
- package/src/plugin/type-converters.ts +1350 -1350
- package/src/plugin/types-impl.spec.ts +85 -85
- package/src/plugin/types-impl.ts +3407 -3404
- package/src/plugin/webview-views.ts +213 -213
- package/src/plugin/webviews.ts +433 -433
- package/src/plugin/window-state.ts +68 -68
- package/src/plugin/word-helper.ts +162 -162
- package/src/plugin/workspace.ts +448 -448
- package/src/plugin-ext-backend-electron-module.ts +24 -24
- package/src/plugin-ext-backend-module.ts +24 -24
- package/src/plugin-ext-frontend-electron-module.ts +19 -19
- package/src/plugin-ext-frontend-module.ts +19 -19
- package/src/typings/index.d.ts +25 -25
|
@@ -1,342 +1,342 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 Red Hat, Inc. and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
-
};
|
|
23
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
-
};
|
|
26
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.PluginDeployerImpl = void 0;
|
|
28
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
29
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
30
|
-
const semver = require("semver");
|
|
31
|
-
const plugin_protocol_1 = require("../../common/plugin-protocol");
|
|
32
|
-
const plugin_deployer_entry_impl_1 = require("./plugin-deployer-entry-impl");
|
|
33
|
-
const plugin_deployer_resolver_context_impl_1 = require("./plugin-deployer-resolver-context-impl");
|
|
34
|
-
const plugin_deployer_proxy_entry_impl_1 = require("./plugin-deployer-proxy-entry-impl");
|
|
35
|
-
const plugin_deployer_file_handler_context_impl_1 = require("./plugin-deployer-file-handler-context-impl");
|
|
36
|
-
const plugin_deployer_directory_handler_context_impl_1 = require("./plugin-deployer-directory-handler-context-impl");
|
|
37
|
-
const core_1 = require("@theia/core");
|
|
38
|
-
const plugin_cli_contribution_1 = require("./plugin-cli-contribution");
|
|
39
|
-
const common_1 = require("@theia/core/lib/common");
|
|
40
|
-
let PluginDeployerImpl = class PluginDeployerImpl {
|
|
41
|
-
constructor() {
|
|
42
|
-
this.onDidDeployEmitter = new core_1.Emitter();
|
|
43
|
-
this.onDidDeploy = this.onDidDeployEmitter.event;
|
|
44
|
-
}
|
|
45
|
-
start() {
|
|
46
|
-
this.logger.debug('Starting the deployer with the list of resolvers', this.pluginResolvers);
|
|
47
|
-
this.doStart();
|
|
48
|
-
}
|
|
49
|
-
async initResolvers() {
|
|
50
|
-
// call init on each resolver
|
|
51
|
-
const pluginDeployerResolverInit = new plugin_deployer_resolver_context_impl_1.PluginDeployerResolverInitImpl();
|
|
52
|
-
const promises = this.pluginResolvers.map(async (pluginResolver) => {
|
|
53
|
-
if (pluginResolver.init) {
|
|
54
|
-
pluginResolver.init(pluginDeployerResolverInit);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
return Promise.all(promises);
|
|
58
|
-
}
|
|
59
|
-
async doStart() {
|
|
60
|
-
// init resolvers
|
|
61
|
-
await this.initResolvers();
|
|
62
|
-
// check THEIA_DEFAULT_PLUGINS or THEIA_PLUGINS env var
|
|
63
|
-
const defaultPluginsValue = process.env.THEIA_DEFAULT_PLUGINS || undefined;
|
|
64
|
-
const pluginsValue = process.env.THEIA_PLUGINS || undefined;
|
|
65
|
-
// check the `--plugins` CLI option
|
|
66
|
-
const defaultPluginsValueViaCli = this.cliContribution.localDir();
|
|
67
|
-
this.logger.debug('Found the list of default plugins ID on env:', defaultPluginsValue);
|
|
68
|
-
this.logger.debug('Found the list of plugins ID on env:', pluginsValue);
|
|
69
|
-
this.logger.debug('Found the list of default plugins ID from CLI:', defaultPluginsValueViaCli);
|
|
70
|
-
// transform it to array
|
|
71
|
-
const defaultPluginIdList = defaultPluginsValue ? defaultPluginsValue.split(',') : [];
|
|
72
|
-
const pluginIdList = pluginsValue ? pluginsValue.split(',') : [];
|
|
73
|
-
const systemEntries = defaultPluginIdList.concat(pluginIdList).concat(defaultPluginsValueViaCli ? defaultPluginsValueViaCli.split(',') : []);
|
|
74
|
-
const userEntries = [];
|
|
75
|
-
const context = { userEntries, systemEntries };
|
|
76
|
-
for (const contribution of this.participants.getContributions()) {
|
|
77
|
-
if (contribution.onWillStart) {
|
|
78
|
-
await contribution.onWillStart(context);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
const deployPlugins = this.measure('deployPlugins');
|
|
82
|
-
const unresolvedUserEntries = context.userEntries.map(id => ({
|
|
83
|
-
id,
|
|
84
|
-
type: plugin_protocol_1.PluginType.User
|
|
85
|
-
}));
|
|
86
|
-
const unresolvedSystemEntries = context.systemEntries.map(id => ({
|
|
87
|
-
id,
|
|
88
|
-
type: plugin_protocol_1.PluginType.System
|
|
89
|
-
}));
|
|
90
|
-
const plugins = await this.resolvePlugins([...unresolvedUserEntries, ...unresolvedSystemEntries]);
|
|
91
|
-
deployPlugins.log('Resolve plugins list');
|
|
92
|
-
await this.deployPlugins(plugins);
|
|
93
|
-
deployPlugins.log('Deploy plugins list');
|
|
94
|
-
}
|
|
95
|
-
async uninstall(pluginId) {
|
|
96
|
-
await this.pluginDeployerHandler.uninstallPlugin(pluginId);
|
|
97
|
-
}
|
|
98
|
-
async undeploy(pluginId) {
|
|
99
|
-
if (await this.pluginDeployerHandler.undeployPlugin(pluginId)) {
|
|
100
|
-
this.onDidDeployEmitter.fire();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
async deploy(plugin, options) {
|
|
104
|
-
const deploy = this.measure('deploy');
|
|
105
|
-
const numDeployedPlugins = await this.deployMultipleEntries([plugin], options);
|
|
106
|
-
deploy.log(`Deploy plugin ${plugin.id}`);
|
|
107
|
-
return numDeployedPlugins;
|
|
108
|
-
}
|
|
109
|
-
async deployMultipleEntries(plugins, options) {
|
|
110
|
-
const pluginsToDeploy = await this.resolvePlugins(plugins, options);
|
|
111
|
-
return this.deployPlugins(pluginsToDeploy);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Resolves plugins for the given type.
|
|
115
|
-
*
|
|
116
|
-
* Only call it a single time before triggering a single deploy to prevent re-resolving of extension dependencies, i.e.
|
|
117
|
-
* ```ts
|
|
118
|
-
* const deployer: PluginDeployer;
|
|
119
|
-
* deployer.deployPlugins(await deployer.resolvePlugins(allPluginEntries));
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
async resolvePlugins(plugins, options) {
|
|
123
|
-
const visited = new Set();
|
|
124
|
-
const hasBeenVisited = (id) => visited.has(id) || (visited.add(id), false);
|
|
125
|
-
const pluginsToDeploy = new Map();
|
|
126
|
-
const unversionedIdsHandled = new Map();
|
|
127
|
-
const queue = [...plugins];
|
|
128
|
-
while (queue.length) {
|
|
129
|
-
const pendingDependencies = [];
|
|
130
|
-
await Promise.all(queue.map(async (entry) => {
|
|
131
|
-
var _a, _b;
|
|
132
|
-
if (hasBeenVisited(entry.id)) {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const type = (_a = entry.type) !== null && _a !== void 0 ? _a : plugin_protocol_1.PluginType.System;
|
|
136
|
-
try {
|
|
137
|
-
const pluginDeployerEntries = await this.resolveAndHandle(entry.id, type, options);
|
|
138
|
-
for (const deployerEntry of pluginDeployerEntries) {
|
|
139
|
-
const pluginData = await this.pluginDeployerHandler.getPluginDependencies(deployerEntry);
|
|
140
|
-
const versionedId = pluginData && plugin_protocol_1.PluginIdentifiers.componentsToVersionedId(pluginData.metadata.model);
|
|
141
|
-
const unversionedId = versionedId && plugin_protocol_1.PluginIdentifiers.componentsToUnversionedId(pluginData.metadata.model);
|
|
142
|
-
if (unversionedId && !pluginsToDeploy.has(versionedId)) {
|
|
143
|
-
pluginsToDeploy.set(versionedId, deployerEntry);
|
|
144
|
-
if (pluginData.mapping) {
|
|
145
|
-
pendingDependencies.push({ dependencies: pluginData.mapping, type });
|
|
146
|
-
}
|
|
147
|
-
const otherVersions = (_b = unversionedIdsHandled.get(unversionedId)) !== null && _b !== void 0 ? _b : [];
|
|
148
|
-
otherVersions.push(pluginData.metadata.model.version);
|
|
149
|
-
if (otherVersions.length === 1) {
|
|
150
|
-
unversionedIdsHandled.set(unversionedId, otherVersions);
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
this.findBestVersion(unversionedId, otherVersions, pluginsToDeploy);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (e) {
|
|
159
|
-
console.error(`Failed to resolve plugins from '${entry.id}'`, e);
|
|
160
|
-
}
|
|
161
|
-
}));
|
|
162
|
-
queue.length = 0;
|
|
163
|
-
for (const { dependencies, type } of pendingDependencies) {
|
|
164
|
-
for (const [dependency, deployableDependency] of dependencies) {
|
|
165
|
-
if (!unversionedIdsHandled.has(dependency)) {
|
|
166
|
-
queue.push({
|
|
167
|
-
id: deployableDependency,
|
|
168
|
-
type
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return [...pluginsToDeploy.values()];
|
|
175
|
-
}
|
|
176
|
-
async resolveAndHandle(id, type, options) {
|
|
177
|
-
const entries = await this.resolvePlugin(id, type, options);
|
|
178
|
-
await this.applyFileHandlers(entries);
|
|
179
|
-
await this.applyDirectoryFileHandlers(entries);
|
|
180
|
-
return entries;
|
|
181
|
-
}
|
|
182
|
-
findBestVersion(unversionedId, versions, knownPlugins) {
|
|
183
|
-
// If left better, return negative. Then best is index 0.
|
|
184
|
-
versions.map(version => ({ version, plugin: knownPlugins.get(plugin_protocol_1.PluginIdentifiers.idAndVersionToVersionedId({ version, id: unversionedId })) }))
|
|
185
|
-
.sort((left, right) => {
|
|
186
|
-
const leftPlugin = left.plugin;
|
|
187
|
-
const rightPlugin = right.plugin;
|
|
188
|
-
if (!leftPlugin && !rightPlugin) {
|
|
189
|
-
return 0;
|
|
190
|
-
}
|
|
191
|
-
if (!rightPlugin) {
|
|
192
|
-
return -1;
|
|
193
|
-
}
|
|
194
|
-
if (!leftPlugin) {
|
|
195
|
-
return 1;
|
|
196
|
-
}
|
|
197
|
-
if (leftPlugin.type === plugin_protocol_1.PluginType.System && rightPlugin.type === plugin_protocol_1.PluginType.User) {
|
|
198
|
-
return -1;
|
|
199
|
-
}
|
|
200
|
-
if (leftPlugin.type === plugin_protocol_1.PluginType.User && rightPlugin.type === plugin_protocol_1.PluginType.System) {
|
|
201
|
-
return 1;
|
|
202
|
-
}
|
|
203
|
-
if (semver.gtr(left.version, right.version)) {
|
|
204
|
-
return -1;
|
|
205
|
-
}
|
|
206
|
-
return 1;
|
|
207
|
-
}).forEach((versionedEntry, index) => {
|
|
208
|
-
var _a;
|
|
209
|
-
if (index !== 0) {
|
|
210
|
-
// Mark as not accepted to prevent deployment of all but the winner.
|
|
211
|
-
(_a = versionedEntry.plugin) === null || _a === void 0 ? void 0 : _a.accept();
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* deploy all plugins that have been accepted
|
|
217
|
-
*/
|
|
218
|
-
async deployPlugins(pluginsToDeploy) {
|
|
219
|
-
const acceptedPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted());
|
|
220
|
-
const acceptedFrontendPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted(plugin_protocol_1.PluginDeployerEntryType.FRONTEND));
|
|
221
|
-
const acceptedBackendPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted(plugin_protocol_1.PluginDeployerEntryType.BACKEND));
|
|
222
|
-
this.logger.debug('the accepted plugins are', acceptedPlugins);
|
|
223
|
-
this.logger.debug('the acceptedFrontendPlugins plugins are', acceptedFrontendPlugins);
|
|
224
|
-
this.logger.debug('the acceptedBackendPlugins plugins are', acceptedBackendPlugins);
|
|
225
|
-
acceptedPlugins.forEach(plugin => {
|
|
226
|
-
this.logger.debug('will deploy plugin', plugin.id(), 'with changes', JSON.stringify(plugin.getChanges()), 'and this plugin has been resolved by', plugin.resolvedBy());
|
|
227
|
-
});
|
|
228
|
-
// local path to launch
|
|
229
|
-
const pluginPaths = acceptedBackendPlugins.map(pluginEntry => pluginEntry.path());
|
|
230
|
-
this.logger.debug('local path to deploy on remote instance', pluginPaths);
|
|
231
|
-
const deployments = await Promise.all([
|
|
232
|
-
// start the backend plugins
|
|
233
|
-
this.pluginDeployerHandler.deployBackendPlugins(acceptedBackendPlugins),
|
|
234
|
-
this.pluginDeployerHandler.deployFrontendPlugins(acceptedFrontendPlugins)
|
|
235
|
-
]);
|
|
236
|
-
this.onDidDeployEmitter.fire(undefined);
|
|
237
|
-
return deployments.reduce((accumulated, current) => accumulated += current !== null && current !== void 0 ? current : 0, 0);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* If there are some single files, try to see if we can work on these files (like unpacking it, etc)
|
|
241
|
-
*/
|
|
242
|
-
async applyFileHandlers(pluginDeployerEntries) {
|
|
243
|
-
const waitPromises = [];
|
|
244
|
-
pluginDeployerEntries.filter(pluginDeployerEntry => pluginDeployerEntry.isResolved()).map(pluginDeployerEntry => {
|
|
245
|
-
this.pluginDeployerFileHandlers.map(pluginFileHandler => {
|
|
246
|
-
const proxyPluginDeployerEntry = new plugin_deployer_proxy_entry_impl_1.ProxyPluginDeployerEntry(pluginFileHandler, (pluginDeployerEntry));
|
|
247
|
-
if (pluginFileHandler.accept(proxyPluginDeployerEntry)) {
|
|
248
|
-
const pluginDeployerFileHandlerContext = new plugin_deployer_file_handler_context_impl_1.PluginDeployerFileHandlerContextImpl(proxyPluginDeployerEntry);
|
|
249
|
-
const promise = pluginFileHandler.handle(pluginDeployerFileHandlerContext);
|
|
250
|
-
waitPromises.push(promise);
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
});
|
|
254
|
-
return Promise.all(waitPromises);
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Check for all registered directories to see if there are some plugins that can be accepted to be deployed.
|
|
258
|
-
*/
|
|
259
|
-
async applyDirectoryFileHandlers(pluginDeployerEntries) {
|
|
260
|
-
const waitPromises = [];
|
|
261
|
-
pluginDeployerEntries.filter(pluginDeployerEntry => pluginDeployerEntry.isResolved()).map(pluginDeployerEntry => {
|
|
262
|
-
this.pluginDeployerDirectoryHandlers.map(pluginDirectoryHandler => {
|
|
263
|
-
const proxyPluginDeployerEntry = new plugin_deployer_proxy_entry_impl_1.ProxyPluginDeployerEntry(pluginDirectoryHandler, (pluginDeployerEntry));
|
|
264
|
-
if (pluginDirectoryHandler.accept(proxyPluginDeployerEntry)) {
|
|
265
|
-
const pluginDeployerDirectoryHandlerContext = new plugin_deployer_directory_handler_context_impl_1.PluginDeployerDirectoryHandlerContextImpl(proxyPluginDeployerEntry);
|
|
266
|
-
const promise = pluginDirectoryHandler.handle(pluginDeployerDirectoryHandlerContext);
|
|
267
|
-
waitPromises.push(promise);
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
return Promise.all(waitPromises);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* 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
|
|
275
|
-
*/
|
|
276
|
-
async resolvePlugin(pluginId, type = plugin_protocol_1.PluginType.System, options) {
|
|
277
|
-
const pluginDeployerEntries = [];
|
|
278
|
-
const foundPluginResolver = this.pluginResolvers.find(pluginResolver => pluginResolver.accept(pluginId));
|
|
279
|
-
// there is a resolver for the input
|
|
280
|
-
if (foundPluginResolver) {
|
|
281
|
-
// create context object
|
|
282
|
-
const context = new plugin_deployer_resolver_context_impl_1.PluginDeployerResolverContextImpl(foundPluginResolver, pluginId);
|
|
283
|
-
await foundPluginResolver.resolve(context, options);
|
|
284
|
-
context.getPlugins().forEach(entry => {
|
|
285
|
-
entry.type = type;
|
|
286
|
-
pluginDeployerEntries.push(entry);
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
// log it for now
|
|
291
|
-
this.logger.error('No plugin resolver found for the entry', pluginId);
|
|
292
|
-
const unresolvedEntry = new plugin_deployer_entry_impl_1.PluginDeployerEntryImpl(pluginId, pluginId);
|
|
293
|
-
unresolvedEntry.type = type;
|
|
294
|
-
pluginDeployerEntries.push(unresolvedEntry);
|
|
295
|
-
}
|
|
296
|
-
return pluginDeployerEntries;
|
|
297
|
-
}
|
|
298
|
-
measure(name) {
|
|
299
|
-
return this.stopwatch.start(name);
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
__decorate([
|
|
303
|
-
(0, inversify_1.inject)(core_1.ILogger),
|
|
304
|
-
__metadata("design:type", Object)
|
|
305
|
-
], PluginDeployerImpl.prototype, "logger", void 0);
|
|
306
|
-
__decorate([
|
|
307
|
-
(0, inversify_1.inject)(plugin_protocol_1.PluginDeployerHandler),
|
|
308
|
-
__metadata("design:type", Object)
|
|
309
|
-
], PluginDeployerImpl.prototype, "pluginDeployerHandler", void 0);
|
|
310
|
-
__decorate([
|
|
311
|
-
(0, inversify_1.inject)(plugin_cli_contribution_1.PluginCliContribution),
|
|
312
|
-
__metadata("design:type", plugin_cli_contribution_1.PluginCliContribution)
|
|
313
|
-
], PluginDeployerImpl.prototype, "cliContribution", void 0);
|
|
314
|
-
__decorate([
|
|
315
|
-
(0, inversify_1.inject)(common_1.Stopwatch),
|
|
316
|
-
__metadata("design:type", common_1.Stopwatch)
|
|
317
|
-
], PluginDeployerImpl.prototype, "stopwatch", void 0);
|
|
318
|
-
__decorate([
|
|
319
|
-
(0, inversify_1.optional)(),
|
|
320
|
-
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerResolver),
|
|
321
|
-
__metadata("design:type", Array)
|
|
322
|
-
], PluginDeployerImpl.prototype, "pluginResolvers", void 0);
|
|
323
|
-
__decorate([
|
|
324
|
-
(0, inversify_1.optional)(),
|
|
325
|
-
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerFileHandler),
|
|
326
|
-
__metadata("design:type", Array)
|
|
327
|
-
], PluginDeployerImpl.prototype, "pluginDeployerFileHandlers", void 0);
|
|
328
|
-
__decorate([
|
|
329
|
-
(0, inversify_1.optional)(),
|
|
330
|
-
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerDirectoryHandler),
|
|
331
|
-
__metadata("design:type", Array)
|
|
332
|
-
], PluginDeployerImpl.prototype, "pluginDeployerDirectoryHandlers", void 0);
|
|
333
|
-
__decorate([
|
|
334
|
-
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
335
|
-
(0, inversify_1.named)(plugin_protocol_1.PluginDeployerParticipant),
|
|
336
|
-
__metadata("design:type", Object)
|
|
337
|
-
], PluginDeployerImpl.prototype, "participants", void 0);
|
|
338
|
-
PluginDeployerImpl = __decorate([
|
|
339
|
-
(0, inversify_1.injectable)()
|
|
340
|
-
], PluginDeployerImpl);
|
|
341
|
-
exports.PluginDeployerImpl = PluginDeployerImpl;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 Red Hat, Inc. and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.PluginDeployerImpl = void 0;
|
|
28
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
29
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
30
|
+
const semver = require("semver");
|
|
31
|
+
const plugin_protocol_1 = require("../../common/plugin-protocol");
|
|
32
|
+
const plugin_deployer_entry_impl_1 = require("./plugin-deployer-entry-impl");
|
|
33
|
+
const plugin_deployer_resolver_context_impl_1 = require("./plugin-deployer-resolver-context-impl");
|
|
34
|
+
const plugin_deployer_proxy_entry_impl_1 = require("./plugin-deployer-proxy-entry-impl");
|
|
35
|
+
const plugin_deployer_file_handler_context_impl_1 = require("./plugin-deployer-file-handler-context-impl");
|
|
36
|
+
const plugin_deployer_directory_handler_context_impl_1 = require("./plugin-deployer-directory-handler-context-impl");
|
|
37
|
+
const core_1 = require("@theia/core");
|
|
38
|
+
const plugin_cli_contribution_1 = require("./plugin-cli-contribution");
|
|
39
|
+
const common_1 = require("@theia/core/lib/common");
|
|
40
|
+
let PluginDeployerImpl = class PluginDeployerImpl {
|
|
41
|
+
constructor() {
|
|
42
|
+
this.onDidDeployEmitter = new core_1.Emitter();
|
|
43
|
+
this.onDidDeploy = this.onDidDeployEmitter.event;
|
|
44
|
+
}
|
|
45
|
+
start() {
|
|
46
|
+
this.logger.debug('Starting the deployer with the list of resolvers', this.pluginResolvers);
|
|
47
|
+
this.doStart();
|
|
48
|
+
}
|
|
49
|
+
async initResolvers() {
|
|
50
|
+
// call init on each resolver
|
|
51
|
+
const pluginDeployerResolverInit = new plugin_deployer_resolver_context_impl_1.PluginDeployerResolverInitImpl();
|
|
52
|
+
const promises = this.pluginResolvers.map(async (pluginResolver) => {
|
|
53
|
+
if (pluginResolver.init) {
|
|
54
|
+
pluginResolver.init(pluginDeployerResolverInit);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return Promise.all(promises);
|
|
58
|
+
}
|
|
59
|
+
async doStart() {
|
|
60
|
+
// init resolvers
|
|
61
|
+
await this.initResolvers();
|
|
62
|
+
// check THEIA_DEFAULT_PLUGINS or THEIA_PLUGINS env var
|
|
63
|
+
const defaultPluginsValue = process.env.THEIA_DEFAULT_PLUGINS || undefined;
|
|
64
|
+
const pluginsValue = process.env.THEIA_PLUGINS || undefined;
|
|
65
|
+
// check the `--plugins` CLI option
|
|
66
|
+
const defaultPluginsValueViaCli = this.cliContribution.localDir();
|
|
67
|
+
this.logger.debug('Found the list of default plugins ID on env:', defaultPluginsValue);
|
|
68
|
+
this.logger.debug('Found the list of plugins ID on env:', pluginsValue);
|
|
69
|
+
this.logger.debug('Found the list of default plugins ID from CLI:', defaultPluginsValueViaCli);
|
|
70
|
+
// transform it to array
|
|
71
|
+
const defaultPluginIdList = defaultPluginsValue ? defaultPluginsValue.split(',') : [];
|
|
72
|
+
const pluginIdList = pluginsValue ? pluginsValue.split(',') : [];
|
|
73
|
+
const systemEntries = defaultPluginIdList.concat(pluginIdList).concat(defaultPluginsValueViaCli ? defaultPluginsValueViaCli.split(',') : []);
|
|
74
|
+
const userEntries = [];
|
|
75
|
+
const context = { userEntries, systemEntries };
|
|
76
|
+
for (const contribution of this.participants.getContributions()) {
|
|
77
|
+
if (contribution.onWillStart) {
|
|
78
|
+
await contribution.onWillStart(context);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const deployPlugins = this.measure('deployPlugins');
|
|
82
|
+
const unresolvedUserEntries = context.userEntries.map(id => ({
|
|
83
|
+
id,
|
|
84
|
+
type: plugin_protocol_1.PluginType.User
|
|
85
|
+
}));
|
|
86
|
+
const unresolvedSystemEntries = context.systemEntries.map(id => ({
|
|
87
|
+
id,
|
|
88
|
+
type: plugin_protocol_1.PluginType.System
|
|
89
|
+
}));
|
|
90
|
+
const plugins = await this.resolvePlugins([...unresolvedUserEntries, ...unresolvedSystemEntries]);
|
|
91
|
+
deployPlugins.log('Resolve plugins list');
|
|
92
|
+
await this.deployPlugins(plugins);
|
|
93
|
+
deployPlugins.log('Deploy plugins list');
|
|
94
|
+
}
|
|
95
|
+
async uninstall(pluginId) {
|
|
96
|
+
await this.pluginDeployerHandler.uninstallPlugin(pluginId);
|
|
97
|
+
}
|
|
98
|
+
async undeploy(pluginId) {
|
|
99
|
+
if (await this.pluginDeployerHandler.undeployPlugin(pluginId)) {
|
|
100
|
+
this.onDidDeployEmitter.fire();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async deploy(plugin, options) {
|
|
104
|
+
const deploy = this.measure('deploy');
|
|
105
|
+
const numDeployedPlugins = await this.deployMultipleEntries([plugin], options);
|
|
106
|
+
deploy.log(`Deploy plugin ${plugin.id}`);
|
|
107
|
+
return numDeployedPlugins;
|
|
108
|
+
}
|
|
109
|
+
async deployMultipleEntries(plugins, options) {
|
|
110
|
+
const pluginsToDeploy = await this.resolvePlugins(plugins, options);
|
|
111
|
+
return this.deployPlugins(pluginsToDeploy);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolves plugins for the given type.
|
|
115
|
+
*
|
|
116
|
+
* Only call it a single time before triggering a single deploy to prevent re-resolving of extension dependencies, i.e.
|
|
117
|
+
* ```ts
|
|
118
|
+
* const deployer: PluginDeployer;
|
|
119
|
+
* deployer.deployPlugins(await deployer.resolvePlugins(allPluginEntries));
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
async resolvePlugins(plugins, options) {
|
|
123
|
+
const visited = new Set();
|
|
124
|
+
const hasBeenVisited = (id) => visited.has(id) || (visited.add(id), false);
|
|
125
|
+
const pluginsToDeploy = new Map();
|
|
126
|
+
const unversionedIdsHandled = new Map();
|
|
127
|
+
const queue = [...plugins];
|
|
128
|
+
while (queue.length) {
|
|
129
|
+
const pendingDependencies = [];
|
|
130
|
+
await Promise.all(queue.map(async (entry) => {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
if (hasBeenVisited(entry.id)) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const type = (_a = entry.type) !== null && _a !== void 0 ? _a : plugin_protocol_1.PluginType.System;
|
|
136
|
+
try {
|
|
137
|
+
const pluginDeployerEntries = await this.resolveAndHandle(entry.id, type, options);
|
|
138
|
+
for (const deployerEntry of pluginDeployerEntries) {
|
|
139
|
+
const pluginData = await this.pluginDeployerHandler.getPluginDependencies(deployerEntry);
|
|
140
|
+
const versionedId = pluginData && plugin_protocol_1.PluginIdentifiers.componentsToVersionedId(pluginData.metadata.model);
|
|
141
|
+
const unversionedId = versionedId && plugin_protocol_1.PluginIdentifiers.componentsToUnversionedId(pluginData.metadata.model);
|
|
142
|
+
if (unversionedId && !pluginsToDeploy.has(versionedId)) {
|
|
143
|
+
pluginsToDeploy.set(versionedId, deployerEntry);
|
|
144
|
+
if (pluginData.mapping) {
|
|
145
|
+
pendingDependencies.push({ dependencies: pluginData.mapping, type });
|
|
146
|
+
}
|
|
147
|
+
const otherVersions = (_b = unversionedIdsHandled.get(unversionedId)) !== null && _b !== void 0 ? _b : [];
|
|
148
|
+
otherVersions.push(pluginData.metadata.model.version);
|
|
149
|
+
if (otherVersions.length === 1) {
|
|
150
|
+
unversionedIdsHandled.set(unversionedId, otherVersions);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.findBestVersion(unversionedId, otherVersions, pluginsToDeploy);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
console.error(`Failed to resolve plugins from '${entry.id}'`, e);
|
|
160
|
+
}
|
|
161
|
+
}));
|
|
162
|
+
queue.length = 0;
|
|
163
|
+
for (const { dependencies, type } of pendingDependencies) {
|
|
164
|
+
for (const [dependency, deployableDependency] of dependencies) {
|
|
165
|
+
if (!unversionedIdsHandled.has(dependency)) {
|
|
166
|
+
queue.push({
|
|
167
|
+
id: deployableDependency,
|
|
168
|
+
type
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return [...pluginsToDeploy.values()];
|
|
175
|
+
}
|
|
176
|
+
async resolveAndHandle(id, type, options) {
|
|
177
|
+
const entries = await this.resolvePlugin(id, type, options);
|
|
178
|
+
await this.applyFileHandlers(entries);
|
|
179
|
+
await this.applyDirectoryFileHandlers(entries);
|
|
180
|
+
return entries;
|
|
181
|
+
}
|
|
182
|
+
findBestVersion(unversionedId, versions, knownPlugins) {
|
|
183
|
+
// If left better, return negative. Then best is index 0.
|
|
184
|
+
versions.map(version => ({ version, plugin: knownPlugins.get(plugin_protocol_1.PluginIdentifiers.idAndVersionToVersionedId({ version, id: unversionedId })) }))
|
|
185
|
+
.sort((left, right) => {
|
|
186
|
+
const leftPlugin = left.plugin;
|
|
187
|
+
const rightPlugin = right.plugin;
|
|
188
|
+
if (!leftPlugin && !rightPlugin) {
|
|
189
|
+
return 0;
|
|
190
|
+
}
|
|
191
|
+
if (!rightPlugin) {
|
|
192
|
+
return -1;
|
|
193
|
+
}
|
|
194
|
+
if (!leftPlugin) {
|
|
195
|
+
return 1;
|
|
196
|
+
}
|
|
197
|
+
if (leftPlugin.type === plugin_protocol_1.PluginType.System && rightPlugin.type === plugin_protocol_1.PluginType.User) {
|
|
198
|
+
return -1;
|
|
199
|
+
}
|
|
200
|
+
if (leftPlugin.type === plugin_protocol_1.PluginType.User && rightPlugin.type === plugin_protocol_1.PluginType.System) {
|
|
201
|
+
return 1;
|
|
202
|
+
}
|
|
203
|
+
if (semver.gtr(left.version, right.version)) {
|
|
204
|
+
return -1;
|
|
205
|
+
}
|
|
206
|
+
return 1;
|
|
207
|
+
}).forEach((versionedEntry, index) => {
|
|
208
|
+
var _a;
|
|
209
|
+
if (index !== 0) {
|
|
210
|
+
// Mark as not accepted to prevent deployment of all but the winner.
|
|
211
|
+
(_a = versionedEntry.plugin) === null || _a === void 0 ? void 0 : _a.accept();
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* deploy all plugins that have been accepted
|
|
217
|
+
*/
|
|
218
|
+
async deployPlugins(pluginsToDeploy) {
|
|
219
|
+
const acceptedPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted());
|
|
220
|
+
const acceptedFrontendPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted(plugin_protocol_1.PluginDeployerEntryType.FRONTEND));
|
|
221
|
+
const acceptedBackendPlugins = pluginsToDeploy.filter(pluginDeployerEntry => pluginDeployerEntry.isAccepted(plugin_protocol_1.PluginDeployerEntryType.BACKEND));
|
|
222
|
+
this.logger.debug('the accepted plugins are', acceptedPlugins);
|
|
223
|
+
this.logger.debug('the acceptedFrontendPlugins plugins are', acceptedFrontendPlugins);
|
|
224
|
+
this.logger.debug('the acceptedBackendPlugins plugins are', acceptedBackendPlugins);
|
|
225
|
+
acceptedPlugins.forEach(plugin => {
|
|
226
|
+
this.logger.debug('will deploy plugin', plugin.id(), 'with changes', JSON.stringify(plugin.getChanges()), 'and this plugin has been resolved by', plugin.resolvedBy());
|
|
227
|
+
});
|
|
228
|
+
// local path to launch
|
|
229
|
+
const pluginPaths = acceptedBackendPlugins.map(pluginEntry => pluginEntry.path());
|
|
230
|
+
this.logger.debug('local path to deploy on remote instance', pluginPaths);
|
|
231
|
+
const deployments = await Promise.all([
|
|
232
|
+
// start the backend plugins
|
|
233
|
+
this.pluginDeployerHandler.deployBackendPlugins(acceptedBackendPlugins),
|
|
234
|
+
this.pluginDeployerHandler.deployFrontendPlugins(acceptedFrontendPlugins)
|
|
235
|
+
]);
|
|
236
|
+
this.onDidDeployEmitter.fire(undefined);
|
|
237
|
+
return deployments.reduce((accumulated, current) => accumulated += current !== null && current !== void 0 ? current : 0, 0);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* If there are some single files, try to see if we can work on these files (like unpacking it, etc)
|
|
241
|
+
*/
|
|
242
|
+
async applyFileHandlers(pluginDeployerEntries) {
|
|
243
|
+
const waitPromises = [];
|
|
244
|
+
pluginDeployerEntries.filter(pluginDeployerEntry => pluginDeployerEntry.isResolved()).map(pluginDeployerEntry => {
|
|
245
|
+
this.pluginDeployerFileHandlers.map(pluginFileHandler => {
|
|
246
|
+
const proxyPluginDeployerEntry = new plugin_deployer_proxy_entry_impl_1.ProxyPluginDeployerEntry(pluginFileHandler, (pluginDeployerEntry));
|
|
247
|
+
if (pluginFileHandler.accept(proxyPluginDeployerEntry)) {
|
|
248
|
+
const pluginDeployerFileHandlerContext = new plugin_deployer_file_handler_context_impl_1.PluginDeployerFileHandlerContextImpl(proxyPluginDeployerEntry);
|
|
249
|
+
const promise = pluginFileHandler.handle(pluginDeployerFileHandlerContext);
|
|
250
|
+
waitPromises.push(promise);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
return Promise.all(waitPromises);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Check for all registered directories to see if there are some plugins that can be accepted to be deployed.
|
|
258
|
+
*/
|
|
259
|
+
async applyDirectoryFileHandlers(pluginDeployerEntries) {
|
|
260
|
+
const waitPromises = [];
|
|
261
|
+
pluginDeployerEntries.filter(pluginDeployerEntry => pluginDeployerEntry.isResolved()).map(pluginDeployerEntry => {
|
|
262
|
+
this.pluginDeployerDirectoryHandlers.map(pluginDirectoryHandler => {
|
|
263
|
+
const proxyPluginDeployerEntry = new plugin_deployer_proxy_entry_impl_1.ProxyPluginDeployerEntry(pluginDirectoryHandler, (pluginDeployerEntry));
|
|
264
|
+
if (pluginDirectoryHandler.accept(proxyPluginDeployerEntry)) {
|
|
265
|
+
const pluginDeployerDirectoryHandlerContext = new plugin_deployer_directory_handler_context_impl_1.PluginDeployerDirectoryHandlerContextImpl(proxyPluginDeployerEntry);
|
|
266
|
+
const promise = pluginDirectoryHandler.handle(pluginDeployerDirectoryHandlerContext);
|
|
267
|
+
waitPromises.push(promise);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
return Promise.all(waitPromises);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* 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
|
|
275
|
+
*/
|
|
276
|
+
async resolvePlugin(pluginId, type = plugin_protocol_1.PluginType.System, options) {
|
|
277
|
+
const pluginDeployerEntries = [];
|
|
278
|
+
const foundPluginResolver = this.pluginResolvers.find(pluginResolver => pluginResolver.accept(pluginId));
|
|
279
|
+
// there is a resolver for the input
|
|
280
|
+
if (foundPluginResolver) {
|
|
281
|
+
// create context object
|
|
282
|
+
const context = new plugin_deployer_resolver_context_impl_1.PluginDeployerResolverContextImpl(foundPluginResolver, pluginId);
|
|
283
|
+
await foundPluginResolver.resolve(context, options);
|
|
284
|
+
context.getPlugins().forEach(entry => {
|
|
285
|
+
entry.type = type;
|
|
286
|
+
pluginDeployerEntries.push(entry);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
// log it for now
|
|
291
|
+
this.logger.error('No plugin resolver found for the entry', pluginId);
|
|
292
|
+
const unresolvedEntry = new plugin_deployer_entry_impl_1.PluginDeployerEntryImpl(pluginId, pluginId);
|
|
293
|
+
unresolvedEntry.type = type;
|
|
294
|
+
pluginDeployerEntries.push(unresolvedEntry);
|
|
295
|
+
}
|
|
296
|
+
return pluginDeployerEntries;
|
|
297
|
+
}
|
|
298
|
+
measure(name) {
|
|
299
|
+
return this.stopwatch.start(name);
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
__decorate([
|
|
303
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
304
|
+
__metadata("design:type", Object)
|
|
305
|
+
], PluginDeployerImpl.prototype, "logger", void 0);
|
|
306
|
+
__decorate([
|
|
307
|
+
(0, inversify_1.inject)(plugin_protocol_1.PluginDeployerHandler),
|
|
308
|
+
__metadata("design:type", Object)
|
|
309
|
+
], PluginDeployerImpl.prototype, "pluginDeployerHandler", void 0);
|
|
310
|
+
__decorate([
|
|
311
|
+
(0, inversify_1.inject)(plugin_cli_contribution_1.PluginCliContribution),
|
|
312
|
+
__metadata("design:type", plugin_cli_contribution_1.PluginCliContribution)
|
|
313
|
+
], PluginDeployerImpl.prototype, "cliContribution", void 0);
|
|
314
|
+
__decorate([
|
|
315
|
+
(0, inversify_1.inject)(common_1.Stopwatch),
|
|
316
|
+
__metadata("design:type", common_1.Stopwatch)
|
|
317
|
+
], PluginDeployerImpl.prototype, "stopwatch", void 0);
|
|
318
|
+
__decorate([
|
|
319
|
+
(0, inversify_1.optional)(),
|
|
320
|
+
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerResolver),
|
|
321
|
+
__metadata("design:type", Array)
|
|
322
|
+
], PluginDeployerImpl.prototype, "pluginResolvers", void 0);
|
|
323
|
+
__decorate([
|
|
324
|
+
(0, inversify_1.optional)(),
|
|
325
|
+
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerFileHandler),
|
|
326
|
+
__metadata("design:type", Array)
|
|
327
|
+
], PluginDeployerImpl.prototype, "pluginDeployerFileHandlers", void 0);
|
|
328
|
+
__decorate([
|
|
329
|
+
(0, inversify_1.optional)(),
|
|
330
|
+
(0, inversify_1.multiInject)(plugin_protocol_1.PluginDeployerDirectoryHandler),
|
|
331
|
+
__metadata("design:type", Array)
|
|
332
|
+
], PluginDeployerImpl.prototype, "pluginDeployerDirectoryHandlers", void 0);
|
|
333
|
+
__decorate([
|
|
334
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
335
|
+
(0, inversify_1.named)(plugin_protocol_1.PluginDeployerParticipant),
|
|
336
|
+
__metadata("design:type", Object)
|
|
337
|
+
], PluginDeployerImpl.prototype, "participants", void 0);
|
|
338
|
+
PluginDeployerImpl = __decorate([
|
|
339
|
+
(0, inversify_1.injectable)()
|
|
340
|
+
], PluginDeployerImpl);
|
|
341
|
+
exports.PluginDeployerImpl = PluginDeployerImpl;
|
|
342
342
|
//# sourceMappingURL=plugin-deployer-impl.js.map
|