@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.
Files changed (442) hide show
  1. package/lib/browser/breadcrumbs/filepath-breadcrumb.js +4 -8
  2. package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -1
  3. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +1 -1
  4. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -1
  5. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +18 -25
  6. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -1
  7. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +5 -5
  8. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -1
  9. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +27 -33
  10. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -1
  11. package/lib/browser/download/file-download-command-contribution.d.ts +1 -1
  12. package/lib/browser/download/file-download-command-contribution.d.ts.map +1 -1
  13. package/lib/browser/download/file-download-command-contribution.js +28 -33
  14. package/lib/browser/download/file-download-command-contribution.js.map +1 -1
  15. package/lib/browser/download/file-download-frontend-module.js +8 -10
  16. package/lib/browser/download/file-download-frontend-module.js.map +1 -1
  17. package/lib/browser/download/file-download-service.d.ts +1 -1
  18. package/lib/browser/download/file-download-service.d.ts.map +1 -1
  19. package/lib/browser/download/file-download-service.js +19 -24
  20. package/lib/browser/download/file-download-service.js.map +1 -1
  21. package/lib/browser/file-dialog/file-dialog-container.d.ts +1 -1
  22. package/lib/browser/file-dialog/file-dialog-container.d.ts.map +1 -1
  23. package/lib/browser/file-dialog/file-dialog-container.js +25 -30
  24. package/lib/browser/file-dialog/file-dialog-container.js.map +1 -1
  25. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +1 -1
  26. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts.map +1 -1
  27. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +13 -21
  28. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js.map +1 -1
  29. package/lib/browser/file-dialog/file-dialog-model.d.ts +2 -2
  30. package/lib/browser/file-dialog/file-dialog-model.d.ts.map +1 -1
  31. package/lib/browser/file-dialog/file-dialog-model.js +20 -27
  32. package/lib/browser/file-dialog/file-dialog-model.js.map +1 -1
  33. package/lib/browser/file-dialog/file-dialog-module.js +21 -23
  34. package/lib/browser/file-dialog/file-dialog-module.js.map +1 -1
  35. package/lib/browser/file-dialog/file-dialog-service.d.ts +4 -4
  36. package/lib/browser/file-dialog/file-dialog-service.d.ts.map +1 -1
  37. package/lib/browser/file-dialog/file-dialog-service.js +29 -38
  38. package/lib/browser/file-dialog/file-dialog-service.js.map +1 -1
  39. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +1 -1
  40. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts.map +1 -1
  41. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +16 -21
  42. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -1
  43. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.spec.js +9 -11
  44. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.spec.js.map +1 -1
  45. package/lib/browser/file-dialog/file-dialog-tree.d.ts +2 -2
  46. package/lib/browser/file-dialog/file-dialog-tree.d.ts.map +1 -1
  47. package/lib/browser/file-dialog/file-dialog-tree.js +8 -11
  48. package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -1
  49. package/lib/browser/file-dialog/file-dialog-widget.d.ts +2 -2
  50. package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -1
  51. package/lib/browser/file-dialog/file-dialog-widget.js +18 -23
  52. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -1
  53. package/lib/browser/file-dialog/file-dialog.d.ts +6 -6
  54. package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -1
  55. package/lib/browser/file-dialog/file-dialog.js +114 -132
  56. package/lib/browser/file-dialog/file-dialog.js.map +1 -1
  57. package/lib/browser/file-dialog/index.d.ts +4 -4
  58. package/lib/browser/file-dialog/index.d.ts.map +1 -1
  59. package/lib/browser/file-dialog/index.js +4 -7
  60. package/lib/browser/file-dialog/index.js.map +1 -1
  61. package/lib/browser/file-resource.d.ts +2 -2
  62. package/lib/browser/file-resource.d.ts.map +1 -1
  63. package/lib/browser/file-resource.js +64 -71
  64. package/lib/browser/file-resource.js.map +1 -1
  65. package/lib/browser/file-resource.spec.js +39 -42
  66. package/lib/browser/file-resource.spec.js.map +1 -1
  67. package/lib/browser/file-selection.d.ts +1 -1
  68. package/lib/browser/file-selection.d.ts.map +1 -1
  69. package/lib/browser/file-selection.js +7 -10
  70. package/lib/browser/file-selection.js.map +1 -1
  71. package/lib/browser/file-service-activation.spec.js +14 -16
  72. package/lib/browser/file-service-activation.spec.js.map +1 -1
  73. package/lib/browser/file-service-copy.spec.js +44 -47
  74. package/lib/browser/file-service-copy.spec.js.map +1 -1
  75. package/lib/browser/file-service-watcher.spec.js +199 -202
  76. package/lib/browser/file-service-watcher.spec.js.map +1 -1
  77. package/lib/browser/file-service.d.ts +3 -3
  78. package/lib/browser/file-service.d.ts.map +1 -1
  79. package/lib/browser/file-service.js +166 -181
  80. package/lib/browser/file-service.js.map +1 -1
  81. package/lib/browser/file-tree/file-tree-container.js +12 -15
  82. package/lib/browser/file-tree/file-tree-container.js.map +1 -1
  83. package/lib/browser/file-tree/file-tree-decorator-adapter.js +23 -31
  84. package/lib/browser/file-tree/file-tree-decorator-adapter.js.map +1 -1
  85. package/lib/browser/file-tree/file-tree-decorator-adapter.spec.js +26 -29
  86. package/lib/browser/file-tree/file-tree-decorator-adapter.spec.js.map +1 -1
  87. package/lib/browser/file-tree/file-tree-label-provider.d.ts +1 -1
  88. package/lib/browser/file-tree/file-tree-label-provider.d.ts.map +1 -1
  89. package/lib/browser/file-tree/file-tree-label-provider.js +13 -18
  90. package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -1
  91. package/lib/browser/file-tree/file-tree-model.d.ts +5 -5
  92. package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -1
  93. package/lib/browser/file-tree/file-tree-model.js +48 -52
  94. package/lib/browser/file-tree/file-tree-model.js.map +1 -1
  95. package/lib/browser/file-tree/file-tree-widget.d.ts +3 -3
  96. package/lib/browser/file-tree/file-tree-widget.d.ts.map +1 -1
  97. package/lib/browser/file-tree/file-tree-widget.js +66 -72
  98. package/lib/browser/file-tree/file-tree-widget.js.map +1 -1
  99. package/lib/browser/file-tree/file-tree.d.ts +3 -3
  100. package/lib/browser/file-tree/file-tree.d.ts.map +1 -1
  101. package/lib/browser/file-tree/file-tree.js +26 -31
  102. package/lib/browser/file-tree/file-tree.js.map +1 -1
  103. package/lib/browser/file-tree/index.d.ts +6 -6
  104. package/lib/browser/file-tree/index.d.ts.map +1 -1
  105. package/lib/browser/file-tree/index.js +6 -9
  106. package/lib/browser/file-tree/index.js.map +1 -1
  107. package/lib/browser/filesystem-frontend-contribution.d.ts +6 -6
  108. package/lib/browser/filesystem-frontend-contribution.d.ts.map +1 -1
  109. package/lib/browser/filesystem-frontend-contribution.js +75 -90
  110. package/lib/browser/filesystem-frontend-contribution.js.map +1 -1
  111. package/lib/browser/filesystem-frontend-module.js +47 -50
  112. package/lib/browser/filesystem-frontend-module.js.map +1 -1
  113. package/lib/browser/filesystem-saveable-service.d.ts +2 -2
  114. package/lib/browser/filesystem-saveable-service.d.ts.map +1 -1
  115. package/lib/browser/filesystem-saveable-service.js +35 -44
  116. package/lib/browser/filesystem-saveable-service.js.map +1 -1
  117. package/lib/browser/filesystem-watcher-error-handler.js +13 -18
  118. package/lib/browser/filesystem-watcher-error-handler.js.map +1 -1
  119. package/lib/browser/index.d.ts +4 -4
  120. package/lib/browser/index.d.ts.map +1 -1
  121. package/lib/browser/index.js +4 -7
  122. package/lib/browser/index.js.map +1 -1
  123. package/lib/browser/location/index.d.ts +2 -2
  124. package/lib/browser/location/index.d.ts.map +1 -1
  125. package/lib/browser/location/index.js +2 -5
  126. package/lib/browser/location/index.js.map +1 -1
  127. package/lib/browser/location/location-renderer.d.ts +3 -3
  128. package/lib/browser/location/location-renderer.d.ts.map +1 -1
  129. package/lib/browser/location/location-renderer.js +42 -51
  130. package/lib/browser/location/location-renderer.js.map +1 -1
  131. package/lib/browser/location/location-renderer.spec.js +61 -64
  132. package/lib/browser/location/location-renderer.spec.js.map +1 -1
  133. package/lib/browser/location/location-service.js +1 -2
  134. package/lib/browser/location/location-service.js.map +1 -1
  135. package/lib/browser/remote-file-service-contribution.d.ts +2 -2
  136. package/lib/browser/remote-file-service-contribution.d.ts.map +1 -1
  137. package/lib/browser/remote-file-service-contribution.js +8 -12
  138. package/lib/browser/remote-file-service-contribution.js.map +1 -1
  139. package/lib/browser/upload/file-upload-service-impl.d.ts +3 -3
  140. package/lib/browser/upload/file-upload-service-impl.d.ts.map +1 -1
  141. package/lib/browser/upload/file-upload-service-impl.js +55 -64
  142. package/lib/browser/upload/file-upload-service-impl.js.map +1 -1
  143. package/lib/browser/vscode-file-service-contribution.d.ts +2 -2
  144. package/lib/browser/vscode-file-service-contribution.d.ts.map +1 -1
  145. package/lib/browser/vscode-file-service-contribution.js +23 -28
  146. package/lib/browser/vscode-file-service-contribution.js.map +1 -1
  147. package/lib/browser-only/browser-only-filesystem-frontend-module.js +21 -23
  148. package/lib/browser-only/browser-only-filesystem-frontend-module.js.map +1 -1
  149. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +1 -1
  150. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts.map +1 -1
  151. package/lib/browser-only/browser-only-filesystem-provider-server.js +10 -13
  152. package/lib/browser-only/browser-only-filesystem-provider-server.js.map +1 -1
  153. package/lib/browser-only/download/file-download-command-contribution.d.ts +1 -1
  154. package/lib/browser-only/download/file-download-command-contribution.d.ts.map +1 -1
  155. package/lib/browser-only/download/file-download-command-contribution.js +14 -19
  156. package/lib/browser-only/download/file-download-command-contribution.js.map +1 -1
  157. package/lib/browser-only/download/file-download-frontend-module.js +8 -10
  158. package/lib/browser-only/download/file-download-frontend-module.js.map +1 -1
  159. package/lib/browser-only/download/file-download-service.d.ts +3 -3
  160. package/lib/browser-only/download/file-download-service.d.ts.map +1 -1
  161. package/lib/browser-only/download/file-download-service.js +26 -33
  162. package/lib/browser-only/download/file-download-service.js.map +1 -1
  163. package/lib/browser-only/file-search.d.ts.map +1 -1
  164. package/lib/browser-only/file-search.js +9 -15
  165. package/lib/browser-only/file-search.js.map +1 -1
  166. package/lib/browser-only/opfs-filesystem-initialization.d.ts +1 -1
  167. package/lib/browser-only/opfs-filesystem-initialization.d.ts.map +1 -1
  168. package/lib/browser-only/opfs-filesystem-initialization.js +6 -9
  169. package/lib/browser-only/opfs-filesystem-initialization.js.map +1 -1
  170. package/lib/browser-only/opfs-filesystem-provider.d.ts +2 -2
  171. package/lib/browser-only/opfs-filesystem-provider.d.ts.map +1 -1
  172. package/lib/browser-only/opfs-filesystem-provider.js +60 -68
  173. package/lib/browser-only/opfs-filesystem-provider.js.map +1 -1
  174. package/lib/browser-only/upload/file-upload-service-impl.d.ts +3 -3
  175. package/lib/browser-only/upload/file-upload-service-impl.d.ts.map +1 -1
  176. package/lib/browser-only/upload/file-upload-service-impl.js +51 -60
  177. package/lib/browser-only/upload/file-upload-service-impl.js.map +1 -1
  178. package/lib/common/delegating-file-system-provider.d.ts +1 -1
  179. package/lib/common/delegating-file-system-provider.d.ts.map +1 -1
  180. package/lib/common/delegating-file-system-provider.js +18 -22
  181. package/lib/common/delegating-file-system-provider.js.map +1 -1
  182. package/lib/common/download/file-download.js +5 -8
  183. package/lib/common/download/file-download.js.map +1 -1
  184. package/lib/common/file-upload.js +1 -4
  185. package/lib/common/file-upload.js.map +1 -1
  186. package/lib/common/files.js +38 -59
  187. package/lib/common/files.js.map +1 -1
  188. package/lib/common/files.spec.js +22 -25
  189. package/lib/common/files.spec.js.map +1 -1
  190. package/lib/common/filesystem-preferences.js +39 -44
  191. package/lib/common/filesystem-preferences.js.map +1 -1
  192. package/lib/common/filesystem-utils.d.ts +1 -1
  193. package/lib/common/filesystem-utils.d.ts.map +1 -1
  194. package/lib/common/filesystem-utils.js +2 -5
  195. package/lib/common/filesystem-utils.js.map +1 -1
  196. package/lib/common/filesystem-utils.spec.js +227 -229
  197. package/lib/common/filesystem-utils.spec.js.map +1 -1
  198. package/lib/common/filesystem-watcher-protocol.d.ts +1 -1
  199. package/lib/common/filesystem-watcher-protocol.d.ts.map +1 -1
  200. package/lib/common/filesystem-watcher-protocol.js +2 -5
  201. package/lib/common/filesystem-watcher-protocol.js.map +1 -1
  202. package/lib/common/filesystem.js +2 -5
  203. package/lib/common/filesystem.js.map +1 -1
  204. package/lib/common/index.d.ts +3 -3
  205. package/lib/common/index.d.ts.map +1 -1
  206. package/lib/common/index.js +3 -6
  207. package/lib/common/index.js.map +1 -1
  208. package/lib/common/io.d.ts +2 -2
  209. package/lib/common/io.d.ts.map +1 -1
  210. package/lib/common/io.js +10 -13
  211. package/lib/common/io.js.map +1 -1
  212. package/lib/common/remote-file-system-provider.d.ts +5 -5
  213. package/lib/common/remote-file-system-provider.d.ts.map +1 -1
  214. package/lib/common/remote-file-system-provider.js +81 -93
  215. package/lib/common/remote-file-system-provider.js.map +1 -1
  216. package/lib/common/upload/file-upload.js +1 -4
  217. package/lib/common/upload/file-upload.js.map +1 -1
  218. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +6 -8
  219. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -1
  220. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +3 -3
  221. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -1
  222. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +21 -23
  223. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -1
  224. package/lib/electron-browser/file-dialog/electron-file-dialog-service.spec.js +33 -12
  225. package/lib/electron-browser/file-dialog/electron-file-dialog-service.spec.js.map +1 -1
  226. package/lib/electron-browser/preload.js +6 -9
  227. package/lib/electron-browser/preload.js.map +1 -1
  228. package/lib/electron-common/electron-api.d.ts +4 -0
  229. package/lib/electron-common/electron-api.d.ts.map +1 -1
  230. package/lib/electron-common/electron-api.js +2 -5
  231. package/lib/electron-common/electron-api.js.map +1 -1
  232. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  233. package/lib/electron-main/electron-api-main.js +19 -18
  234. package/lib/electron-main/electron-api-main.js.map +1 -1
  235. package/lib/electron-main/electron-main-module.js +6 -8
  236. package/lib/electron-main/electron-main-module.js.map +1 -1
  237. package/lib/node/archive/archive-extractor.d.ts +86 -0
  238. package/lib/node/archive/archive-extractor.d.ts.map +1 -0
  239. package/lib/node/archive/archive-extractor.js +290 -0
  240. package/lib/node/archive/archive-extractor.js.map +1 -0
  241. package/lib/node/archive/archive-extractor.spec.d.ts +2 -0
  242. package/lib/node/archive/archive-extractor.spec.d.ts.map +1 -0
  243. package/lib/node/archive/archive-extractor.spec.js +317 -0
  244. package/lib/node/archive/archive-extractor.spec.js.map +1 -0
  245. package/lib/node/archive/test/test-archives.d.ts +20 -0
  246. package/lib/node/archive/test/test-archives.d.ts.map +1 -0
  247. package/lib/node/archive/test/test-archives.js +97 -0
  248. package/lib/node/archive/test/test-archives.js.map +1 -0
  249. package/lib/node/disk-file-system-provider.d.ts +2 -2
  250. package/lib/node/disk-file-system-provider.d.ts.map +1 -1
  251. package/lib/node/disk-file-system-provider.js +111 -119
  252. package/lib/node/disk-file-system-provider.js.map +1 -1
  253. package/lib/node/disk-file-system-provider.spec.js +53 -56
  254. package/lib/node/disk-file-system-provider.spec.js.map +1 -1
  255. package/lib/node/download/directory-archiver.js +13 -16
  256. package/lib/node/download/directory-archiver.js.map +1 -1
  257. package/lib/node/download/directory-archiver.spec.js +20 -23
  258. package/lib/node/download/directory-archiver.spec.js.map +1 -1
  259. package/lib/node/download/file-download-backend-module.js +14 -16
  260. package/lib/node/download/file-download-backend-module.js.map +1 -1
  261. package/lib/node/download/file-download-cache.js +11 -15
  262. package/lib/node/download/file-download-cache.js.map +1 -1
  263. package/lib/node/download/file-download-endpoint.d.ts +1 -1
  264. package/lib/node/download/file-download-endpoint.d.ts.map +1 -1
  265. package/lib/node/download/file-download-endpoint.js +25 -31
  266. package/lib/node/download/file-download-endpoint.js.map +1 -1
  267. package/lib/node/download/file-download-handler.d.ts +2 -2
  268. package/lib/node/download/file-download-handler.d.ts.map +1 -1
  269. package/lib/node/download/file-download-handler.js +70 -76
  270. package/lib/node/download/file-download-handler.js.map +1 -1
  271. package/lib/node/download/test/mock-directory-archiver.d.ts +1 -1
  272. package/lib/node/download/test/mock-directory-archiver.d.ts.map +1 -1
  273. package/lib/node/download/test/mock-directory-archiver.js +2 -6
  274. package/lib/node/download/test/mock-directory-archiver.js.map +1 -1
  275. package/lib/node/file-change-collection.d.ts +1 -1
  276. package/lib/node/file-change-collection.d.ts.map +1 -1
  277. package/lib/node/file-change-collection.js +1 -5
  278. package/lib/node/file-change-collection.js.map +1 -1
  279. package/lib/node/file-change-collection.spec.js +5 -8
  280. package/lib/node/file-change-collection.spec.js.map +1 -1
  281. package/lib/node/filesystem-backend-module.d.ts +1 -1
  282. package/lib/node/filesystem-backend-module.d.ts.map +1 -1
  283. package/lib/node/filesystem-backend-module.js +60 -64
  284. package/lib/node/filesystem-backend-module.js.map +1 -1
  285. package/lib/node/filesystem-watcher-client.d.ts +2 -2
  286. package/lib/node/filesystem-watcher-client.d.ts.map +1 -1
  287. package/lib/node/filesystem-watcher-client.js +11 -16
  288. package/lib/node/filesystem-watcher-client.js.map +1 -1
  289. package/lib/node/filesystem-watcher-dispatcher.d.ts +1 -1
  290. package/lib/node/filesystem-watcher-dispatcher.d.ts.map +1 -1
  291. package/lib/node/filesystem-watcher-dispatcher.js +9 -13
  292. package/lib/node/filesystem-watcher-dispatcher.js.map +1 -1
  293. package/lib/node/filesystem-watcher-service-impl.d.ts +3 -3
  294. package/lib/node/filesystem-watcher-service-impl.d.ts.map +1 -1
  295. package/lib/node/filesystem-watcher-service-impl.js +7 -11
  296. package/lib/node/filesystem-watcher-service-impl.js.map +1 -1
  297. package/lib/node/filesystem-watcher-service-impl.spec.js +23 -26
  298. package/lib/node/filesystem-watcher-service-impl.spec.js.map +1 -1
  299. package/lib/node/filesystem-watcher.d.ts +1 -1
  300. package/lib/node/filesystem-watcher.d.ts.map +1 -1
  301. package/lib/node/filesystem-watcher.js +6 -11
  302. package/lib/node/filesystem-watcher.js.map +1 -1
  303. package/lib/node/nodejs-watcher/node-directory-watcher.d.ts +4 -4
  304. package/lib/node/nodejs-watcher/node-directory-watcher.d.ts.map +1 -1
  305. package/lib/node/nodejs-watcher/node-directory-watcher.js +20 -26
  306. package/lib/node/nodejs-watcher/node-directory-watcher.js.map +1 -1
  307. package/lib/node/nodejs-watcher/node-directory-watcher.spec.js +51 -54
  308. package/lib/node/nodejs-watcher/node-directory-watcher.spec.js.map +1 -1
  309. package/lib/node/nodejs-watcher/watch-request-router.d.ts +3 -3
  310. package/lib/node/nodejs-watcher/watch-request-router.d.ts.map +1 -1
  311. package/lib/node/nodejs-watcher/watch-request-router.js +8 -13
  312. package/lib/node/nodejs-watcher/watch-request-router.js.map +1 -1
  313. package/lib/node/nodejs-watcher/watcher-host.d.ts +1 -1
  314. package/lib/node/nodejs-watcher/watcher-host.d.ts.map +1 -1
  315. package/lib/node/nodejs-watcher/watcher-host.js +7 -12
  316. package/lib/node/nodejs-watcher/watcher-host.js.map +1 -1
  317. package/lib/node/parcel-watcher/index.js +6 -9
  318. package/lib/node/parcel-watcher/index.js.map +1 -1
  319. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts +4 -4
  320. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -1
  321. package/lib/node/parcel-watcher/parcel-filesystem-service.js +4 -8
  322. package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -1
  323. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js +23 -26
  324. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -1
  325. package/lib/node/parcel-watcher/parcel-options.js +1 -4
  326. package/lib/node/parcel-watcher/parcel-options.js.map +1 -1
  327. package/lib/node/parcel-watcher/parcel-watcher-exclude.spec.js +11 -16
  328. package/lib/node/parcel-watcher/parcel-watcher-exclude.spec.js.map +1 -1
  329. package/lib/node/parcel-watcher/parcel-watcher-retry.spec.js +11 -16
  330. package/lib/node/parcel-watcher/parcel-watcher-retry.spec.js.map +1 -1
  331. package/lib/node/parcel-watcher/parcel-watcher.d.ts +3 -3
  332. package/lib/node/parcel-watcher/parcel-watcher.d.ts.map +1 -1
  333. package/lib/node/parcel-watcher/parcel-watcher.js +28 -32
  334. package/lib/node/parcel-watcher/parcel-watcher.js.map +1 -1
  335. package/lib/node/test/watcher-test-helper.d.ts +1 -1
  336. package/lib/node/test/watcher-test-helper.d.ts.map +1 -1
  337. package/lib/node/test/watcher-test-helper.js +5 -10
  338. package/lib/node/test/watcher-test-helper.js.map +1 -1
  339. package/lib/node/upload/node-file-upload-service.d.ts +1 -1
  340. package/lib/node/upload/node-file-upload-service.d.ts.map +1 -1
  341. package/lib/node/upload/node-file-upload-service.js +20 -25
  342. package/lib/node/upload/node-file-upload-service.js.map +1 -1
  343. package/lib/node/upload/node-file-upload-service.spec.js +21 -24
  344. package/lib/node/upload/node-file-upload-service.spec.js.map +1 -1
  345. package/package.json +21 -5
  346. package/src/browser/breadcrumbs/filepath-breadcrumb.ts +1 -1
  347. package/src/browser/breadcrumbs/filepath-breadcrumbs-container.ts +1 -1
  348. package/src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts +5 -5
  349. package/src/browser/download/file-download-command-contribution.ts +1 -1
  350. package/src/browser/download/file-download-frontend-module.ts +3 -3
  351. package/src/browser/download/file-download-service.ts +1 -1
  352. package/src/browser/file-dialog/file-dialog-container.ts +5 -5
  353. package/src/browser/file-dialog/file-dialog-hidden-files-renderer.tsx +1 -1
  354. package/src/browser/file-dialog/file-dialog-model.ts +2 -2
  355. package/src/browser/file-dialog/file-dialog-module.ts +5 -5
  356. package/src/browser/file-dialog/file-dialog-service.ts +4 -4
  357. package/src/browser/file-dialog/file-dialog-tree-filters-renderer.spec.ts +2 -2
  358. package/src/browser/file-dialog/file-dialog-tree-filters-renderer.tsx +1 -1
  359. package/src/browser/file-dialog/file-dialog-tree.ts +2 -2
  360. package/src/browser/file-dialog/file-dialog-widget.ts +2 -2
  361. package/src/browser/file-dialog/file-dialog.ts +16 -13
  362. package/src/browser/file-dialog/index.ts +4 -4
  363. package/src/browser/file-resource.spec.ts +3 -3
  364. package/src/browser/file-resource.ts +3 -3
  365. package/src/browser/file-selection.ts +1 -1
  366. package/src/browser/file-service-activation.spec.ts +2 -2
  367. package/src/browser/file-service-copy.spec.ts +2 -2
  368. package/src/browser/file-service-watcher.spec.ts +2 -2
  369. package/src/browser/file-service.ts +6 -6
  370. package/src/browser/file-tree/file-tree-container.ts +3 -3
  371. package/src/browser/file-tree/file-tree-decorator-adapter.spec.ts +1 -1
  372. package/src/browser/file-tree/file-tree-decorator-adapter.ts +1 -1
  373. package/src/browser/file-tree/file-tree-label-provider.ts +1 -1
  374. package/src/browser/file-tree/file-tree-model.ts +12 -6
  375. package/src/browser/file-tree/file-tree-widget.tsx +8 -5
  376. package/src/browser/file-tree/file-tree.ts +3 -3
  377. package/src/browser/file-tree/index.ts +6 -6
  378. package/src/browser/filesystem-frontend-contribution.ts +6 -6
  379. package/src/browser/filesystem-frontend-module.ts +14 -14
  380. package/src/browser/filesystem-saveable-service.ts +2 -2
  381. package/src/browser/index.ts +4 -4
  382. package/src/browser/location/index.ts +2 -2
  383. package/src/browser/location/location-renderer.spec.ts +3 -3
  384. package/src/browser/location/location-renderer.tsx +3 -3
  385. package/src/browser/remote-file-service-contribution.ts +2 -2
  386. package/src/browser/upload/file-upload-service-impl.ts +5 -5
  387. package/src/browser/vscode-file-service-contribution.ts +2 -2
  388. package/src/browser-only/browser-only-filesystem-frontend-module.ts +7 -7
  389. package/src/browser-only/browser-only-filesystem-provider-server.ts +1 -1
  390. package/src/browser-only/download/file-download-command-contribution.ts +2 -2
  391. package/src/browser-only/download/file-download-frontend-module.ts +3 -3
  392. package/src/browser-only/download/file-download-service.ts +3 -3
  393. package/src/browser-only/file-search.ts +2 -1
  394. package/src/browser-only/opfs-filesystem-initialization.ts +1 -1
  395. package/src/browser-only/opfs-filesystem-provider.ts +3 -3
  396. package/src/browser-only/upload/file-upload-service-impl.ts +4 -4
  397. package/src/common/delegating-file-system-provider.ts +1 -1
  398. package/src/common/files.spec.ts +1 -1
  399. package/src/common/filesystem-utils.spec.ts +2 -2
  400. package/src/common/filesystem-utils.ts +1 -1
  401. package/src/common/filesystem-watcher-protocol.ts +1 -1
  402. package/src/common/index.ts +3 -3
  403. package/src/common/io.ts +2 -2
  404. package/src/common/remote-file-system-provider.ts +1 -1
  405. package/src/electron-browser/file-dialog/electron-file-dialog-module.ts +2 -2
  406. package/src/electron-browser/file-dialog/electron-file-dialog-service.spec.ts +30 -3
  407. package/src/electron-browser/file-dialog/electron-file-dialog-service.ts +8 -6
  408. package/src/electron-browser/preload.ts +1 -1
  409. package/src/electron-common/electron-api.ts +4 -0
  410. package/src/electron-main/electron-api-main.ts +7 -3
  411. package/src/electron-main/electron-main-module.ts +1 -1
  412. package/src/node/archive/archive-extractor.spec.ts +359 -0
  413. package/src/node/archive/archive-extractor.ts +350 -0
  414. package/src/node/archive/test/test-archives.ts +117 -0
  415. package/src/node/disk-file-system-provider.spec.ts +3 -3
  416. package/src/node/disk-file-system-provider.ts +7 -6
  417. package/src/node/download/directory-archiver.spec.ts +1 -1
  418. package/src/node/download/file-download-backend-module.ts +4 -4
  419. package/src/node/download/file-download-endpoint.ts +4 -3
  420. package/src/node/download/file-download-handler.ts +3 -3
  421. package/src/node/download/test/mock-directory-archiver.ts +1 -1
  422. package/src/node/file-change-collection.spec.ts +2 -2
  423. package/src/node/file-change-collection.ts +1 -1
  424. package/src/node/filesystem-backend-module.ts +15 -12
  425. package/src/node/filesystem-watcher-client.ts +2 -2
  426. package/src/node/filesystem-watcher-dispatcher.ts +1 -1
  427. package/src/node/filesystem-watcher-service-impl.spec.ts +5 -5
  428. package/src/node/filesystem-watcher-service-impl.ts +4 -4
  429. package/src/node/filesystem-watcher.ts +1 -1
  430. package/src/node/nodejs-watcher/node-directory-watcher.spec.ts +5 -5
  431. package/src/node/nodejs-watcher/node-directory-watcher.ts +5 -5
  432. package/src/node/nodejs-watcher/watch-request-router.ts +4 -4
  433. package/src/node/nodejs-watcher/watcher-host.ts +1 -1
  434. package/src/node/parcel-watcher/index.ts +2 -2
  435. package/src/node/parcel-watcher/parcel-filesystem-service.ts +4 -4
  436. package/src/node/parcel-watcher/parcel-filesystem-watcher.spec.ts +2 -2
  437. package/src/node/parcel-watcher/parcel-watcher-exclude.spec.ts +4 -8
  438. package/src/node/parcel-watcher/parcel-watcher-retry.spec.ts +4 -6
  439. package/src/node/parcel-watcher/parcel-watcher.ts +7 -6
  440. package/src/node/test/watcher-test-helper.ts +1 -1
  441. package/src/node/upload/node-file-upload-service.spec.ts +1 -1
  442. package/src/node/upload/node-file-upload-service.ts +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-upload-service.d.ts","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.ts"],"names":[],"mappings":"AAmBA,OAAO,OAAO,GAAG,QAAQ,4BAA4B,CAAC,CAAC;AAEvD,OAAO,EAAE,8BAA8B,EAAW,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGxG,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3C,qBACa,qBAAsB,YAAW,8BAA8B;IAGxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAEhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE9C,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD;;OAEG;cACa,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxD;;OAEG;cACa,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;cAIzC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxG"}
1
+ {"version":3,"file":"node-file-upload-service.d.ts","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,8BAA8B,EAAW,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGxG,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAE3C,qBACa,qBAAsB,YAAW,8BAA8B;IAGxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAEhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE9C,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD;;OAEG;cACa,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxD;;OAEG;cACa,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;cAIzC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxG"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // *****************************************************************************
3
2
  // Copyright (C) 2019 TypeFox and others.
4
3
  //
@@ -15,17 +14,15 @@
15
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
15
  // *****************************************************************************
17
16
  var NodeFileUploadService_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.NodeFileUploadService = void 0;
20
- const tslib_1 = require("tslib");
21
- const multer = require("multer");
22
- const path = require("path");
23
- const os = require("os");
24
- const fs = require("@theia/core/shared/fs-extra");
25
- const node_1 = require("@theia/core/lib/node");
26
- const inversify_1 = require("@theia/core/shared/inversify");
27
- const file_upload_1 = require("../../common/file-upload");
28
- const core_1 = require("@theia/core");
17
+ import { __decorate } from "tslib";
18
+ import multer from 'multer';
19
+ import * as path from 'path';
20
+ import * as os from 'os';
21
+ import * as fs from '@theia/core/shared/fs-extra';
22
+ import { FileUri, HttpConnectionValidator } from '@theia/core/lib/node';
23
+ import { injectable, inject, named } from '@theia/core/shared/inversify';
24
+ import { HTTP_FILE_UPLOAD_PATH } from '../../common/file-upload.js';
25
+ import { ILogger, URI } from '@theia/core';
29
26
  let NodeFileUploadService = class NodeFileUploadService {
30
27
  static { NodeFileUploadService_1 = this; }
31
28
  static { this.UPLOAD_DIR = 'theia_upload'; }
@@ -46,7 +43,7 @@ let NodeFileUploadService = class NodeFileUploadService {
46
43
  * @returns URL path on which to accept file uploads.
47
44
  */
48
45
  async getHttpFileUploadPath() {
49
- return file_upload_1.HTTP_FILE_UPLOAD_PATH;
46
+ return HTTP_FILE_UPLOAD_PATH;
50
47
  }
51
48
  /**
52
49
  * @returns Path to a folder where to temporarily store uploads.
@@ -56,12 +53,12 @@ let NodeFileUploadService = class NodeFileUploadService {
56
53
  }
57
54
  async handleFileUpload(request, response) {
58
55
  const fields = request.body;
59
- if (!request.file || typeof fields !== 'object' || typeof fields.uri !== 'string' || new core_1.URI(fields.uri).scheme !== 'file') {
56
+ if (!request.file || typeof fields !== 'object' || typeof fields.uri !== 'string' || new URI(fields.uri).scheme !== 'file') {
60
57
  response.sendStatus(400); // bad request
61
58
  return;
62
59
  }
63
60
  try {
64
- const target = node_1.FileUri.fsPath(fields.uri);
61
+ const target = FileUri.fsPath(fields.uri);
65
62
  if (!fields.leaveInTemp) {
66
63
  await fs.move(request.file.path, target, { overwrite: true });
67
64
  }
@@ -84,17 +81,15 @@ let NodeFileUploadService = class NodeFileUploadService {
84
81
  }
85
82
  }
86
83
  };
87
- exports.NodeFileUploadService = NodeFileUploadService;
88
- tslib_1.__decorate([
89
- (0, inversify_1.inject)(core_1.ILogger),
90
- (0, inversify_1.named)('filesystem:NodeFileUploadService'),
91
- tslib_1.__metadata("design:type", Object)
84
+ __decorate([
85
+ inject(ILogger),
86
+ named('filesystem:NodeFileUploadService')
92
87
  ], NodeFileUploadService.prototype, "logger", void 0);
93
- tslib_1.__decorate([
94
- (0, inversify_1.inject)(node_1.HttpConnectionValidator),
95
- tslib_1.__metadata("design:type", Object)
88
+ __decorate([
89
+ inject(HttpConnectionValidator)
96
90
  ], NodeFileUploadService.prototype, "connectionValidator", void 0);
97
- exports.NodeFileUploadService = NodeFileUploadService = NodeFileUploadService_1 = tslib_1.__decorate([
98
- (0, inversify_1.injectable)()
91
+ NodeFileUploadService = NodeFileUploadService_1 = __decorate([
92
+ injectable()
99
93
  ], NodeFileUploadService);
94
+ export { NodeFileUploadService };
100
95
  //# sourceMappingURL=node-file-upload-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-upload-service.js","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-file-upload-service.js","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // *****************************************************************************
3
2
  // Copyright (C) 2026 EclipseSource GmbH and others.
4
3
  //
@@ -14,18 +13,16 @@
14
13
  //
15
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
15
  // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const tslib_1 = require("tslib");
19
- const chai_1 = require("chai");
20
- const os = tslib_1.__importStar(require("os"));
21
- const path = tslib_1.__importStar(require("path"));
22
- const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
23
- const file_uri_1 = require("@theia/core/lib/common/file-uri");
24
- const node_file_upload_service_1 = require("./node-file-upload-service");
16
+ import { expect } from 'chai';
17
+ import * as os from 'os';
18
+ import * as path from 'path';
19
+ import * as fs from '@theia/core/shared/fs-extra';
20
+ import { FileUri } from '@theia/core/lib/common/file-uri';
21
+ import { NodeFileUploadService } from './node-file-upload-service.js';
25
22
  describe('NodeFileUploadService', () => {
26
23
  let tempDir;
27
24
  function createService() {
28
- const service = new node_file_upload_service_1.NodeFileUploadService();
25
+ const service = new NodeFileUploadService();
29
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
27
  service['logger'] = { error: () => { } };
31
28
  return service;
@@ -65,44 +62,44 @@ describe('NodeFileUploadService', () => {
65
62
  const source = path.join(tempDir, 'source.txt');
66
63
  await fs.writeFile(source, 'payload');
67
64
  const captured = await handleUpload(source, { uri: 'http://evil.example/usr/bin/bash' });
68
- (0, chai_1.expect)(captured.sentStatus).to.equal(400);
65
+ expect(captured.sentStatus).to.equal(400);
69
66
  // The scoped-write guard must reject before any file operation runs.
70
- (0, chai_1.expect)(await fs.pathExists(source)).to.be.true;
67
+ expect(await fs.pathExists(source)).to.be.true;
71
68
  });
72
69
  it('should reject a remote-scheme URI with 400', async () => {
73
70
  const source = path.join(tempDir, 'source.txt');
74
71
  await fs.writeFile(source, 'payload');
75
72
  const captured = await handleUpload(source, { uri: 'vscode-remote://host/usr/bin/bash' });
76
- (0, chai_1.expect)(captured.sentStatus).to.equal(400);
77
- (0, chai_1.expect)(await fs.pathExists(source)).to.be.true;
73
+ expect(captured.sentStatus).to.equal(400);
74
+ expect(await fs.pathExists(source)).to.be.true;
78
75
  });
79
76
  it('should reject a missing uri field with 400', async () => {
80
77
  const source = path.join(tempDir, 'source.txt');
81
78
  await fs.writeFile(source, 'payload');
82
79
  const captured = await handleUpload(source, {});
83
- (0, chai_1.expect)(captured.sentStatus).to.equal(400);
80
+ expect(captured.sentStatus).to.equal(400);
84
81
  });
85
82
  it('should reject a missing file with 400', async () => {
86
- const target = file_uri_1.FileUri.create(path.join(tempDir, 'target.txt')).toString();
83
+ const target = FileUri.create(path.join(tempDir, 'target.txt')).toString();
87
84
  const captured = await handleUpload(undefined, { uri: target });
88
- (0, chai_1.expect)(captured.sentStatus).to.equal(400);
85
+ expect(captured.sentStatus).to.equal(400);
89
86
  });
90
87
  it('should accept a file: URI and move the upload to the target', async () => {
91
88
  const source = path.join(tempDir, 'source.txt');
92
89
  await fs.writeFile(source, 'payload');
93
90
  const targetPath = path.join(tempDir, 'target.txt');
94
- const target = file_uri_1.FileUri.create(targetPath).toString();
91
+ const target = FileUri.create(targetPath).toString();
95
92
  const captured = await handleUpload(source, { uri: target });
96
- (0, chai_1.expect)(captured.sentStatus).to.be.undefined;
97
- (0, chai_1.expect)(captured.statusCode).to.equal(200);
93
+ expect(captured.sentStatus).to.be.undefined;
94
+ expect(captured.statusCode).to.equal(200);
98
95
  // Compare against the canonical fs-path of the URI: on Windows the create/fsPath round-trip
99
96
  // normalizes the drive letter to lower-case (e.g. `C:` -> `c:`), which would otherwise fail
100
97
  // an exact string match against `targetPath` derived from `os.tmpdir()`.
101
- (0, chai_1.expect)(captured.body).to.equal(file_uri_1.FileUri.fsPath(target));
102
- (0, chai_1.expect)(await fs.pathExists(targetPath)).to.be.true;
103
- (0, chai_1.expect)(await fs.readFile(targetPath, 'utf8')).to.equal('payload');
98
+ expect(captured.body).to.equal(FileUri.fsPath(target));
99
+ expect(await fs.pathExists(targetPath)).to.be.true;
100
+ expect(await fs.readFile(targetPath, 'utf8')).to.equal('payload');
104
101
  // The temp source file was moved, not copied.
105
- (0, chai_1.expect)(await fs.pathExists(source)).to.be.false;
102
+ expect(await fs.pathExists(source)).to.be.false;
106
103
  });
107
104
  });
108
105
  //# sourceMappingURL=node-file-upload-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-file-upload-service.spec.js","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-file-upload-service.spec.js","sourceRoot":"","sources":["../../../src/node/upload/node-file-upload-service.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@theia/filesystem",
3
- "version": "1.77.0-next.99+2a7305415",
3
+ "version": "1.78.0-next.0+b0e3080cb",
4
4
  "description": "Theia - FileSystem Extension",
5
+ "type": "module",
5
6
  "dependencies": {
6
- "@theia/core": "1.77.0-next.99+2a7305415",
7
+ "@theia/core": "1.78.0-next.0+b0e3080cb",
7
8
  "@types/body-parser": "^1.19.6",
8
9
  "@types/multer": "^1.4.13",
9
10
  "@types/tar-fs": "^1.16.3",
10
11
  "@types/tar-stream": "^3.1.5",
12
+ "@types/yauzl": "^3.4.0",
11
13
  "async-mutex": "^0.3.2",
12
14
  "body-parser": "^1.20.8",
13
15
  "http-status-codes": "^1.4.0",
@@ -21,7 +23,8 @@
21
23
  "tar-stream": "^3.2.2",
22
24
  "trash": "^7.2.0",
23
25
  "tslib": "^2.8.1",
24
- "vscode-languageserver-textdocument": "^1.0.15"
26
+ "vscode-languageserver-textdocument": "^1.0.15",
27
+ "yauzl": "^3.4.0"
25
28
  },
26
29
  "publishConfig": {
27
30
  "access": "public"
@@ -77,10 +80,23 @@
77
80
  "watch": "theiaext watch"
78
81
  },
79
82
  "devDependencies": {
80
- "@theia/ext-scripts": "1.76.0"
83
+ "@theia/ext-scripts": "1.77.0"
81
84
  },
82
85
  "nyc": {
83
86
  "extends": "../../configs/nyc.json"
84
87
  },
85
- "gitHead": "2a73054157f8bf0d3969a98d6292f15f6c45404a"
88
+ "gitHead": "b0e3080cb1b1fff5616555f1bf679834129da171",
89
+ "exports": {
90
+ "./package.json": "./package.json",
91
+ "./lib/browser": "./lib/browser/index.js",
92
+ "./lib/browser/file-dialog": "./lib/browser/file-dialog/index.js",
93
+ "./lib/browser/file-tree": "./lib/browser/file-tree/index.js",
94
+ "./lib/browser/location": "./lib/browser/location/index.js",
95
+ "./lib/common": "./lib/common/index.js",
96
+ "./lib/node/parcel-watcher": "./lib/node/parcel-watcher/index.js",
97
+ "./lib/*.json": "./lib/*.json",
98
+ "./lib/*.js": "./lib/*.js",
99
+ "./lib/*": "./lib/*.js",
100
+ "./*": "./*"
101
+ }
86
102
  }
@@ -16,7 +16,7 @@
16
16
 
17
17
  import URI from '@theia/core/lib/common/uri';
18
18
  import { Breadcrumb } from '@theia/core/lib/browser/breadcrumbs/breadcrumbs-constants';
19
- import { FilepathBreadcrumbType } from './filepath-breadcrumbs-contribution';
19
+ import { FilepathBreadcrumbType } from './filepath-breadcrumbs-contribution.js';
20
20
 
21
21
  export class FilepathBreadcrumb implements Breadcrumb {
22
22
  constructor(
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { Container, interfaces, injectable, inject } from '@theia/core/shared/inversify';
18
18
  import { TreeProps, ContextMenuRenderer, TreeNode, open, NodeProps, defaultTreeProps } from '@theia/core/lib/browser';
19
- import { FileTreeModel, FileStatNode, createFileTreeContainer, FileTreeWidget } from '../file-tree';
19
+ import { FileTreeModel, FileStatNode, createFileTreeContainer, FileTreeWidget } from '../file-tree/index.js';
20
20
 
21
21
  const BREADCRUMBS_FILETREE_CLASS = 'theia-FilepathBreadcrumbFileTree';
22
22
 
@@ -18,11 +18,11 @@ import { Disposable, Emitter, Event } from '@theia/core';
18
18
  import { injectable, inject } from '@theia/core/shared/inversify';
19
19
  import URI from '@theia/core/lib/common/uri';
20
20
  import { Breadcrumb, BreadcrumbsContribution, CompositeTreeNode, LabelProvider, SelectableTreeNode, Widget } from '@theia/core/lib/browser';
21
- import { FilepathBreadcrumb } from './filepath-breadcrumb';
22
- import { BreadcrumbsFileTreeWidget } from './filepath-breadcrumbs-container';
23
- import { DirNode } from '../file-tree';
24
- import { FileService } from '../file-service';
25
- import { FileStat } from '../../common/files';
21
+ import { FilepathBreadcrumb } from './filepath-breadcrumb.js';
22
+ import { BreadcrumbsFileTreeWidget } from './filepath-breadcrumbs-container.js';
23
+ import { DirNode } from '../file-tree/index.js';
24
+ import { FileService } from '../file-service.js';
25
+ import { FileStat } from '../../common/files.js';
26
26
 
27
27
  export const FilepathBreadcrumbType = Symbol('FilepathBreadcrumb');
28
28
 
@@ -21,7 +21,7 @@ import { environment } from '@theia/core/shared/@theia/application-package/lib/e
21
21
  import { SelectionService } from '@theia/core/lib/common/selection-service';
22
22
  import { Command, CommandContribution, CommandRegistry } from '@theia/core/lib/common/command';
23
23
  import { UriAwareCommandHandler } from '@theia/core/lib/common/uri-command-handler';
24
- import { FileDownloadService } from '../../common/download/file-download';
24
+ import { FileDownloadService } from '../../common/download/file-download.js';
25
25
  import { CommonCommands } from '@theia/core/lib/browser';
26
26
 
27
27
  @injectable()
@@ -16,9 +16,9 @@
16
16
 
17
17
  import { ContainerModule } from '@theia/core/shared/inversify';
18
18
  import { CommandContribution } from '@theia/core/lib/common/command';
19
- import { FileDownloadService } from '../../common/download/file-download';
20
- import { FileDownloadServiceImpl } from './file-download-service';
21
- import { FileDownloadCommandContribution } from './file-download-command-contribution';
19
+ import { FileDownloadService } from '../../common/download/file-download.js';
20
+ import { FileDownloadServiceImpl } from './file-download-service.js';
21
+ import { FileDownloadCommandContribution } from './file-download-command-contribution.js';
22
22
 
23
23
  export default new ContainerModule(bind => {
24
24
  bind(FileDownloadService).to(FileDownloadServiceImpl).inSingletonScope();
@@ -20,7 +20,7 @@ import { Endpoint } from '@theia/core/lib/browser/endpoint';
20
20
  import { MessageService } from '@theia/core/lib/common/message-service';
21
21
  import { addClipboardListener } from '@theia/core/lib/browser/widgets';
22
22
  import { ILogger, nls } from '@theia/core';
23
- import type { FileDownloadData, FileDownloadService } from '../../common/download/file-download';
23
+ import type { FileDownloadData, FileDownloadService } from '../../common/download/file-download.js';
24
24
 
25
25
  @injectable()
26
26
  export class FileDownloadServiceImpl implements FileDownloadService {
@@ -16,11 +16,11 @@
16
16
 
17
17
  import { interfaces, Container } from '@theia/core/shared/inversify';
18
18
  import { Tree, TreeModel, TreeProps, defaultTreeProps } from '@theia/core/lib/browser';
19
- import { createFileTreeContainer, FileTreeModel, FileTreeWidget } from '../file-tree';
20
- import { OpenFileDialog, OpenFileDialogProps, SaveFileDialog, SaveFileDialogProps } from './file-dialog';
21
- import { FileDialogModel } from './file-dialog-model';
22
- import { FileDialogWidget } from './file-dialog-widget';
23
- import { FileDialogTree } from './file-dialog-tree';
19
+ import { createFileTreeContainer, FileTreeModel, FileTreeWidget } from '../file-tree/index.js';
20
+ import { OpenFileDialog, OpenFileDialogProps, SaveFileDialog, SaveFileDialogProps } from './file-dialog.js';
21
+ import { FileDialogModel } from './file-dialog-model.js';
22
+ import { FileDialogWidget } from './file-dialog-widget.js';
23
+ import { FileDialogTree } from './file-dialog-tree.js';
24
24
 
25
25
  export function createFileDialogContainer(parent: interfaces.Container): Container {
26
26
  const child = createFileTreeContainer(parent);
@@ -18,7 +18,7 @@ import { nls } from '@theia/core';
18
18
  import { ReactRenderer } from '@theia/core/lib/browser';
19
19
  import { inject, postConstruct } from '@theia/core/shared/inversify';
20
20
  import * as React from '@theia/core/shared/react';
21
- import { FileDialogTree } from './file-dialog-tree';
21
+ import { FileDialogTree } from './file-dialog-tree.js';
22
22
 
23
23
  const TOGGLE_HIDDEN_PANEL_CLASS = 'theia-ToggleHiddenPanel';
24
24
  const TOGGLE_HIDDEN_CONTAINER_CLASS = 'theia-ToggleHiddenInputContainer';
@@ -18,8 +18,8 @@ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify'
18
18
  import URI from '@theia/core/lib/common/uri';
19
19
  import { Emitter, Event } from '@theia/core/lib/common';
20
20
  import { TreeNode, SelectableTreeNode } from '@theia/core/lib/browser';
21
- import { DirNode, FileNode, FileTreeModel, FileStatNode } from '../file-tree';
22
- import { FileDialogTree } from './file-dialog-tree';
21
+ import { DirNode, FileNode, FileTreeModel, FileStatNode } from '../file-tree/index.js';
22
+ import { FileDialogTree } from './file-dialog-tree.js';
23
23
 
24
24
  @injectable()
25
25
  export class FileDialogModel extends FileTreeModel {
@@ -15,11 +15,11 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { ContainerModule } from '@theia/core/shared/inversify';
18
- import { LocationListRenderer, LocationListRendererFactory, LocationListRendererOptions } from '../location';
19
- import { FileDialogHiddenFilesToggleRenderer, HiddenFilesToggleRendererFactory } from './file-dialog-hidden-files-renderer';
20
- import { DefaultFileDialogService, FileDialogService } from './file-dialog-service';
21
- import { FileDialogTree } from './file-dialog-tree';
22
- import { FileDialogTreeFiltersRenderer, FileDialogTreeFiltersRendererFactory, FileDialogTreeFiltersRendererOptions } from './file-dialog-tree-filters-renderer';
18
+ import { LocationListRenderer, LocationListRendererFactory, LocationListRendererOptions } from '../location/index.js';
19
+ import { FileDialogHiddenFilesToggleRenderer, HiddenFilesToggleRendererFactory } from './file-dialog-hidden-files-renderer.js';
20
+ import { DefaultFileDialogService, FileDialogService } from './file-dialog-service.js';
21
+ import { FileDialogTree } from './file-dialog-tree.js';
22
+ import { FileDialogTreeFiltersRenderer, FileDialogTreeFiltersRendererFactory, FileDialogTreeFiltersRendererOptions } from './file-dialog-tree-filters-renderer.js';
23
23
  export default new ContainerModule(bind => {
24
24
  bind(DefaultFileDialogService).toSelf().inSingletonScope();
25
25
  bind(FileDialogService).toService(DefaultFileDialogService);
@@ -18,10 +18,10 @@ import { injectable, inject } from '@theia/core/shared/inversify';
18
18
  import URI from '@theia/core/lib/common/uri';
19
19
  import { MaybeArray, UNTITLED_SCHEME, nls } from '@theia/core/lib/common';
20
20
  import { LabelProvider } from '@theia/core/lib/browser';
21
- import { FileStat } from '../../common/files';
22
- import { DirNode } from '../file-tree';
23
- import { OpenFileDialogFactory, OpenFileDialogProps, SaveFileDialogFactory, SaveFileDialogProps } from './file-dialog';
24
- import { FileService } from '../file-service';
21
+ import { FileStat } from '../../common/files.js';
22
+ import { DirNode } from '../file-tree/index.js';
23
+ import { OpenFileDialogFactory, OpenFileDialogProps, SaveFileDialogFactory, SaveFileDialogProps } from './file-dialog.js';
24
+ import { FileService } from '../file-service.js';
25
25
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
26
26
  import { UserWorkingDirectoryProvider } from '@theia/core/lib/browser/user-working-directory-provider';
27
27
 
@@ -18,8 +18,8 @@ import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
18
18
  let disableJSDOM = enableJSDOM();
19
19
 
20
20
  import { expect } from 'chai';
21
- import { FileDialogTree } from './file-dialog-tree';
22
- import { FileDialogTreeFiltersRenderer } from './file-dialog-tree-filters-renderer';
21
+ import { FileDialogTree } from './file-dialog-tree.js';
22
+ import { FileDialogTreeFiltersRenderer } from './file-dialog-tree-filters-renderer.js';
23
23
 
24
24
  disableJSDOM();
25
25
 
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { ReactRenderer } from '@theia/core/lib/browser/widgets/react-renderer';
18
- import { FileDialogTree } from './file-dialog-tree';
18
+ import { FileDialogTree } from './file-dialog-tree.js';
19
19
  import * as React from '@theia/core/shared/react';
20
20
  import { inject, injectable } from '@theia/core/shared/inversify';
21
21
 
@@ -15,9 +15,9 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { injectable } from '@theia/core/shared/inversify';
18
- import { DirNode, FileTree } from '../file-tree';
18
+ import { DirNode, FileTree } from '../file-tree/index.js';
19
19
  import { TreeNode, CompositeTreeNode } from '@theia/core/lib/browser/tree/tree';
20
- import { FileStat } from '../../common/files';
20
+ import { FileStat } from '../../common/files.js';
21
21
 
22
22
  @injectable()
23
23
  export class FileDialogTree extends FileTree {
@@ -16,8 +16,8 @@
16
16
 
17
17
  import { injectable, inject } from '@theia/core/shared/inversify';
18
18
  import { ContextMenuRenderer, NodeProps, TreeProps, TreeNode, SELECTED_CLASS, FOCUS_CLASS } from '@theia/core/lib/browser';
19
- import { FileTreeWidget, FileStatNode } from '../file-tree';
20
- import { FileDialogModel } from './file-dialog-model';
19
+ import { FileTreeWidget, FileStatNode } from '../file-tree/index.js';
20
+ import { FileDialogModel } from './file-dialog-model.js';
21
21
 
22
22
  export const FILE_DIALOG_CLASS = 'theia-FileDialog';
23
23
  export const NOT_SELECTABLE_CLASS = 'theia-mod-not-selectable';
@@ -18,15 +18,15 @@ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify'
18
18
  import { Message } from '@theia/core/shared/@lumino/messaging';
19
19
  import { Disposable, MaybeArray, nls } from '@theia/core/lib/common';
20
20
  import { AbstractDialog, DialogProps, setEnabled, createIconButton, Widget, codiconArray, Key, LabelProvider } from '@theia/core/lib/browser';
21
- import { FileStatNode } from '../file-tree';
22
- import { LocationListRenderer, LocationListRendererFactory } from '../location';
23
- import { FileDialogModel } from './file-dialog-model';
24
- import { FileDialogWidget } from './file-dialog-widget';
25
- import { FileDialogTreeFiltersRenderer, FileDialogTreeFilters, FileDialogTreeFiltersRendererFactory } from './file-dialog-tree-filters-renderer';
21
+ import { FileStatNode } from '../file-tree/index.js';
22
+ import { LocationListRenderer, LocationListRendererFactory } from '../location/index.js';
23
+ import { FileDialogModel } from './file-dialog-model.js';
24
+ import { FileDialogWidget } from './file-dialog-widget.js';
25
+ import { FileDialogTreeFiltersRenderer, FileDialogTreeFilters, FileDialogTreeFiltersRendererFactory } from './file-dialog-tree-filters-renderer.js';
26
26
  import URI from '@theia/core/lib/common/uri';
27
27
  import { Panel } from '@theia/core/shared/@lumino/widgets';
28
28
  import * as DOMPurify from '@theia/core/shared/dompurify';
29
- import { FileDialogHiddenFilesToggleRenderer, HiddenFilesToggleRendererFactory } from './file-dialog-hidden-files-renderer';
29
+ import { FileDialogHiddenFilesToggleRenderer, HiddenFilesToggleRendererFactory } from './file-dialog-hidden-files-renderer.js';
30
30
 
31
31
  export const OpenFileDialogFactory = Symbol('OpenFileDialogFactory');
32
32
  export interface OpenFileDialogFactory {
@@ -171,7 +171,8 @@ export abstract class FileDialog<T> extends AbstractDialog<T> {
171
171
  this.toDispose.push(this.model.onDidOpenFile(() => this.accept()));
172
172
  this.toDispose.push(this.model.onSelectionChanged(() => this.update()));
173
173
 
174
- const navigationPanel = document.createElement('div');
174
+ const doc = this.node.ownerDocument;
175
+ const navigationPanel = doc.createElement('div');
175
176
  navigationPanel.classList.add(NAVIGATION_PANEL_CLASS);
176
177
  this.contentNode.appendChild(navigationPanel);
177
178
 
@@ -191,7 +192,7 @@ export abstract class FileDialog<T> extends AbstractDialog<T> {
191
192
  this.up.classList.add(NAVIGATION_UP_CLASS);
192
193
  this.up.title = nls.localize('theia/filesystem/dialog/navigateUp', 'Navigate Up One Directory');
193
194
 
194
- const locationListRendererHost = document.createElement('div');
195
+ const locationListRendererHost = doc.createElement('div');
195
196
  this.locationListRenderer = this.locationListFactory({ model: this.model, host: locationListRendererHost });
196
197
  this.toDispose.push(this.locationListRenderer);
197
198
  this.locationListRenderer.host.classList.add(NAVIGATION_LOCATION_LIST_PANEL_CLASS);
@@ -267,11 +268,12 @@ export abstract class FileDialog<T> extends AbstractDialog<T> {
267
268
 
268
269
  protected appendFiltersPanel(): void {
269
270
  if (this.treeFiltersRenderer) {
270
- const filtersPanel = document.createElement('div');
271
+ const doc = this.node.ownerDocument;
272
+ const filtersPanel = doc.createElement('div');
271
273
  filtersPanel.classList.add(FILTERS_PANEL_CLASS);
272
274
  this.contentNode.appendChild(filtersPanel);
273
275
 
274
- const titlePanel = document.createElement('div');
276
+ const titlePanel = doc.createElement('div');
275
277
  titlePanel.innerHTML = DOMPurify.sanitize(nls.localize('theia/filesystem/format', 'Format:'));
276
278
  titlePanel.classList.add(FILTERS_LABEL_CLASS);
277
279
  filtersPanel.appendChild(titlePanel);
@@ -445,16 +447,17 @@ export class SaveFileDialog extends FileDialog<URI | undefined> {
445
447
  protected override onAfterAttach(msg: Message): void {
446
448
  super.onAfterAttach(msg);
447
449
 
448
- const fileNamePanel = document.createElement('div');
450
+ const doc = this.node.ownerDocument;
451
+ const fileNamePanel = doc.createElement('div');
449
452
  fileNamePanel.classList.add(FILENAME_PANEL_CLASS);
450
453
  this.contentNode.appendChild(fileNamePanel);
451
454
 
452
- const titlePanel = document.createElement('div');
455
+ const titlePanel = doc.createElement('div');
453
456
  titlePanel.innerHTML = DOMPurify.sanitize(nls.localizeByDefault('Name:'));
454
457
  titlePanel.classList.add(FILENAME_LABEL_CLASS);
455
458
  fileNamePanel.appendChild(titlePanel);
456
459
 
457
- this.fileNameField = document.createElement('input');
460
+ this.fileNameField = doc.createElement('input');
458
461
  this.fileNameField.type = 'text';
459
462
  this.fileNameField.spellcheck = false;
460
463
  this.fileNameField.classList.add('theia-input', FILENAME_TEXTFIELD_CLASS);
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- export * from './file-dialog';
18
- export * from './file-dialog-container';
19
- export * from './file-dialog-tree-filters-renderer';
20
- export * from './file-dialog-service';
17
+ export * from './file-dialog.js';
18
+ export * from './file-dialog-container.js';
19
+ export * from './file-dialog-tree-filters-renderer.js';
20
+ export * from './file-dialog-service.js';
@@ -24,9 +24,9 @@ import { Disposable, Emitter, URI } from '@theia/core';
24
24
  import { Deferred } from '@theia/core/lib/common/promise-util';
25
25
  import { expect } from 'chai';
26
26
  import * as sinon from 'sinon';
27
- import { FileChangesEvent, FileChangeType, FileStatWithMetadata } from '../common/files';
28
- import { FileResource } from './file-resource';
29
- import { FileService } from './file-service';
27
+ import { FileChangesEvent, FileChangeType, FileStatWithMetadata } from '../common/files.js';
28
+ import { FileResource } from './file-resource.js';
29
+ import { FileService } from './file-service.js';
30
30
 
31
31
  disableJSDOM();
32
32
 
@@ -20,11 +20,11 @@ import { DisposableCollection } from '@theia/core/lib/common/disposable';
20
20
  import { Emitter, Event } from '@theia/core/lib/common/event';
21
21
  import { Readable, ReadableStream } from '@theia/core/lib/common/stream';
22
22
  import URI from '@theia/core/lib/common/uri';
23
- import { FileOperation, FileOperationError, FileOperationResult, ETAG_DISABLED, FileSystemProviderCapabilities, FileReadStreamOptions, BinarySize } from '../common/files';
24
- import { FileService, TextFileOperationError, TextFileOperationResult } from './file-service';
23
+ import { FileOperation, FileOperationError, FileOperationResult, ETAG_DISABLED, FileSystemProviderCapabilities, FileReadStreamOptions, BinarySize } from '../common/files.js';
24
+ import { FileService, TextFileOperationError, TextFileOperationResult } from './file-service.js';
25
25
  import { ConfirmDialog, Dialog } from '@theia/core/lib/browser/dialogs';
26
26
  import { LabelProvider } from '@theia/core/lib/browser/label-provider';
27
- import { GENERAL_MAX_FILE_SIZE_MB } from '../common/filesystem-preferences';
27
+ import { GENERAL_MAX_FILE_SIZE_MB } from '../common/filesystem-preferences.js';
28
28
  import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
29
29
  import { nls } from '@theia/core';
30
30
  import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
@@ -17,7 +17,7 @@
17
17
  import { SelectionService } from '@theia/core/lib/common/selection-service';
18
18
  import { SelectionCommandHandler } from '@theia/core/lib/common/selection-command-handler';
19
19
  import { isObject } from '@theia/core/lib/common';
20
- import { FileStat } from '../common/files';
20
+ import { FileStat } from '../common/files.js';
21
21
 
22
22
  export interface FileSelection {
23
23
  fileStat: FileStat