@theia/filesystem 1.77.0-next.99 → 1.78.0-next.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.
- package/lib/browser/breadcrumbs/filepath-breadcrumb.js +4 -8
- package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -1
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +1 -1
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -1
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +18 -25
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -1
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +5 -5
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -1
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +27 -33
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -1
- package/lib/browser/download/file-download-command-contribution.d.ts +1 -1
- package/lib/browser/download/file-download-command-contribution.d.ts.map +1 -1
- package/lib/browser/download/file-download-command-contribution.js +28 -33
- package/lib/browser/download/file-download-command-contribution.js.map +1 -1
- package/lib/browser/download/file-download-frontend-module.js +8 -10
- package/lib/browser/download/file-download-frontend-module.js.map +1 -1
- package/lib/browser/download/file-download-service.d.ts +1 -1
- package/lib/browser/download/file-download-service.d.ts.map +1 -1
- package/lib/browser/download/file-download-service.js +19 -24
- package/lib/browser/download/file-download-service.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-container.d.ts +1 -1
- package/lib/browser/file-dialog/file-dialog-container.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-container.js +25 -30
- package/lib/browser/file-dialog/file-dialog-container.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +1 -1
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +13 -21
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-model.d.ts +2 -2
- package/lib/browser/file-dialog/file-dialog-model.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-model.js +20 -27
- package/lib/browser/file-dialog/file-dialog-model.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-module.js +21 -23
- package/lib/browser/file-dialog/file-dialog-module.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-service.d.ts +4 -4
- package/lib/browser/file-dialog/file-dialog-service.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-service.js +29 -38
- package/lib/browser/file-dialog/file-dialog-service.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +1 -1
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +16 -21
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.spec.js +9 -11
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.spec.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-tree.d.ts +2 -2
- package/lib/browser/file-dialog/file-dialog-tree.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-tree.js +8 -11
- package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog-widget.d.ts +2 -2
- package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog-widget.js +18 -23
- package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -1
- package/lib/browser/file-dialog/file-dialog.d.ts +6 -6
- package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -1
- package/lib/browser/file-dialog/file-dialog.js +114 -132
- package/lib/browser/file-dialog/file-dialog.js.map +1 -1
- package/lib/browser/file-dialog/index.d.ts +4 -4
- package/lib/browser/file-dialog/index.d.ts.map +1 -1
- package/lib/browser/file-dialog/index.js +4 -7
- package/lib/browser/file-dialog/index.js.map +1 -1
- package/lib/browser/file-resource.d.ts +2 -2
- package/lib/browser/file-resource.d.ts.map +1 -1
- package/lib/browser/file-resource.js +64 -71
- package/lib/browser/file-resource.js.map +1 -1
- package/lib/browser/file-resource.spec.js +39 -42
- package/lib/browser/file-resource.spec.js.map +1 -1
- package/lib/browser/file-selection.d.ts +1 -1
- package/lib/browser/file-selection.d.ts.map +1 -1
- package/lib/browser/file-selection.js +7 -10
- package/lib/browser/file-selection.js.map +1 -1
- package/lib/browser/file-service-activation.spec.js +14 -16
- package/lib/browser/file-service-activation.spec.js.map +1 -1
- package/lib/browser/file-service-copy.spec.js +44 -47
- package/lib/browser/file-service-copy.spec.js.map +1 -1
- package/lib/browser/file-service-watcher.spec.js +199 -202
- package/lib/browser/file-service-watcher.spec.js.map +1 -1
- package/lib/browser/file-service.d.ts +3 -3
- package/lib/browser/file-service.d.ts.map +1 -1
- package/lib/browser/file-service.js +166 -181
- package/lib/browser/file-service.js.map +1 -1
- package/lib/browser/file-tree/file-tree-container.js +12 -15
- package/lib/browser/file-tree/file-tree-container.js.map +1 -1
- package/lib/browser/file-tree/file-tree-decorator-adapter.js +23 -31
- package/lib/browser/file-tree/file-tree-decorator-adapter.js.map +1 -1
- package/lib/browser/file-tree/file-tree-decorator-adapter.spec.js +26 -29
- package/lib/browser/file-tree/file-tree-decorator-adapter.spec.js.map +1 -1
- package/lib/browser/file-tree/file-tree-label-provider.d.ts +1 -1
- package/lib/browser/file-tree/file-tree-label-provider.d.ts.map +1 -1
- package/lib/browser/file-tree/file-tree-label-provider.js +13 -18
- package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -1
- package/lib/browser/file-tree/file-tree-model.d.ts +5 -5
- package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -1
- package/lib/browser/file-tree/file-tree-model.js +48 -52
- package/lib/browser/file-tree/file-tree-model.js.map +1 -1
- package/lib/browser/file-tree/file-tree-widget.d.ts +3 -3
- package/lib/browser/file-tree/file-tree-widget.d.ts.map +1 -1
- package/lib/browser/file-tree/file-tree-widget.js +66 -72
- package/lib/browser/file-tree/file-tree-widget.js.map +1 -1
- package/lib/browser/file-tree/file-tree.d.ts +3 -3
- package/lib/browser/file-tree/file-tree.d.ts.map +1 -1
- package/lib/browser/file-tree/file-tree.js +26 -31
- package/lib/browser/file-tree/file-tree.js.map +1 -1
- package/lib/browser/file-tree/index.d.ts +6 -6
- package/lib/browser/file-tree/index.d.ts.map +1 -1
- package/lib/browser/file-tree/index.js +6 -9
- package/lib/browser/file-tree/index.js.map +1 -1
- package/lib/browser/filesystem-frontend-contribution.d.ts +6 -6
- package/lib/browser/filesystem-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/filesystem-frontend-contribution.js +75 -90
- package/lib/browser/filesystem-frontend-contribution.js.map +1 -1
- package/lib/browser/filesystem-frontend-module.js +47 -50
- package/lib/browser/filesystem-frontend-module.js.map +1 -1
- package/lib/browser/filesystem-saveable-service.d.ts +2 -2
- package/lib/browser/filesystem-saveable-service.d.ts.map +1 -1
- package/lib/browser/filesystem-saveable-service.js +35 -44
- package/lib/browser/filesystem-saveable-service.js.map +1 -1
- package/lib/browser/filesystem-watcher-error-handler.js +13 -18
- package/lib/browser/filesystem-watcher-error-handler.js.map +1 -1
- package/lib/browser/index.d.ts +4 -4
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +4 -7
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/location/index.d.ts +2 -2
- package/lib/browser/location/index.d.ts.map +1 -1
- package/lib/browser/location/index.js +2 -5
- package/lib/browser/location/index.js.map +1 -1
- package/lib/browser/location/location-renderer.d.ts +3 -3
- package/lib/browser/location/location-renderer.d.ts.map +1 -1
- package/lib/browser/location/location-renderer.js +42 -51
- package/lib/browser/location/location-renderer.js.map +1 -1
- package/lib/browser/location/location-renderer.spec.js +61 -64
- package/lib/browser/location/location-renderer.spec.js.map +1 -1
- package/lib/browser/location/location-service.js +1 -2
- package/lib/browser/location/location-service.js.map +1 -1
- package/lib/browser/remote-file-service-contribution.d.ts +2 -2
- package/lib/browser/remote-file-service-contribution.d.ts.map +1 -1
- package/lib/browser/remote-file-service-contribution.js +8 -12
- package/lib/browser/remote-file-service-contribution.js.map +1 -1
- package/lib/browser/upload/file-upload-service-impl.d.ts +3 -3
- package/lib/browser/upload/file-upload-service-impl.d.ts.map +1 -1
- package/lib/browser/upload/file-upload-service-impl.js +55 -64
- package/lib/browser/upload/file-upload-service-impl.js.map +1 -1
- package/lib/browser/vscode-file-service-contribution.d.ts +2 -2
- package/lib/browser/vscode-file-service-contribution.d.ts.map +1 -1
- package/lib/browser/vscode-file-service-contribution.js +23 -28
- package/lib/browser/vscode-file-service-contribution.js.map +1 -1
- package/lib/browser-only/browser-only-filesystem-frontend-module.js +21 -23
- package/lib/browser-only/browser-only-filesystem-frontend-module.js.map +1 -1
- package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +1 -1
- package/lib/browser-only/browser-only-filesystem-provider-server.d.ts.map +1 -1
- package/lib/browser-only/browser-only-filesystem-provider-server.js +10 -13
- package/lib/browser-only/browser-only-filesystem-provider-server.js.map +1 -1
- package/lib/browser-only/download/file-download-command-contribution.d.ts +1 -1
- package/lib/browser-only/download/file-download-command-contribution.d.ts.map +1 -1
- package/lib/browser-only/download/file-download-command-contribution.js +14 -19
- package/lib/browser-only/download/file-download-command-contribution.js.map +1 -1
- package/lib/browser-only/download/file-download-frontend-module.js +8 -10
- package/lib/browser-only/download/file-download-frontend-module.js.map +1 -1
- package/lib/browser-only/download/file-download-service.d.ts +3 -3
- package/lib/browser-only/download/file-download-service.d.ts.map +1 -1
- package/lib/browser-only/download/file-download-service.js +26 -33
- package/lib/browser-only/download/file-download-service.js.map +1 -1
- package/lib/browser-only/file-search.d.ts.map +1 -1
- package/lib/browser-only/file-search.js +9 -15
- package/lib/browser-only/file-search.js.map +1 -1
- package/lib/browser-only/opfs-filesystem-initialization.d.ts +1 -1
- package/lib/browser-only/opfs-filesystem-initialization.d.ts.map +1 -1
- package/lib/browser-only/opfs-filesystem-initialization.js +6 -9
- package/lib/browser-only/opfs-filesystem-initialization.js.map +1 -1
- package/lib/browser-only/opfs-filesystem-provider.d.ts +2 -2
- package/lib/browser-only/opfs-filesystem-provider.d.ts.map +1 -1
- package/lib/browser-only/opfs-filesystem-provider.js +60 -68
- package/lib/browser-only/opfs-filesystem-provider.js.map +1 -1
- package/lib/browser-only/upload/file-upload-service-impl.d.ts +3 -3
- package/lib/browser-only/upload/file-upload-service-impl.d.ts.map +1 -1
- package/lib/browser-only/upload/file-upload-service-impl.js +51 -60
- package/lib/browser-only/upload/file-upload-service-impl.js.map +1 -1
- package/lib/common/delegating-file-system-provider.d.ts +1 -1
- package/lib/common/delegating-file-system-provider.d.ts.map +1 -1
- package/lib/common/delegating-file-system-provider.js +18 -22
- package/lib/common/delegating-file-system-provider.js.map +1 -1
- package/lib/common/download/file-download.js +5 -8
- package/lib/common/download/file-download.js.map +1 -1
- package/lib/common/file-upload.js +1 -4
- package/lib/common/file-upload.js.map +1 -1
- package/lib/common/files.js +38 -59
- package/lib/common/files.js.map +1 -1
- package/lib/common/files.spec.js +22 -25
- package/lib/common/files.spec.js.map +1 -1
- package/lib/common/filesystem-preferences.js +39 -44
- package/lib/common/filesystem-preferences.js.map +1 -1
- package/lib/common/filesystem-utils.d.ts +1 -1
- package/lib/common/filesystem-utils.d.ts.map +1 -1
- package/lib/common/filesystem-utils.js +2 -5
- package/lib/common/filesystem-utils.js.map +1 -1
- package/lib/common/filesystem-utils.spec.js +227 -229
- package/lib/common/filesystem-utils.spec.js.map +1 -1
- package/lib/common/filesystem-watcher-protocol.d.ts +1 -1
- package/lib/common/filesystem-watcher-protocol.d.ts.map +1 -1
- package/lib/common/filesystem-watcher-protocol.js +2 -5
- package/lib/common/filesystem-watcher-protocol.js.map +1 -1
- package/lib/common/filesystem.js +2 -5
- package/lib/common/filesystem.js.map +1 -1
- package/lib/common/index.d.ts +3 -3
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +3 -6
- package/lib/common/index.js.map +1 -1
- package/lib/common/io.d.ts +2 -2
- package/lib/common/io.d.ts.map +1 -1
- package/lib/common/io.js +10 -13
- package/lib/common/io.js.map +1 -1
- package/lib/common/remote-file-system-provider.d.ts +5 -5
- package/lib/common/remote-file-system-provider.d.ts.map +1 -1
- package/lib/common/remote-file-system-provider.js +81 -93
- package/lib/common/remote-file-system-provider.js.map +1 -1
- package/lib/common/upload/file-upload.js +1 -4
- package/lib/common/upload/file-upload.js.map +1 -1
- package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +6 -8
- package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -1
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +3 -3
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -1
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +21 -23
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -1
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.spec.js +33 -12
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.spec.js.map +1 -1
- package/lib/electron-browser/preload.js +6 -9
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +4 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -5
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +19 -18
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-module.js +6 -8
- package/lib/electron-main/electron-main-module.js.map +1 -1
- package/lib/node/archive/archive-extractor.d.ts +86 -0
- package/lib/node/archive/archive-extractor.d.ts.map +1 -0
- package/lib/node/archive/archive-extractor.js +290 -0
- package/lib/node/archive/archive-extractor.js.map +1 -0
- package/lib/node/archive/archive-extractor.spec.d.ts +2 -0
- package/lib/node/archive/archive-extractor.spec.d.ts.map +1 -0
- package/lib/node/archive/archive-extractor.spec.js +317 -0
- package/lib/node/archive/archive-extractor.spec.js.map +1 -0
- package/lib/node/archive/test/test-archives.d.ts +20 -0
- package/lib/node/archive/test/test-archives.d.ts.map +1 -0
- package/lib/node/archive/test/test-archives.js +97 -0
- package/lib/node/archive/test/test-archives.js.map +1 -0
- package/lib/node/disk-file-system-provider.d.ts +2 -2
- package/lib/node/disk-file-system-provider.d.ts.map +1 -1
- package/lib/node/disk-file-system-provider.js +111 -119
- package/lib/node/disk-file-system-provider.js.map +1 -1
- package/lib/node/disk-file-system-provider.spec.js +53 -56
- package/lib/node/disk-file-system-provider.spec.js.map +1 -1
- package/lib/node/download/directory-archiver.js +13 -16
- package/lib/node/download/directory-archiver.js.map +1 -1
- package/lib/node/download/directory-archiver.spec.js +20 -23
- package/lib/node/download/directory-archiver.spec.js.map +1 -1
- package/lib/node/download/file-download-backend-module.js +14 -16
- package/lib/node/download/file-download-backend-module.js.map +1 -1
- package/lib/node/download/file-download-cache.js +11 -15
- package/lib/node/download/file-download-cache.js.map +1 -1
- package/lib/node/download/file-download-endpoint.d.ts +1 -1
- package/lib/node/download/file-download-endpoint.d.ts.map +1 -1
- package/lib/node/download/file-download-endpoint.js +25 -31
- package/lib/node/download/file-download-endpoint.js.map +1 -1
- package/lib/node/download/file-download-handler.d.ts +2 -2
- package/lib/node/download/file-download-handler.d.ts.map +1 -1
- package/lib/node/download/file-download-handler.js +70 -76
- package/lib/node/download/file-download-handler.js.map +1 -1
- package/lib/node/download/test/mock-directory-archiver.d.ts +1 -1
- package/lib/node/download/test/mock-directory-archiver.d.ts.map +1 -1
- package/lib/node/download/test/mock-directory-archiver.js +2 -6
- package/lib/node/download/test/mock-directory-archiver.js.map +1 -1
- package/lib/node/file-change-collection.d.ts +1 -1
- package/lib/node/file-change-collection.d.ts.map +1 -1
- package/lib/node/file-change-collection.js +1 -5
- package/lib/node/file-change-collection.js.map +1 -1
- package/lib/node/file-change-collection.spec.js +5 -8
- package/lib/node/file-change-collection.spec.js.map +1 -1
- package/lib/node/filesystem-backend-module.d.ts +1 -1
- package/lib/node/filesystem-backend-module.d.ts.map +1 -1
- package/lib/node/filesystem-backend-module.js +60 -64
- package/lib/node/filesystem-backend-module.js.map +1 -1
- package/lib/node/filesystem-watcher-client.d.ts +2 -2
- package/lib/node/filesystem-watcher-client.d.ts.map +1 -1
- package/lib/node/filesystem-watcher-client.js +11 -16
- package/lib/node/filesystem-watcher-client.js.map +1 -1
- package/lib/node/filesystem-watcher-dispatcher.d.ts +1 -1
- package/lib/node/filesystem-watcher-dispatcher.d.ts.map +1 -1
- package/lib/node/filesystem-watcher-dispatcher.js +9 -13
- package/lib/node/filesystem-watcher-dispatcher.js.map +1 -1
- package/lib/node/filesystem-watcher-service-impl.d.ts +3 -3
- package/lib/node/filesystem-watcher-service-impl.d.ts.map +1 -1
- package/lib/node/filesystem-watcher-service-impl.js +7 -11
- package/lib/node/filesystem-watcher-service-impl.js.map +1 -1
- package/lib/node/filesystem-watcher-service-impl.spec.js +23 -26
- package/lib/node/filesystem-watcher-service-impl.spec.js.map +1 -1
- package/lib/node/filesystem-watcher.d.ts +1 -1
- package/lib/node/filesystem-watcher.d.ts.map +1 -1
- package/lib/node/filesystem-watcher.js +6 -11
- package/lib/node/filesystem-watcher.js.map +1 -1
- package/lib/node/nodejs-watcher/node-directory-watcher.d.ts +4 -4
- package/lib/node/nodejs-watcher/node-directory-watcher.d.ts.map +1 -1
- package/lib/node/nodejs-watcher/node-directory-watcher.js +20 -26
- package/lib/node/nodejs-watcher/node-directory-watcher.js.map +1 -1
- package/lib/node/nodejs-watcher/node-directory-watcher.spec.js +51 -54
- package/lib/node/nodejs-watcher/node-directory-watcher.spec.js.map +1 -1
- package/lib/node/nodejs-watcher/watch-request-router.d.ts +3 -3
- package/lib/node/nodejs-watcher/watch-request-router.d.ts.map +1 -1
- package/lib/node/nodejs-watcher/watch-request-router.js +8 -13
- package/lib/node/nodejs-watcher/watch-request-router.js.map +1 -1
- package/lib/node/nodejs-watcher/watcher-host.d.ts +1 -1
- package/lib/node/nodejs-watcher/watcher-host.d.ts.map +1 -1
- package/lib/node/nodejs-watcher/watcher-host.js +7 -12
- package/lib/node/nodejs-watcher/watcher-host.js.map +1 -1
- package/lib/node/parcel-watcher/index.js +6 -9
- package/lib/node/parcel-watcher/index.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts +4 -4
- package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -1
- package/lib/node/parcel-watcher/parcel-filesystem-service.js +4 -8
- package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js +23 -26
- package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-options.js +1 -4
- package/lib/node/parcel-watcher/parcel-options.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-watcher-exclude.spec.js +11 -16
- package/lib/node/parcel-watcher/parcel-watcher-exclude.spec.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-watcher-retry.spec.js +11 -16
- package/lib/node/parcel-watcher/parcel-watcher-retry.spec.js.map +1 -1
- package/lib/node/parcel-watcher/parcel-watcher.d.ts +3 -3
- package/lib/node/parcel-watcher/parcel-watcher.d.ts.map +1 -1
- package/lib/node/parcel-watcher/parcel-watcher.js +28 -32
- package/lib/node/parcel-watcher/parcel-watcher.js.map +1 -1
- package/lib/node/test/watcher-test-helper.d.ts +1 -1
- package/lib/node/test/watcher-test-helper.d.ts.map +1 -1
- package/lib/node/test/watcher-test-helper.js +5 -10
- package/lib/node/test/watcher-test-helper.js.map +1 -1
- package/lib/node/upload/node-file-upload-service.d.ts +1 -1
- package/lib/node/upload/node-file-upload-service.d.ts.map +1 -1
- package/lib/node/upload/node-file-upload-service.js +20 -25
- package/lib/node/upload/node-file-upload-service.js.map +1 -1
- package/lib/node/upload/node-file-upload-service.spec.js +21 -24
- package/lib/node/upload/node-file-upload-service.spec.js.map +1 -1
- package/package.json +21 -5
- package/src/browser/breadcrumbs/filepath-breadcrumb.ts +1 -1
- package/src/browser/breadcrumbs/filepath-breadcrumbs-container.ts +1 -1
- package/src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts +5 -5
- package/src/browser/download/file-download-command-contribution.ts +1 -1
- package/src/browser/download/file-download-frontend-module.ts +3 -3
- package/src/browser/download/file-download-service.ts +1 -1
- package/src/browser/file-dialog/file-dialog-container.ts +5 -5
- package/src/browser/file-dialog/file-dialog-hidden-files-renderer.tsx +1 -1
- package/src/browser/file-dialog/file-dialog-model.ts +2 -2
- package/src/browser/file-dialog/file-dialog-module.ts +5 -5
- package/src/browser/file-dialog/file-dialog-service.ts +4 -4
- package/src/browser/file-dialog/file-dialog-tree-filters-renderer.spec.ts +2 -2
- package/src/browser/file-dialog/file-dialog-tree-filters-renderer.tsx +1 -1
- package/src/browser/file-dialog/file-dialog-tree.ts +2 -2
- package/src/browser/file-dialog/file-dialog-widget.ts +2 -2
- package/src/browser/file-dialog/file-dialog.ts +16 -13
- package/src/browser/file-dialog/index.ts +4 -4
- package/src/browser/file-resource.spec.ts +3 -3
- package/src/browser/file-resource.ts +3 -3
- package/src/browser/file-selection.ts +1 -1
- package/src/browser/file-service-activation.spec.ts +2 -2
- package/src/browser/file-service-copy.spec.ts +2 -2
- package/src/browser/file-service-watcher.spec.ts +2 -2
- package/src/browser/file-service.ts +6 -6
- package/src/browser/file-tree/file-tree-container.ts +3 -3
- package/src/browser/file-tree/file-tree-decorator-adapter.spec.ts +1 -1
- package/src/browser/file-tree/file-tree-decorator-adapter.ts +1 -1
- package/src/browser/file-tree/file-tree-label-provider.ts +1 -1
- package/src/browser/file-tree/file-tree-model.ts +12 -6
- package/src/browser/file-tree/file-tree-widget.tsx +8 -5
- package/src/browser/file-tree/file-tree.ts +3 -3
- package/src/browser/file-tree/index.ts +6 -6
- package/src/browser/filesystem-frontend-contribution.ts +6 -6
- package/src/browser/filesystem-frontend-module.ts +14 -14
- package/src/browser/filesystem-saveable-service.ts +2 -2
- package/src/browser/index.ts +4 -4
- package/src/browser/location/index.ts +2 -2
- package/src/browser/location/location-renderer.spec.ts +3 -3
- package/src/browser/location/location-renderer.tsx +3 -3
- package/src/browser/remote-file-service-contribution.ts +2 -2
- package/src/browser/upload/file-upload-service-impl.ts +5 -5
- package/src/browser/vscode-file-service-contribution.ts +2 -2
- package/src/browser-only/browser-only-filesystem-frontend-module.ts +7 -7
- package/src/browser-only/browser-only-filesystem-provider-server.ts +1 -1
- package/src/browser-only/download/file-download-command-contribution.ts +2 -2
- package/src/browser-only/download/file-download-frontend-module.ts +3 -3
- package/src/browser-only/download/file-download-service.ts +3 -3
- package/src/browser-only/file-search.ts +2 -1
- package/src/browser-only/opfs-filesystem-initialization.ts +1 -1
- package/src/browser-only/opfs-filesystem-provider.ts +3 -3
- package/src/browser-only/upload/file-upload-service-impl.ts +4 -4
- package/src/common/delegating-file-system-provider.ts +1 -1
- package/src/common/files.spec.ts +1 -1
- package/src/common/filesystem-utils.spec.ts +2 -2
- package/src/common/filesystem-utils.ts +1 -1
- package/src/common/filesystem-watcher-protocol.ts +1 -1
- package/src/common/index.ts +3 -3
- package/src/common/io.ts +2 -2
- package/src/common/remote-file-system-provider.ts +1 -1
- package/src/electron-browser/file-dialog/electron-file-dialog-module.ts +2 -2
- package/src/electron-browser/file-dialog/electron-file-dialog-service.spec.ts +30 -3
- package/src/electron-browser/file-dialog/electron-file-dialog-service.ts +8 -6
- package/src/electron-browser/preload.ts +1 -1
- package/src/electron-common/electron-api.ts +4 -0
- package/src/electron-main/electron-api-main.ts +7 -3
- package/src/electron-main/electron-main-module.ts +1 -1
- package/src/node/archive/archive-extractor.spec.ts +359 -0
- package/src/node/archive/archive-extractor.ts +350 -0
- package/src/node/archive/test/test-archives.ts +117 -0
- package/src/node/disk-file-system-provider.spec.ts +3 -3
- package/src/node/disk-file-system-provider.ts +7 -6
- package/src/node/download/directory-archiver.spec.ts +1 -1
- package/src/node/download/file-download-backend-module.ts +4 -4
- package/src/node/download/file-download-endpoint.ts +4 -3
- package/src/node/download/file-download-handler.ts +3 -3
- package/src/node/download/test/mock-directory-archiver.ts +1 -1
- package/src/node/file-change-collection.spec.ts +2 -2
- package/src/node/file-change-collection.ts +1 -1
- package/src/node/filesystem-backend-module.ts +15 -12
- package/src/node/filesystem-watcher-client.ts +2 -2
- package/src/node/filesystem-watcher-dispatcher.ts +1 -1
- package/src/node/filesystem-watcher-service-impl.spec.ts +5 -5
- package/src/node/filesystem-watcher-service-impl.ts +4 -4
- package/src/node/filesystem-watcher.ts +1 -1
- package/src/node/nodejs-watcher/node-directory-watcher.spec.ts +5 -5
- package/src/node/nodejs-watcher/node-directory-watcher.ts +5 -5
- package/src/node/nodejs-watcher/watch-request-router.ts +4 -4
- package/src/node/nodejs-watcher/watcher-host.ts +1 -1
- package/src/node/parcel-watcher/index.ts +2 -2
- package/src/node/parcel-watcher/parcel-filesystem-service.ts +4 -4
- package/src/node/parcel-watcher/parcel-filesystem-watcher.spec.ts +2 -2
- package/src/node/parcel-watcher/parcel-watcher-exclude.spec.ts +4 -8
- package/src/node/parcel-watcher/parcel-watcher-retry.spec.ts +4 -6
- package/src/node/parcel-watcher/parcel-watcher.ts +7 -6
- package/src/node/test/watcher-test-helper.ts +1 -1
- package/src/node/upload/node-file-upload-service.spec.ts +1 -1
- package/src/node/upload/node-file-upload-service.ts +6 -6
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// *****************************************************************************
|
|
3
2
|
// Copyright (C) 2018 TypeFox and others.
|
|
4
3
|
//
|
|
@@ -14,13 +13,11 @@
|
|
|
14
13
|
//
|
|
15
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
15
|
// *****************************************************************************
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const filesystem_1 = require("../../common/filesystem");
|
|
23
|
-
const file_dialog_1 = require("../../browser/file-dialog");
|
|
16
|
+
import { __decorate } from "tslib";
|
|
17
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import { MessageService } from '@theia/core/lib/common/message-service';
|
|
19
|
+
import { FileAccess } from '../../common/filesystem.js';
|
|
20
|
+
import { DefaultFileDialogService } from '../../browser/file-dialog/index.js';
|
|
24
21
|
//
|
|
25
22
|
// We are OK to use this here because the electron backend and frontend are on the same host.
|
|
26
23
|
// If required, we can move this single service (and its module) to a dedicated Theia extension,
|
|
@@ -28,9 +25,9 @@ const file_dialog_1 = require("../../browser/file-dialog");
|
|
|
28
25
|
// solution.
|
|
29
26
|
//
|
|
30
27
|
// eslint-disable-next-line @theia/runtime-import-check
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
let ElectronFileDialogService = class ElectronFileDialogService extends
|
|
28
|
+
import { FileUri } from '@theia/core/lib/common/file-uri';
|
|
29
|
+
import '@theia/core/lib/electron-common/electron-api';
|
|
30
|
+
let ElectronFileDialogService = class ElectronFileDialogService extends DefaultFileDialogService {
|
|
34
31
|
async showOpenDialog(props, folder) {
|
|
35
32
|
if (window.electronTheiaCore.useNativeElements) {
|
|
36
33
|
const rootNode = await this.getRootNode(folder);
|
|
@@ -40,7 +37,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
40
37
|
return undefined;
|
|
41
38
|
}
|
|
42
39
|
const uris = filePaths.map(path => {
|
|
43
|
-
let uri =
|
|
40
|
+
let uri = FileUri.create(path);
|
|
44
41
|
if (props.fileScheme) {
|
|
45
42
|
uri = uri.withScheme(props.fileScheme);
|
|
46
43
|
}
|
|
@@ -62,7 +59,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
62
59
|
if (!filePath) {
|
|
63
60
|
return undefined;
|
|
64
61
|
}
|
|
65
|
-
let uri =
|
|
62
|
+
let uri = FileUri.create(filePath);
|
|
66
63
|
if (props.fileScheme) {
|
|
67
64
|
uri = uri.withScheme(props.fileScheme);
|
|
68
65
|
}
|
|
@@ -79,7 +76,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
79
76
|
}
|
|
80
77
|
async canReadWrite(uris) {
|
|
81
78
|
for (const uri of Array.isArray(uris) ? uris : [uris]) {
|
|
82
|
-
if (!(await this.fileService.access(uri,
|
|
79
|
+
if (!(await this.fileService.access(uri, FileAccess.Constants.R_OK | FileAccess.Constants.W_OK))) {
|
|
83
80
|
this.messageService.error(`Cannot access resource at ${uri.path}.`);
|
|
84
81
|
return false;
|
|
85
82
|
}
|
|
@@ -90,7 +87,7 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
90
87
|
const resources = Array.isArray(uris) ? uris : [uris];
|
|
91
88
|
const unreadableResourcePaths = [];
|
|
92
89
|
await Promise.all(resources.map(async (resource) => {
|
|
93
|
-
if (!await this.fileService.access(resource,
|
|
90
|
+
if (!await this.fileService.access(resource, FileAccess.Constants.R_OK)) {
|
|
94
91
|
unreadableResourcePaths.push(resource.path.toString());
|
|
95
92
|
}
|
|
96
93
|
}));
|
|
@@ -101,7 +98,8 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
101
98
|
}
|
|
102
99
|
toOpenDialogOptions(uri, props) {
|
|
103
100
|
const result = {
|
|
104
|
-
path:
|
|
101
|
+
path: FileUri.fsPath(uri),
|
|
102
|
+
windowName: props.targetWindow?.name
|
|
105
103
|
};
|
|
106
104
|
result.title = props.title;
|
|
107
105
|
result.buttonLabel = props.openLabel;
|
|
@@ -129,7 +127,8 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
129
127
|
uri = uri.resolve(props.inputValue);
|
|
130
128
|
}
|
|
131
129
|
const result = {
|
|
132
|
-
path:
|
|
130
|
+
path: FileUri.fsPath(uri),
|
|
131
|
+
windowName: props.targetWindow?.name
|
|
133
132
|
};
|
|
134
133
|
result.title = props.title;
|
|
135
134
|
result.buttonLabel = props.saveLabel;
|
|
@@ -145,12 +144,11 @@ let ElectronFileDialogService = class ElectronFileDialogService extends file_dia
|
|
|
145
144
|
return result;
|
|
146
145
|
}
|
|
147
146
|
};
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
(0, inversify_1.inject)(message_service_1.MessageService),
|
|
151
|
-
tslib_1.__metadata("design:type", message_service_1.MessageService)
|
|
147
|
+
__decorate([
|
|
148
|
+
inject(MessageService)
|
|
152
149
|
], ElectronFileDialogService.prototype, "messageService", void 0);
|
|
153
|
-
|
|
154
|
-
|
|
150
|
+
ElectronFileDialogService = __decorate([
|
|
151
|
+
injectable()
|
|
155
152
|
], ElectronFileDialogService);
|
|
153
|
+
export { ElectronFileDialogService };
|
|
156
154
|
//# sourceMappingURL=electron-file-dialog-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-file-dialog-service.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-file-dialog-service.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// *****************************************************************************
|
|
3
2
|
// Copyright (C) 2026 Vinay Kaushal and others.
|
|
4
3
|
//
|
|
@@ -14,35 +13,57 @@
|
|
|
14
13
|
//
|
|
15
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
15
|
// *****************************************************************************
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const electron_file_dialog_service_1 = require("./electron-file-dialog-service");
|
|
16
|
+
import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
|
|
17
|
+
let disableJSDOM = enableJSDOM();
|
|
18
|
+
import { expect } from 'chai';
|
|
19
|
+
import { FileUri } from '@theia/core/lib/common/file-uri';
|
|
20
|
+
import { ElectronFileDialogService } from './electron-file-dialog-service.js';
|
|
23
21
|
disableJSDOM();
|
|
24
|
-
class TestElectronFileDialogService extends
|
|
22
|
+
class TestElectronFileDialogService extends ElectronFileDialogService {
|
|
25
23
|
toOpenDialogOptions(uri, props) {
|
|
26
24
|
return super.toOpenDialogOptions(uri, props);
|
|
27
25
|
}
|
|
26
|
+
toSaveDialogOptions(uri, props) {
|
|
27
|
+
return super.toSaveDialogOptions(uri, props);
|
|
28
|
+
}
|
|
28
29
|
}
|
|
29
30
|
describe('ElectronFileDialogService', () => {
|
|
30
|
-
before(() => disableJSDOM =
|
|
31
|
+
before(() => disableJSDOM = enableJSDOM());
|
|
31
32
|
after(() => disableJSDOM());
|
|
32
|
-
const uri =
|
|
33
|
+
const uri = FileUri.create('/home/user');
|
|
33
34
|
const filters = { 'Theia Workspace': ['theia-workspace'] };
|
|
34
35
|
it('adds an All Files filter to the given filters', () => {
|
|
35
36
|
const options = new TestElectronFileDialogService().toOpenDialogOptions(uri, { title: 'Open', canSelectFiles: true, filters });
|
|
36
|
-
|
|
37
|
+
expect(options.filters).to.deep.equal([
|
|
37
38
|
{ name: 'Theia Workspace', extensions: ['theia-workspace'] },
|
|
38
39
|
{ name: 'All Files', extensions: ['*'] }
|
|
39
40
|
]);
|
|
40
41
|
});
|
|
41
42
|
it('omits the All Files filter if it is disabled', () => {
|
|
42
43
|
const options = new TestElectronFileDialogService().toOpenDialogOptions(uri, { title: 'Open', canSelectFiles: true, filters, disableAllFilesFilter: true });
|
|
43
|
-
|
|
44
|
+
expect(options.filters).to.deep.equal([
|
|
44
45
|
{ name: 'Theia Workspace', extensions: ['theia-workspace'] }
|
|
45
46
|
]);
|
|
46
47
|
});
|
|
48
|
+
describe('windowName forwarding', () => {
|
|
49
|
+
it('should pass windowName from targetWindow for open dialog', () => {
|
|
50
|
+
const targetWindow = { name: '123-secondaryWindow-0' };
|
|
51
|
+
const options = new TestElectronFileDialogService().toOpenDialogOptions(uri, { title: 'Open', canSelectFiles: true, targetWindow });
|
|
52
|
+
expect(options.windowName).to.equal('123-secondaryWindow-0');
|
|
53
|
+
});
|
|
54
|
+
it('should leave windowName undefined when no targetWindow is set for open dialog', () => {
|
|
55
|
+
const options = new TestElectronFileDialogService().toOpenDialogOptions(uri, { title: 'Open', canSelectFiles: true });
|
|
56
|
+
expect(options.windowName).to.be.undefined;
|
|
57
|
+
});
|
|
58
|
+
it('should pass windowName from targetWindow for save dialog', () => {
|
|
59
|
+
const targetWindow = { name: '123-secondaryWindow-0' };
|
|
60
|
+
const options = new TestElectronFileDialogService().toSaveDialogOptions(uri, { title: 'Save', targetWindow });
|
|
61
|
+
expect(options.windowName).to.equal('123-secondaryWindow-0');
|
|
62
|
+
});
|
|
63
|
+
it('should leave windowName undefined when no targetWindow is set for save dialog', () => {
|
|
64
|
+
const options = new TestElectronFileDialogService().toSaveDialogOptions(uri, { title: 'Save' });
|
|
65
|
+
expect(options.windowName).to.be.undefined;
|
|
66
|
+
});
|
|
67
|
+
});
|
|
47
68
|
});
|
|
48
69
|
//# sourceMappingURL=electron-file-dialog-service.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-file-dialog-service.spec.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-file-dialog-service.spec.js","sourceRoot":"","sources":["../../../src/electron-browser/file-dialog/electron-file-dialog-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.preload = preload;
|
|
4
1
|
// *****************************************************************************
|
|
5
2
|
// Copyright (C) 2023 STMicroelectronics and others.
|
|
6
3
|
//
|
|
@@ -16,15 +13,15 @@ exports.preload = preload;
|
|
|
16
13
|
//
|
|
17
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
18
15
|
// *****************************************************************************
|
|
19
|
-
|
|
16
|
+
import { CHANNEL_SHOW_OPEN, CHANNEL_SHOW_SAVE } from '../electron-common/electron-api.js';
|
|
20
17
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
21
|
-
|
|
18
|
+
import { ipcRenderer, contextBridge } from '@theia/core/electron-shared/electron';
|
|
22
19
|
const api = {
|
|
23
|
-
showOpenDialog: (options) =>
|
|
24
|
-
showSaveDialog: (options) =>
|
|
20
|
+
showOpenDialog: (options) => ipcRenderer.invoke(CHANNEL_SHOW_OPEN, options),
|
|
21
|
+
showSaveDialog: (options) => ipcRenderer.invoke(CHANNEL_SHOW_SAVE, options),
|
|
25
22
|
};
|
|
26
|
-
function preload() {
|
|
23
|
+
export function preload() {
|
|
27
24
|
console.log('exposing theia filesystem electron api');
|
|
28
|
-
|
|
25
|
+
contextBridge.exposeInMainWorld('electronTheiaFilesystem', api);
|
|
29
26
|
}
|
|
30
27
|
//# sourceMappingURL=preload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/electron-browser/preload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../src/electron-browser/preload.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAA4D,MAAM,oCAAoC,CAAC;AAEpJ,6DAA6D;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,GAAG,GAAuB;IAC5B,cAAc,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC9F,cAAc,EAAE,CAAC,OAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACjG,CAAC;AAEF,MAAM,UAAU,OAAO;IACnB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,aAAa,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AAEpE,CAAC"}
|
|
@@ -12,6 +12,8 @@ export interface OpenDialogOptions {
|
|
|
12
12
|
openFolders?: boolean;
|
|
13
13
|
selectMany?: boolean;
|
|
14
14
|
filters?: FileFilter[];
|
|
15
|
+
/** Name of the target window for parenting the dialog. If omitted, the sender's window is used. */
|
|
16
|
+
windowName?: string;
|
|
15
17
|
}
|
|
16
18
|
export interface SaveDialogOptions {
|
|
17
19
|
title?: string;
|
|
@@ -20,6 +22,8 @@ export interface SaveDialogOptions {
|
|
|
20
22
|
buttonLabel?: string;
|
|
21
23
|
modal?: boolean;
|
|
22
24
|
filters?: FileFilter[];
|
|
25
|
+
/** Name of the target window for parenting the dialog. If omitted, the sender's window is used. */
|
|
26
|
+
windowName?: string;
|
|
23
27
|
}
|
|
24
28
|
export interface TheiaFilesystemAPI {
|
|
25
29
|
showOpenDialog(options: OpenDialogOptions): Promise<string[] | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-api.d.ts","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-api.d.ts","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC1E,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,uBAAuB,EAAE,kBAAkB,CAAA;KAC9C;CACJ;AAED,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// *****************************************************************************
|
|
3
2
|
// Copyright (C) 2023 STMicroelectronics and others.
|
|
4
3
|
//
|
|
@@ -14,8 +13,6 @@
|
|
|
14
13
|
//
|
|
15
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
15
|
// *****************************************************************************
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
exports.CHANNEL_SHOW_OPEN = 'ShowOpenDialog';
|
|
20
|
-
exports.CHANNEL_SHOW_SAVE = 'ShowSaveDialog';
|
|
16
|
+
export const CHANNEL_SHOW_OPEN = 'ShowOpenDialog';
|
|
17
|
+
export const CHANNEL_SHOW_SAVE = 'ShowSaveDialog';
|
|
21
18
|
//# sourceMappingURL=electron-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-api.js","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-api.js","sourceRoot":"","sources":["../../src/electron-common/electron-api.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AA2ChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-api-main.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBACa,WAAY,YAAW,mCAAmC;IACnE,OAAO,CAAC,WAAW,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-api-main.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBACa,WAAY,YAAW,mCAAmC;IACnE,OAAO,CAAC,WAAW,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC;CAuDpE"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// *****************************************************************************
|
|
3
2
|
// Copyright (C) 2023 STMicroelectronics and others.
|
|
4
3
|
//
|
|
@@ -14,16 +13,14 @@
|
|
|
14
13
|
//
|
|
15
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
15
|
// *****************************************************************************
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const electron_api_1 = require("../electron-common/electron-api");
|
|
22
|
-
const electron_1 = require("@theia/core/electron-shared/electron");
|
|
16
|
+
import { __decorate } from "tslib";
|
|
17
|
+
import { injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import { CHANNEL_SHOW_OPEN, CHANNEL_SHOW_SAVE } from '../electron-common/electron-api.js';
|
|
19
|
+
import { ipcMain, BrowserWindow, dialog } from '@theia/core/electron-shared/electron';
|
|
23
20
|
let ElectronApi = class ElectronApi {
|
|
24
21
|
onStart(application) {
|
|
25
22
|
// dialogs
|
|
26
|
-
|
|
23
|
+
ipcMain.handle(CHANNEL_SHOW_OPEN, async (event, options) => {
|
|
27
24
|
const properties = [];
|
|
28
25
|
// checking proper combination of file/dir opening is done on the renderer side
|
|
29
26
|
if (options.openFiles) {
|
|
@@ -43,14 +40,16 @@ let ElectronApi = class ElectronApi {
|
|
|
43
40
|
properties: properties
|
|
44
41
|
};
|
|
45
42
|
if (options.modal) {
|
|
46
|
-
const win =
|
|
43
|
+
const win = options.windowName
|
|
44
|
+
? BrowserWindow.getAllWindows().find(w => w.webContents.mainFrame.name === options.windowName)
|
|
45
|
+
: BrowserWindow.fromWebContents(event.sender);
|
|
47
46
|
if (win) {
|
|
48
|
-
return (await
|
|
47
|
+
return (await dialog.showOpenDialog(win, dialogOpts)).filePaths;
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
|
-
return (await
|
|
50
|
+
return (await dialog.showOpenDialog(dialogOpts)).filePaths;
|
|
52
51
|
});
|
|
53
|
-
|
|
52
|
+
ipcMain.handle(CHANNEL_SHOW_SAVE, async (event, options) => {
|
|
54
53
|
const dialogOpts = {
|
|
55
54
|
defaultPath: options.path,
|
|
56
55
|
buttonLabel: options.buttonLabel,
|
|
@@ -58,17 +57,19 @@ let ElectronApi = class ElectronApi {
|
|
|
58
57
|
title: options.title
|
|
59
58
|
};
|
|
60
59
|
if (options.modal) {
|
|
61
|
-
const win =
|
|
60
|
+
const win = options.windowName
|
|
61
|
+
? BrowserWindow.getAllWindows().find(w => w.webContents.mainFrame.name === options.windowName)
|
|
62
|
+
: BrowserWindow.fromWebContents(event.sender);
|
|
62
63
|
if (win) {
|
|
63
|
-
return (await
|
|
64
|
+
return (await dialog.showSaveDialog(win, dialogOpts)).filePath;
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
|
-
return (await
|
|
67
|
+
return (await dialog.showSaveDialog(dialogOpts)).filePath;
|
|
67
68
|
});
|
|
68
69
|
}
|
|
69
70
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0, inversify_1.injectable)()
|
|
71
|
+
ElectronApi = __decorate([
|
|
72
|
+
injectable()
|
|
73
73
|
], ElectronApi);
|
|
74
|
+
export { ElectronApi };
|
|
74
75
|
//# sourceMappingURL=electron-api-main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-api-main.js","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-api-main.js","sourceRoot":"","sources":["../../src/electron-main/electron-api-main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
// *****************************************************************************
|
|
4
2
|
// Copyright (C) 2023 STMicroelectronics and others.
|
|
5
3
|
//
|
|
@@ -15,11 +13,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
13
|
//
|
|
16
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
15
|
// *****************************************************************************
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
bind(
|
|
23
|
-
bind(
|
|
16
|
+
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
17
|
+
import { ElectronMainApplicationContribution } from '@theia/core/lib/electron-main/electron-main-application';
|
|
18
|
+
import { ElectronApi } from './electron-api-main.js';
|
|
19
|
+
export default new ContainerModule(bind => {
|
|
20
|
+
bind(ElectronApi).toSelf().inSingletonScope();
|
|
21
|
+
bind(ElectronMainApplicationContribution).toService(ElectronApi);
|
|
24
22
|
});
|
|
25
23
|
//# sourceMappingURL=electron-main-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-main-module.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"electron-main-module.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-module.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,CAAC,mCAAmC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Readable } from 'stream';
|
|
2
|
+
import { ILogger } from '@theia/core/lib/common/logger';
|
|
3
|
+
export type ArchiveFormat = 'zip' | 'tar' | 'tgz';
|
|
4
|
+
/** The path of an archive on disk, or the content of an archive. */
|
|
5
|
+
export type ArchiveSource = string | Uint8Array;
|
|
6
|
+
export interface ArchiveOptions {
|
|
7
|
+
/** The format of the archive. Detected from its content if omitted. */
|
|
8
|
+
format?: ArchiveFormat;
|
|
9
|
+
}
|
|
10
|
+
export interface ArchiveReadOptions extends ArchiveOptions {
|
|
11
|
+
/** Selects the files to read by their path in the archive. All files are read if omitted. */
|
|
12
|
+
filter?: (entryPath: string) => boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface ArchiveEntry {
|
|
15
|
+
/** The path of the entry relative to the root of the archive, using `/` as separator. */
|
|
16
|
+
path: string;
|
|
17
|
+
type: 'file' | 'directory';
|
|
18
|
+
/** The permission bits of the entry, without the setuid, setgid and sticky bits. */
|
|
19
|
+
mode?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface ArchiveFile extends ArchiveEntry {
|
|
22
|
+
type: 'file';
|
|
23
|
+
data: Buffer;
|
|
24
|
+
}
|
|
25
|
+
export declare const ArchiveExtractor: unique symbol;
|
|
26
|
+
/**
|
|
27
|
+
* Extracts zip, tar and gzipped tar archives.
|
|
28
|
+
*
|
|
29
|
+
* Entry paths and links are not trusted: an entry whose path is absolute or leaves the archive root fails the
|
|
30
|
+
* extraction, and links and other special entries are skipped rather than created, so that nothing can be
|
|
31
|
+
* written or exposed outside of the destination. The size of the extracted content is not limited.
|
|
32
|
+
*/
|
|
33
|
+
export interface ArchiveExtractor {
|
|
34
|
+
/**
|
|
35
|
+
* Extracts the archive into the destination directory, creating it if needed.
|
|
36
|
+
* @returns the extracted files and directories.
|
|
37
|
+
*/
|
|
38
|
+
extract(source: ArchiveSource, destination: string, options?: ArchiveOptions): Promise<ArchiveEntry[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Reads the content of the files in the archive without writing anything to disk.
|
|
41
|
+
*/
|
|
42
|
+
readFiles(source: ArchiveSource, options?: ArchiveReadOptions): Promise<ArchiveFile[]>;
|
|
43
|
+
}
|
|
44
|
+
/** An entry as reported by the reader of an archive format, before its path is validated. */
|
|
45
|
+
interface RawArchiveEntry {
|
|
46
|
+
name: string;
|
|
47
|
+
kind: 'file' | 'directory' | 'unsupported';
|
|
48
|
+
mode?: number;
|
|
49
|
+
/** Opens the content of a file entry. Entries that are not opened are discarded. */
|
|
50
|
+
open(): Promise<Readable>;
|
|
51
|
+
}
|
|
52
|
+
type RawArchiveEntryVisitor = (entry: RawArchiveEntry) => Promise<void>;
|
|
53
|
+
export declare class ArchiveExtractorImpl implements ArchiveExtractor {
|
|
54
|
+
/** Not available to instances created without dependency injection, which report skipped entries on the console. */
|
|
55
|
+
protected readonly logger?: ILogger;
|
|
56
|
+
extract(source: ArchiveSource, destination: string, options?: ArchiveOptions): Promise<ArchiveEntry[]>;
|
|
57
|
+
readFiles(source: ArchiveSource, options?: ArchiveReadOptions): Promise<ArchiveFile[]>;
|
|
58
|
+
protected readEntries(source: ArchiveSource, format: ArchiveFormat | undefined, visit: RawArchiveEntryVisitor): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Detects the format of an archive from its first bytes.
|
|
61
|
+
*/
|
|
62
|
+
protected detectFormat(source: ArchiveSource): Promise<ArchiveFormat>;
|
|
63
|
+
protected readHeader(source: ArchiveSource, length: number): Promise<Buffer>;
|
|
64
|
+
protected readZipEntries(source: ArchiveSource, visit: RawArchiveEntryVisitor): Promise<void>;
|
|
65
|
+
protected readTarEntries(source: ArchiveSource, gzipped: boolean, visit: RawArchiveEntryVisitor): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Normalizes the name of an entry to a relative path with `/` as separator.
|
|
68
|
+
* @returns `undefined` for the archive root.
|
|
69
|
+
* @throws if the name is absolute or leaves the archive root.
|
|
70
|
+
*/
|
|
71
|
+
protected toEntryPath(name: string): string | undefined;
|
|
72
|
+
protected toMode(mode: number | undefined): number | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Creates a directory below the root one segment at a time and refuses to descend into an existing entry that is not
|
|
75
|
+
* a directory, so that nothing is created or written through a link that already existed in the destination.
|
|
76
|
+
*/
|
|
77
|
+
protected createDirectory(root: string, directory: string, verifiedDirectories: Set<string>): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Rejects writing a file over an existing link or special file, which could point outside of the destination.
|
|
80
|
+
*/
|
|
81
|
+
protected assertNoLink(root: string, target: string): Promise<void>;
|
|
82
|
+
protected writeFile(target: string, content: Readable, mode: number | undefined): Promise<void>;
|
|
83
|
+
protected reportSkipped(source: ArchiveSource, skipped: string[]): void;
|
|
84
|
+
}
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=archive-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive-extractor.d.ts","sourceRoot":"","sources":["../../../src/node/archive/archive-extractor.ts"],"names":[],"mappings":"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"}
|