@theia/filesystem 1.77.0-next.99 → 1.77.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,4 +1,3 @@
1
- "use strict";
2
1
  // *****************************************************************************
3
2
  // Copyright (C) 2020 TypeFox and others.
4
3
  //
@@ -19,45 +18,44 @@
19
18
  * Licensed under the MIT License. See License.txt in the project root for license information.
20
19
  *--------------------------------------------------------------------------------------------*/
21
20
  // based on https://github.com/microsoft/vscode/blob/04c36be045a94fee58e5f8992d3e3fd980294a84/src/vs/platform/files/node/diskFileSystemProvider.ts
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.DiskFileSystemProvider = void 0;
24
- const tslib_1 = require("tslib");
21
+ import { __decorate } from "tslib";
25
22
  /* eslint-disable no-null/no-null */
26
23
  /* eslint-disable @typescript-eslint/no-shadow */
27
- const inversify_1 = require("@theia/core/shared/inversify");
28
- const core_1 = require("@theia/core");
29
- const path_1 = require("path");
30
- const uuid_1 = require("@theia/core/lib/common/uuid");
31
- const os = tslib_1.__importStar(require("os"));
32
- const fs = tslib_1.__importStar(require("fs"));
33
- const fs_1 = require("fs");
34
- const util_1 = require("util");
35
- const uri_1 = tslib_1.__importDefault(require("@theia/core/lib/common/uri"));
36
- const path_2 = require("@theia/core/lib/common/path");
37
- const file_uri_1 = require("@theia/core/lib/common/file-uri");
38
- const event_1 = require("@theia/core/lib/common/event");
39
- const disposable_1 = require("@theia/core/lib/common/disposable");
40
- const os_1 = require("@theia/core/lib/common/os");
41
- const promise_util_1 = require("@theia/core/lib/common/promise-util");
42
- const files_1 = require("../common/files");
43
- const filesystem_watcher_protocol_1 = require("../common/filesystem-watcher-protocol");
44
- const trash = require("trash");
45
- const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
46
- const encoding_service_1 = require("@theia/core/lib/common/encoding-service");
47
- const buffer_1 = require("@theia/core/lib/common/buffer");
48
- const stream_1 = require("@theia/core/lib/common/stream");
49
- const io_1 = require("../common/io");
50
- const stat_mode_1 = require("stat-mode");
24
+ import { injectable, inject, postConstruct, named } from '@theia/core/shared/inversify';
25
+ import { ILogger } from '@theia/core';
26
+ import { basename, dirname, normalize, join } from 'path';
27
+ import { generateUuid } from '@theia/core/lib/common/uuid';
28
+ import * as os from 'os';
29
+ import * as fs from 'fs';
30
+ import { mkdir, open, close, read, write, fdatasync, lstat, stat, readdir, readFile, exists, chmod, rmdir, unlink, rename, futimes, truncate } from 'fs';
31
+ import { promisify } from 'util';
32
+ import URI from '@theia/core/lib/common/uri';
33
+ import { Path } from '@theia/core/lib/common/path';
34
+ import { FileUri } from '@theia/core/lib/common/file-uri';
35
+ import { Event, Emitter } from '@theia/core/lib/common/event';
36
+ import { DisposableCollection } from '@theia/core/lib/common/disposable';
37
+ import { OS, isWindows } from '@theia/core/lib/common/os';
38
+ import { retry } from '@theia/core/lib/common/promise-util';
39
+ import { FileType, createFileSystemProviderError, FileSystemProviderErrorCode, FileSystemProviderError, FilePermission } from '../common/files.js';
40
+ import { FileSystemWatcherServer } from '../common/filesystem-watcher-protocol.js';
41
+ import trash from 'trash';
42
+ import { TextDocument } from 'vscode-languageserver-textdocument';
43
+ import { EncodingService } from '@theia/core/lib/common/encoding-service';
44
+ import { BinaryBuffer } from '@theia/core/lib/common/buffer';
45
+ import { newWriteableStream } from '@theia/core/lib/common/stream';
46
+ import { readFileIntoStream } from '../common/io.js';
47
+ // A CommonJS module whose exports cannot be detected statically, so it is imported as a whole.
48
+ import statMode from 'stat-mode';
51
49
  let DiskFileSystemProvider = class DiskFileSystemProvider {
52
50
  constructor() {
53
51
  this.BUFFER_SIZE = 64 * 1024;
54
- this.onDidChangeFileEmitter = new event_1.Emitter();
52
+ this.onDidChangeFileEmitter = new Emitter();
55
53
  this.onDidChangeFile = this.onDidChangeFileEmitter.event;
56
- this.onFileWatchErrorEmitter = new event_1.Emitter();
54
+ this.onFileWatchErrorEmitter = new Emitter();
57
55
  this.onFileWatchError = this.onFileWatchErrorEmitter.event;
58
- this.toDispose = new disposable_1.DisposableCollection(this.onDidChangeFileEmitter);
56
+ this.toDispose = new DisposableCollection(this.onDidChangeFileEmitter);
59
57
  // #region File Capabilities
60
- this.onDidChangeCapabilities = event_1.Event.None;
58
+ this.onDidChangeCapabilities = Event.None;
61
59
  this.mapHandleToPos = new Map();
62
60
  this.writeHandles = new Set();
63
61
  this.canFlush = true;
@@ -66,7 +64,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
66
64
  this.toDispose.push(this.watcher);
67
65
  this.watcher.setClient({
68
66
  onDidFilesChanged: params => this.onDidChangeFileEmitter.fire(params.changes.map(({ uri, type }) => ({
69
- resource: new uri_1.default(uri),
67
+ resource: new URI(uri),
70
68
  type
71
69
  }))),
72
70
  onError: () => this.onFileWatchErrorEmitter.fire()
@@ -82,7 +80,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
82
80
  16777216 /* FileSystemProviderCapabilities.Access */ |
83
81
  4096 /* FileSystemProviderCapabilities.Trash */ |
84
82
  33554432 /* FileSystemProviderCapabilities.Update */;
85
- if (os_1.OS.type() === os_1.OS.Type.Linux) {
83
+ if (OS.type() === OS.Type.Linux) {
86
84
  this._capabilities |= 1024 /* FileSystemProviderCapabilities.PathCaseSensitive */;
87
85
  }
88
86
  }
@@ -93,13 +91,13 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
93
91
  async stat(resource) {
94
92
  try {
95
93
  const { stat, symbolicLink } = await this.statLink(this.toFilePath(resource)); // cannot use fs.stat() here to support links properly
96
- const mode = new stat_mode_1.Mode(stat);
94
+ const mode = new statMode.Mode(stat);
97
95
  return {
98
96
  type: this.toType(stat, symbolicLink),
99
97
  ctime: stat.birthtime.getTime(), // intentionally not using ctime here, we want the creation time
100
98
  mtime: stat.mtime.getTime(),
101
99
  size: stat.size,
102
- permissions: !mode.owner.write ? files_1.FilePermission.Readonly : undefined,
100
+ permissions: !mode.owner.write ? FilePermission.Readonly : undefined,
103
101
  };
104
102
  }
105
103
  catch (error) {
@@ -108,20 +106,20 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
108
106
  }
109
107
  async access(resource, mode) {
110
108
  try {
111
- await (0, util_1.promisify)(fs.access)(this.toFilePath(resource), mode);
109
+ await promisify(fs.access)(this.toFilePath(resource), mode);
112
110
  }
113
111
  catch (error) {
114
112
  throw this.toFileSystemProviderError(error);
115
113
  }
116
114
  }
117
115
  async fsPath(resource) {
118
- return file_uri_1.FileUri.fsPath(resource);
116
+ return FileUri.fsPath(resource);
119
117
  }
120
118
  async statLink(path) {
121
119
  // First stat the link
122
120
  let lstats;
123
121
  try {
124
- lstats = await (0, util_1.promisify)(fs_1.lstat)(path);
122
+ lstats = await promisify(lstat)(path);
125
123
  // Return early if the stat is not a symbolic link at all
126
124
  if (!lstats.isSymbolicLink()) {
127
125
  return { stat: lstats };
@@ -133,7 +131,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
133
131
  // If the stat is a symbolic link or failed to stat, use fs.stat()
134
132
  // which for symbolic links will stat the target they point to
135
133
  try {
136
- const stats = await (0, util_1.promisify)(fs_1.stat)(path);
134
+ const stats = await promisify(stat)(path);
137
135
  return { stat: stats, symbolicLink: lstats?.isSymbolicLink() ? { dangling: false } : undefined };
138
136
  }
139
137
  catch (error) {
@@ -147,7 +145,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
147
145
  }
148
146
  async readdir(resource) {
149
147
  try {
150
- const children = await (0, util_1.promisify)(fs.readdir)(this.toFilePath(resource));
148
+ const children = await promisify(fs.readdir)(this.toFilePath(resource));
151
149
  const result = [];
152
150
  await Promise.all(children.map(async (child) => {
153
151
  try {
@@ -170,20 +168,20 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
170
168
  // - files that are neither file nor directory are FileType.Unknown
171
169
  let type;
172
170
  if (symbolicLink?.dangling) {
173
- type = files_1.FileType.Unknown;
171
+ type = FileType.Unknown;
174
172
  }
175
173
  else if (entry.isFile()) {
176
- type = files_1.FileType.File;
174
+ type = FileType.File;
177
175
  }
178
176
  else if (entry.isDirectory()) {
179
- type = files_1.FileType.Directory;
177
+ type = FileType.Directory;
180
178
  }
181
179
  else {
182
- type = files_1.FileType.Unknown;
180
+ type = FileType.Unknown;
183
181
  }
184
182
  // Always signal symbolic link as file type additionally
185
183
  if (symbolicLink) {
186
- type |= files_1.FileType.SymbolicLink;
184
+ type |= FileType.SymbolicLink;
187
185
  }
188
186
  return type;
189
187
  }
@@ -192,15 +190,15 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
192
190
  async readFile(resource) {
193
191
  try {
194
192
  const filePath = this.toFilePath(resource);
195
- return await (0, util_1.promisify)(fs_1.readFile)(filePath);
193
+ return await promisify(readFile)(filePath);
196
194
  }
197
195
  catch (error) {
198
196
  throw this.toFileSystemProviderError(error);
199
197
  }
200
198
  }
201
199
  readFileStream(resource, opts, token) {
202
- const stream = (0, stream_1.newWriteableStream)(data => buffer_1.BinaryBuffer.concat(data.map(data => buffer_1.BinaryBuffer.wrap(data))).buffer);
203
- (0, io_1.readFileIntoStream)(this, resource, stream, data => data.buffer, {
200
+ const stream = newWriteableStream(data => BinaryBuffer.concat(data.map(data => BinaryBuffer.wrap(data))).buffer);
201
+ readFileIntoStream(this, resource, stream, data => data.buffer, {
204
202
  ...opts,
205
203
  bufferSize: this.BUFFER_SIZE
206
204
  }, token);
@@ -212,14 +210,14 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
212
210
  const filePath = this.toFilePath(resource);
213
211
  // Validate target unless { create: true, overwrite: true }
214
212
  if (!opts.create || !opts.overwrite) {
215
- const fileExists = await (0, util_1.promisify)(fs_1.exists)(filePath);
213
+ const fileExists = await promisify(exists)(filePath);
216
214
  if (fileExists) {
217
215
  if (!opts.overwrite) {
218
- throw (0, files_1.createFileSystemProviderError)('File already exists', files_1.FileSystemProviderErrorCode.FileExists);
216
+ throw createFileSystemProviderError('File already exists', FileSystemProviderErrorCode.FileExists);
219
217
  }
220
218
  }
221
219
  else if (!opts.create) {
222
- throw (0, files_1.createFileSystemProviderError)('File does not exist', files_1.FileSystemProviderErrorCode.FileNotFound);
220
+ throw createFileSystemProviderError('File does not exist', FileSystemProviderErrorCode.FileNotFound);
223
221
  }
224
222
  }
225
223
  // Open
@@ -241,13 +239,13 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
241
239
  const filePath = this.toFilePath(resource);
242
240
  let flags = undefined;
243
241
  if (opts.create) {
244
- if (os_1.isWindows && await (0, util_1.promisify)(fs_1.exists)(filePath)) {
242
+ if (isWindows && await promisify(exists)(filePath)) {
245
243
  try {
246
244
  // On Windows and if the file exists, we use a different strategy of saving the file
247
245
  // by first truncating the file and then writing with r+ flag. This helps to save hidden files on Windows
248
246
  // (see https://github.com/Microsoft/vscode/issues/931) and prevent removing alternate data streams
249
247
  // (see https://github.com/Microsoft/vscode/issues/6363)
250
- await (0, util_1.promisify)(fs_1.truncate)(filePath, 0);
248
+ await promisify(truncate)(filePath, 0);
251
249
  // After a successful truncate() the flag can be set to 'r+' which will not truncate.
252
250
  flags = 'r+';
253
251
  }
@@ -268,7 +266,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
268
266
  // the file.
269
267
  flags = 'r';
270
268
  }
271
- const handle = await (0, util_1.promisify)(fs_1.open)(filePath, flags);
269
+ const handle = await promisify(open)(filePath, flags);
272
270
  // remember this handle to track file position of the handle
273
271
  // we init the position to 0 since the file descriptor was
274
272
  // just created and the position was not moved so far (see
@@ -293,7 +291,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
293
291
  // to flush the contents to disk if possible.
294
292
  if (this.writeHandles.delete(fd) && this.canFlush) {
295
293
  try {
296
- await (0, util_1.promisify)(fs_1.fdatasync)(fd);
294
+ await promisify(fdatasync)(fd);
297
295
  }
298
296
  catch (error) {
299
297
  // In some exotic setups it is well possible that node fails to sync
@@ -302,7 +300,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
302
300
  this.logger.error(error);
303
301
  }
304
302
  }
305
- return await (0, util_1.promisify)(fs_1.close)(fd);
303
+ return await promisify(close)(fd);
306
304
  }
307
305
  catch (error) {
308
306
  throw this.toFileSystemProviderError(error);
@@ -312,7 +310,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
312
310
  const normalizedPos = this.normalizePos(fd, pos);
313
311
  let bytesRead = null;
314
312
  try {
315
- const result = await (0, util_1.promisify)(fs_1.read)(fd, data, offset, length, normalizedPos);
313
+ const result = await promisify(read)(fd, data, offset, length, normalizedPos);
316
314
  if (typeof result === 'number') {
317
315
  bytesRead = result; // node.d.ts fail
318
316
  }
@@ -367,13 +365,13 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
367
365
  // we know at this point that the file to write to is truncated and thus empty
368
366
  // if the write now fails, the file remains empty. as such we really try hard
369
367
  // to ensure the write succeeds by retrying up to three times.
370
- return (0, promise_util_1.retry)(() => this.doWrite(fd, pos, data, offset, length), 100 /* ms delay */, 3 /* retries */);
368
+ return retry(() => this.doWrite(fd, pos, data, offset, length), 100 /* ms delay */, 3 /* retries */);
371
369
  }
372
370
  async doWrite(fd, pos, data, offset, length) {
373
371
  const normalizedPos = this.normalizePos(fd, pos);
374
372
  let bytesWritten = null;
375
373
  try {
376
- const result = await (0, util_1.promisify)(fs_1.write)(fd, data, offset, length, normalizedPos);
374
+ const result = await promisify(write)(fd, data, offset, length, normalizedPos);
377
375
  if (typeof result === 'number') {
378
376
  bytesWritten = result; // node.d.ts fail
379
377
  }
@@ -393,7 +391,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
393
391
  // #region Move/Copy/Delete/Create Folder
394
392
  async mkdir(resource) {
395
393
  try {
396
- await (0, util_1.promisify)(fs_1.mkdir)(this.toFilePath(resource));
394
+ await promisify(mkdir)(this.toFilePath(resource));
397
395
  }
398
396
  catch (error) {
399
397
  throw this.toFileSystemProviderError(error);
@@ -414,12 +412,12 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
414
412
  await this.rimraf(filePath);
415
413
  }
416
414
  else {
417
- const stat = await (0, util_1.promisify)(fs_1.lstat)(filePath);
415
+ const stat = await promisify(lstat)(filePath);
418
416
  if (stat.isDirectory() && !stat.isSymbolicLink()) {
419
- await (0, util_1.promisify)(fs_1.rmdir)(filePath);
417
+ await promisify(rmdir)(filePath);
420
418
  }
421
419
  else {
422
- await (0, util_1.promisify)(fs_1.unlink)(filePath);
420
+ await promisify(unlink)(filePath);
423
421
  }
424
422
  }
425
423
  }
@@ -428,16 +426,16 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
428
426
  }
429
427
  }
430
428
  rimraf(path) {
431
- if (new path_2.Path(path).isRoot) {
429
+ if (new Path(path).isRoot) {
432
430
  throw new Error('rimraf - will refuse to recursively delete root');
433
431
  }
434
432
  return this.rimrafMove(path);
435
433
  }
436
434
  async rimrafMove(path) {
437
435
  try {
438
- const pathInTemp = (0, path_1.join)(os.tmpdir(), (0, uuid_1.generateUuid)());
436
+ const pathInTemp = join(os.tmpdir(), generateUuid());
439
437
  try {
440
- await (0, util_1.promisify)(fs_1.rename)(path, pathInTemp);
438
+ await promisify(rename)(path, pathInTemp);
441
439
  }
442
440
  catch (error) {
443
441
  return this.rimrafUnlink(path); // if rename fails, delete without tmp dir
@@ -455,22 +453,22 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
455
453
  }
456
454
  async rimrafUnlink(path) {
457
455
  try {
458
- const stat = await (0, util_1.promisify)(fs_1.lstat)(path);
456
+ const stat = await promisify(lstat)(path);
459
457
  // Folder delete (recursive) - NOT for symbolic links though!
460
458
  if (stat.isDirectory() && !stat.isSymbolicLink()) {
461
459
  // Children
462
- const children = await (0, util_1.promisify)(fs_1.readdir)(path);
463
- await Promise.all(children.map(child => this.rimrafUnlink((0, path_1.join)(path, child))));
460
+ const children = await promisify(readdir)(path);
461
+ await Promise.all(children.map(child => this.rimrafUnlink(join(path, child))));
464
462
  // Folder
465
- await (0, util_1.promisify)(fs_1.rmdir)(path);
463
+ await promisify(rmdir)(path);
466
464
  }
467
465
  else {
468
466
  // chmod as needed to allow for unlink
469
467
  const mode = stat.mode;
470
468
  if (!(mode & 128)) { // 128 === 0200
471
- await (0, util_1.promisify)(fs_1.chmod)(path, mode | 128);
469
+ await promisify(chmod)(path, mode | 128);
472
470
  }
473
- return (0, util_1.promisify)(fs_1.unlink)(path);
471
+ return promisify(unlink)(path);
474
472
  }
475
473
  }
476
474
  catch (error) {
@@ -495,7 +493,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
495
493
  // rewrite some typical errors that can happen especially around symlinks
496
494
  // to something the user can better understand
497
495
  if (error.code === 'EINVAL' || error.code === 'EBUSY' || error.code === 'ENAMETOOLONG') {
498
- error = new Error(`Unable to move '${(0, path_1.basename)(fromFilePath)}' into '${(0, path_1.basename)((0, path_1.dirname)(toFilePath))}' (${error.toString()}).`);
496
+ error = new Error(`Unable to move '${basename(fromFilePath)}' into '${basename(dirname(toFilePath))}' (${error.toString()}).`);
499
497
  }
500
498
  throw this.toFileSystemProviderError(error);
501
499
  }
@@ -505,21 +503,21 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
505
503
  return Promise.resolve();
506
504
  }
507
505
  async function updateMtime(path) {
508
- const stat = await (0, util_1.promisify)(fs_1.lstat)(path);
506
+ const stat = await promisify(lstat)(path);
509
507
  if (stat.isDirectory() || stat.isSymbolicLink()) {
510
508
  return Promise.resolve(); // only for files
511
509
  }
512
- const fd = await (0, util_1.promisify)(fs_1.open)(path, 'a');
510
+ const fd = await promisify(open)(path, 'a');
513
511
  try {
514
- await (0, util_1.promisify)(fs_1.futimes)(fd, stat.atime, new Date());
512
+ await promisify(futimes)(fd, stat.atime, new Date());
515
513
  }
516
514
  catch (error) {
517
515
  // ignore
518
516
  }
519
- return (0, util_1.promisify)(fs_1.close)(fd);
517
+ return promisify(close)(fd);
520
518
  }
521
519
  try {
522
- await (0, util_1.promisify)(fs_1.rename)(source, target);
520
+ await promisify(rename)(source, target);
523
521
  await updateMtime(target);
524
522
  }
525
523
  catch (error) {
@@ -557,7 +555,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
557
555
  // rewrite some typical errors that can happen especially around symlinks
558
556
  // to something the user can better understand
559
557
  if (error.code === 'EINVAL' || error.code === 'EBUSY' || error.code === 'ENAMETOOLONG') {
560
- error = new Error(`Unable to copy '${(0, path_1.basename)(fromFilePath)}' into '${(0, path_1.basename)((0, path_1.dirname)(toFilePath))}' (${error.toString()}).`);
558
+ error = new Error(`Unable to copy '${basename(fromFilePath)}' into '${basename(dirname(toFilePath))}' (${error.toString()}).`);
561
559
  }
562
560
  throw this.toFileSystemProviderError(error);
563
561
  }
@@ -571,12 +569,12 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
571
569
  isSameResourceWithDifferentPathCase = fromFilePath.toLowerCase() === toFilePath.toLowerCase();
572
570
  }
573
571
  if (isSameResourceWithDifferentPathCase && mode === 'copy') {
574
- throw (0, files_1.createFileSystemProviderError)("'File cannot be copied to same path with different path case", files_1.FileSystemProviderErrorCode.FileExists);
572
+ throw createFileSystemProviderError("'File cannot be copied to same path with different path case", FileSystemProviderErrorCode.FileExists);
575
573
  }
576
574
  // handle existing target (unless this is a case change)
577
- if (!isSameResourceWithDifferentPathCase && await (0, util_1.promisify)(fs_1.exists)(toFilePath)) {
575
+ if (!isSameResourceWithDifferentPathCase && await promisify(exists)(toFilePath)) {
578
576
  if (!overwrite) {
579
- throw (0, files_1.createFileSystemProviderError)('File at target already exists', files_1.FileSystemProviderErrorCode.FileExists);
577
+ throw createFileSystemProviderError('File at target already exists', FileSystemProviderErrorCode.FileExists);
580
578
  }
581
579
  // Delete target
582
580
  await this.delete(to, { recursive: true, useTrash: false });
@@ -584,7 +582,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
584
582
  }
585
583
  async doCopy(source, target, copiedSourcesIn) {
586
584
  const copiedSources = copiedSourcesIn ? copiedSourcesIn : Object.create(null);
587
- const fileStat = await (0, util_1.promisify)(fs_1.stat)(source);
585
+ const fileStat = await promisify(stat)(source);
588
586
  if (!fileStat.isDirectory()) {
589
587
  return this.doCopyFile(source, target, fileStat.mode & 511);
590
588
  }
@@ -595,16 +593,16 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
595
593
  // Create folder
596
594
  await this.mkdirp(target, fileStat.mode & 511);
597
595
  // Copy each file recursively
598
- const files = await (0, util_1.promisify)(fs_1.readdir)(source);
596
+ const files = await promisify(readdir)(source);
599
597
  for (let i = 0; i < files.length; i++) {
600
598
  const file = files[i];
601
- await this.doCopy((0, path_1.join)(source, file), (0, path_1.join)(target, file), copiedSources);
599
+ await this.doCopy(join(source, file), join(target, file), copiedSources);
602
600
  }
603
601
  }
604
602
  async mkdirp(path, mode) {
605
603
  const mkdir = async () => {
606
604
  try {
607
- await (0, util_1.promisify)(fs.mkdir)(path, mode);
605
+ await promisify(fs.mkdir)(path, mode);
608
606
  }
609
607
  catch (error) {
610
608
  // ENOENT: a parent folder does not exist yet
@@ -615,7 +613,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
615
613
  // return normally in that case if its a folder
616
614
  let targetIsFile = false;
617
615
  try {
618
- const fileStat = await (0, util_1.promisify)(fs.stat)(path);
616
+ const fileStat = await promisify(fs.stat)(path);
619
617
  targetIsFile = !fileStat.isDirectory();
620
618
  }
621
619
  catch (statError) {
@@ -627,7 +625,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
627
625
  }
628
626
  };
629
627
  // stop at root
630
- if (path === (0, path_1.dirname)(path)) {
628
+ if (path === dirname(path)) {
631
629
  return;
632
630
  }
633
631
  try {
@@ -637,7 +635,7 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
637
635
  // ENOENT: a parent folder does not exist yet, continue
638
636
  // to create the parent folder and then try again.
639
637
  if (error.code === 'ENOENT') {
640
- await this.mkdirp((0, path_1.dirname)(path), mode);
638
+ await this.mkdirp(dirname(path), mode);
641
639
  return mkdir();
642
640
  }
643
641
  // Any other error
@@ -708,8 +706,8 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
708
706
  async updateFile(resource, changes, opts) {
709
707
  try {
710
708
  const content = await this.readFile(resource);
711
- const decoded = this.encodingService.decode(buffer_1.BinaryBuffer.wrap(content), opts.readEncoding);
712
- const newContent = vscode_languageserver_textdocument_1.TextDocument.update(vscode_languageserver_textdocument_1.TextDocument.create('', '', 1, decoded), changes, 2).getText();
709
+ const decoded = this.encodingService.decode(BinaryBuffer.wrap(content), opts.readEncoding);
710
+ const newContent = TextDocument.update(TextDocument.create('', '', 1, decoded), changes, 2).getText();
713
711
  const encoding = await this.encodingService.toResourceEncoding(opts.writeEncoding, {
714
712
  overwriteEncoding: opts.overwriteEncoding,
715
713
  read: async (length) => {
@@ -735,61 +733,55 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
735
733
  }
736
734
  // #region Helpers
737
735
  toFilePath(resource) {
738
- return (0, path_1.normalize)(file_uri_1.FileUri.fsPath(resource));
736
+ return normalize(FileUri.fsPath(resource));
739
737
  }
740
738
  toFileSystemProviderError(error) {
741
- if (error instanceof files_1.FileSystemProviderError) {
739
+ if (error instanceof FileSystemProviderError) {
742
740
  return error; // avoid double conversion
743
741
  }
744
742
  let code;
745
743
  switch (error.code) {
746
744
  case 'ENOENT':
747
- code = files_1.FileSystemProviderErrorCode.FileNotFound;
745
+ code = FileSystemProviderErrorCode.FileNotFound;
748
746
  break;
749
747
  case 'EISDIR':
750
- code = files_1.FileSystemProviderErrorCode.FileIsADirectory;
748
+ code = FileSystemProviderErrorCode.FileIsADirectory;
751
749
  break;
752
750
  case 'ENOTDIR':
753
- code = files_1.FileSystemProviderErrorCode.FileNotADirectory;
751
+ code = FileSystemProviderErrorCode.FileNotADirectory;
754
752
  break;
755
753
  case 'EEXIST':
756
- code = files_1.FileSystemProviderErrorCode.FileExists;
754
+ code = FileSystemProviderErrorCode.FileExists;
757
755
  break;
758
756
  case 'EPERM':
759
757
  case 'EACCES':
760
- code = files_1.FileSystemProviderErrorCode.NoPermissions;
758
+ code = FileSystemProviderErrorCode.NoPermissions;
761
759
  break;
762
760
  default:
763
- code = files_1.FileSystemProviderErrorCode.Unknown;
761
+ code = FileSystemProviderErrorCode.Unknown;
764
762
  }
765
- return (0, files_1.createFileSystemProviderError)(error, code);
763
+ return createFileSystemProviderError(error, code);
766
764
  }
767
765
  // #endregion
768
766
  dispose() {
769
767
  this.toDispose.dispose();
770
768
  }
771
769
  };
772
- exports.DiskFileSystemProvider = DiskFileSystemProvider;
773
- tslib_1.__decorate([
774
- (0, inversify_1.inject)(filesystem_watcher_protocol_1.FileSystemWatcherServer),
775
- tslib_1.__metadata("design:type", Object)
770
+ __decorate([
771
+ inject(FileSystemWatcherServer)
776
772
  ], DiskFileSystemProvider.prototype, "watcher", void 0);
777
- tslib_1.__decorate([
778
- (0, inversify_1.inject)(encoding_service_1.EncodingService),
779
- tslib_1.__metadata("design:type", encoding_service_1.EncodingService)
773
+ __decorate([
774
+ inject(EncodingService)
780
775
  ], DiskFileSystemProvider.prototype, "encodingService", void 0);
781
- tslib_1.__decorate([
782
- (0, inversify_1.inject)(core_1.ILogger),
783
- (0, inversify_1.named)('filesystem:DiskFileSystemProvider'),
784
- tslib_1.__metadata("design:type", Object)
776
+ __decorate([
777
+ inject(ILogger),
778
+ named('filesystem:DiskFileSystemProvider')
785
779
  ], DiskFileSystemProvider.prototype, "logger", void 0);
786
- tslib_1.__decorate([
787
- (0, inversify_1.postConstruct)(),
788
- tslib_1.__metadata("design:type", Function),
789
- tslib_1.__metadata("design:paramtypes", []),
790
- tslib_1.__metadata("design:returntype", void 0)
780
+ __decorate([
781
+ postConstruct()
791
782
  ], DiskFileSystemProvider.prototype, "init", null);
792
- exports.DiskFileSystemProvider = DiskFileSystemProvider = tslib_1.__decorate([
793
- (0, inversify_1.injectable)()
783
+ DiskFileSystemProvider = __decorate([
784
+ injectable()
794
785
  ], DiskFileSystemProvider);
786
+ export { DiskFileSystemProvider };
795
787
  //# sourceMappingURL=disk-file-system-provider.js.map