@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,4 +1,3 @@
1
- "use strict";
2
1
  // *****************************************************************************
3
2
  // Copyright (C) 2026 Ehab Younes and others.
4
3
  //
@@ -14,26 +13,24 @@
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 assert = tslib_1.__importStar(require("assert"));
20
- const path = tslib_1.__importStar(require("path"));
21
- const temp = tslib_1.__importStar(require("temp"));
22
- const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
23
- const events_1 = require("events");
24
- const promise_util_1 = require("@theia/core/lib/common/promise-util");
25
- const core_1 = require("@theia/core");
26
- const node_1 = require("@theia/core/lib/node");
27
- const watcher_test_helper_1 = require("../test/watcher-test-helper");
28
- const node_directory_watcher_1 = require("./node-directory-watcher");
29
- const watcher_host_1 = require("./watcher-host");
16
+ import * as assert from 'assert';
17
+ import * as path from 'path';
18
+ import * as temp from 'temp';
19
+ import * as fs from '@theia/core/shared/fs-extra';
20
+ import { EventEmitter } from 'events';
21
+ import { Deferred, wait } from '@theia/core/lib/common/promise-util';
22
+ import { isWindows } from '@theia/core';
23
+ import { FileUri } from '@theia/core/lib/node';
24
+ import { NO_LOGGING, TempDir, WATCHER_TIMINGS as TIMINGS } from '../test/watcher-test-helper.js';
25
+ import { DirectoryWatcherProvider, NodeDirectoryWatcher } from './node-directory-watcher.js';
26
+ import { WatcherHost } from './watcher-host.js';
30
27
  const track = temp.track();
31
28
  /** How long to keep listening after the expected changes arrived, to catch any that should not have. */
32
- const SETTLE_DELAY = watcher_test_helper_1.WATCHER_TIMINGS.deleteDelay * 3;
29
+ const SETTLE_DELAY = TIMINGS.deleteDelay * 3;
33
30
  /** Indexed by `FileChangeType`. */
34
31
  const CHANGE_NAMES = ['updated', 'added', 'deleted'];
35
32
  /** Replaces the whole platform boundary, so behaviour no host can reproduce is driven directly. */
36
- class TestHost extends watcher_host_1.WatcherHost {
33
+ class TestHost extends WatcherHost {
37
34
  constructor() {
38
35
  super(...arguments);
39
36
  /** Set to exercise the macOS and Windows name handling on any host. */
@@ -42,7 +39,7 @@ class TestHost extends watcher_host_1.WatcherHost {
42
39
  this.caseInsensitive = super.caseInsensitiveFileNames;
43
40
  /** Set to make `fs.watch` refuse, as on EACCES or an exhausted handle budget. */
44
41
  this.refuseToOpen = false;
45
- this.missing = new promise_util_1.Deferred();
42
+ this.missing = new Deferred();
46
43
  /** Resolves once `expectMissing` was told a path and that path was found missing. */
47
44
  this.whenMissing = this.missing.promise;
48
45
  /** How many times a directory was read. */
@@ -92,17 +89,17 @@ class TestHost extends watcher_host_1.WatcherHost {
92
89
  throw new Error('EACCES');
93
90
  }
94
91
  this.listener = listener;
95
- this.handleEmitter = new events_1.EventEmitter();
92
+ this.handleEmitter = new EventEmitter();
96
93
  return Object.assign(this.handleEmitter, { close: () => { this.listener = undefined; } });
97
94
  }
98
95
  }
99
96
  /** A temporary directory, the watchers on it, and the changes their clients were told about. */
100
- class Sandbox extends watcher_test_helper_1.TempDir {
97
+ class Sandbox extends TempDir {
101
98
  constructor() {
102
99
  super(fs.realpathSync.native(temp.mkdirSync('node-directory-watcher')));
103
100
  /** Errors logged by the watchers of this sandbox. */
104
101
  this.errors = [];
105
- this.logging = { ...watcher_test_helper_1.NO_LOGGING, error: (message) => this.errors.push(message) };
102
+ this.logging = { ...NO_LOGGING, error: (message) => this.errors.push(message) };
106
103
  this.reports = [];
107
104
  /** The platform boundary every watcher of this sandbox shares. */
108
105
  this.host = new TestHost(this.logging);
@@ -137,7 +134,7 @@ class Sandbox extends watcher_test_helper_1.TempDir {
137
134
  }
138
135
  /** A watcher whose events the test feeds in, not yet started. */
139
136
  starting(target = this.root, ...requests) {
140
- return this.track(new node_directory_watcher_1.NodeDirectoryWatcher(target, this.logging, this, watcher_test_helper_1.WATCHER_TIMINGS, this.host), requests);
137
+ return this.track(new NodeDirectoryWatcher(target, this.logging, this, TIMINGS, this.host), requests);
141
138
  }
142
139
  /** Feeds the watchers of this sandbox an event as the platform would. */
143
140
  fire(eventType, fileName) {
@@ -145,7 +142,7 @@ class Sandbox extends watcher_test_helper_1.TempDir {
145
142
  }
146
143
  /** A watcher driven by a real `fs.watch` handle, already started. */
147
144
  async watchingForReal(target = this.root, ...requests) {
148
- const watcher = this.track(new node_directory_watcher_1.NodeDirectoryWatcher(target, this.logging, this, watcher_test_helper_1.WATCHER_TIMINGS, new watcher_host_1.WatcherHost(this.logging)), requests);
145
+ const watcher = this.track(new NodeDirectoryWatcher(target, this.logging, this, TIMINGS, new WatcherHost(this.logging)), requests);
149
146
  await watcher.whenStarted;
150
147
  await this.warmUp(watcher, target);
151
148
  return watcher;
@@ -161,7 +158,7 @@ class Sandbox extends watcher_test_helper_1.TempDir {
161
158
  const deadline = Date.now() + 5000;
162
159
  while (!this.reported(99).some(entry => entry.includes('.warmup')) && Date.now() < deadline) {
163
160
  fs.writeFileSync(probe, 'ping');
164
- await (0, promise_util_1.wait)(100);
161
+ await wait(100);
165
162
  }
166
163
  fs.removeSync(probe);
167
164
  }
@@ -171,7 +168,7 @@ class Sandbox extends watcher_test_helper_1.TempDir {
171
168
  .filter(report => report.clients?.includes(clientId))
172
169
  .flatMap(report => report.changes)
173
170
  .map(change => {
174
- const relative = path.relative(this.root, node_1.FileUri.fsPath(change.uri)).split(path.sep).join('/');
171
+ const relative = path.relative(this.root, FileUri.fsPath(change.uri)).split(path.sep).join('/');
175
172
  return `${CHANGE_NAMES[change.type]} ${relative || '.'}`;
176
173
  });
177
174
  }
@@ -202,7 +199,7 @@ class Sandbox extends watcher_test_helper_1.TempDir {
202
199
  });
203
200
  this.notify = undefined;
204
201
  }
205
- await (0, promise_util_1.wait)(SETTLE_DELAY);
202
+ await wait(SETTLE_DELAY);
206
203
  }
207
204
  }
208
205
  describe('node-directory-watcher', function () {
@@ -234,7 +231,7 @@ describe('node-directory-watcher', function () {
234
231
  box.write('a.txt');
235
232
  box.host.duringNextRead = async () => {
236
233
  box.fire('change', 'a.txt');
237
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
234
+ await wait(TIMINGS.changeDelay * 4);
238
235
  };
239
236
  await box.watching(box.root, box.directory());
240
237
  await box.expect(1, 'updated a.txt');
@@ -243,7 +240,7 @@ describe('node-directory-watcher', function () {
243
240
  box.host.duringNextRead = async () => {
244
241
  box.write('a.txt');
245
242
  box.fire('rename', 'a.txt');
246
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
243
+ await wait(TIMINGS.changeDelay * 4);
247
244
  };
248
245
  await box.watching(box.root, box.directory());
249
246
  await box.expect(1, 'added a.txt');
@@ -268,10 +265,10 @@ describe('node-directory-watcher', function () {
268
265
  box.write('a.txt');
269
266
  box.write('b.txt');
270
267
  // A long grace period, so the deletions wait for the second batch on a slow host.
271
- const watcher = new node_directory_watcher_1.NodeDirectoryWatcher(box.root, watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, deleteDelay: 1000 }, box.host);
268
+ const watcher = new NodeDirectoryWatcher(box.root, NO_LOGGING, box, { ...TIMINGS, deleteDelay: 1000 }, box.host);
272
269
  watcher.addRequest(0, box.directory());
273
270
  await watcher.whenStarted;
274
- const lookedUp = new promise_util_1.Deferred();
271
+ const lookedUp = new Deferred();
275
272
  const childLookup = box.host.childLookup.bind(box.host);
276
273
  box.host.childLookup = directory => {
277
274
  const storedName = childLookup(directory);
@@ -417,7 +414,7 @@ describe('node-directory-watcher', function () {
417
414
  });
418
415
  it('reports changes under the path each request asked for', async () => {
419
416
  const real = box.mkdir('real');
420
- fs.symlinkSync(real, box.path('link'), core_1.isWindows ? 'junction' : 'dir');
417
+ fs.symlinkSync(real, box.path('link'), isWindows ? 'junction' : 'dir');
421
418
  await box.watching(real, box.directory(real), box.directory(box.path('link'), 2, [], real));
422
419
  box.write('real', 'a.txt');
423
420
  box.fire('rename', 'a.txt');
@@ -483,7 +480,7 @@ describe('node-directory-watcher', function () {
483
480
  });
484
481
  it('is followed through a symbolic link above it once it appears', async () => {
485
482
  const real = box.mkdir('real');
486
- fs.symlinkSync(real, box.path('link'), core_1.isWindows ? 'junction' : 'dir');
483
+ fs.symlinkSync(real, box.path('link'), isWindows ? 'junction' : 'dir');
487
484
  const target = box.path('link', 'later');
488
485
  box.host.expectMissing(target);
489
486
  // Missing, so the provider could not resolve the link and kept the path as it was asked for.
@@ -506,7 +503,7 @@ describe('node-directory-watcher', function () {
506
503
  watcher.addRequest(1, box.directory(box.root, 2));
507
504
  box.remove('later.txt');
508
505
  box.host.fail(new Error('EPERM'));
509
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 2);
506
+ await wait(TIMINGS.existencePollDelay * 2);
510
507
  box.write('after.txt');
511
508
  box.fire('rename', 'after.txt');
512
509
  await box.expectAmong(2, 'added after.txt');
@@ -619,7 +616,7 @@ describe('node-directory-watcher', function () {
619
616
  };
620
617
  box.mkdir('ws');
621
618
  box.write('ws', 'a.txt');
622
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 4);
619
+ await wait(TIMINGS.existencePollDelay * 4);
623
620
  box.mkdir('ws');
624
621
  box.write('ws', 'a.txt');
625
622
  await box.expect(1, 'deleted ws', 'added ws');
@@ -667,7 +664,7 @@ describe('node-directory-watcher', function () {
667
664
  box.host.duringNextRead = async () => {
668
665
  box.write('ws', 'a.txt');
669
666
  box.fire('change', 'a.txt');
670
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
667
+ await wait(TIMINGS.changeDelay * 4);
671
668
  };
672
669
  await box.watching(target, box.directory(target));
673
670
  await box.expect(1);
@@ -685,7 +682,7 @@ describe('node-directory-watcher', function () {
685
682
  };
686
683
  box.mkdir('cfg');
687
684
  box.write('cfg', 'settings.json');
688
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 6);
685
+ await wait(TIMINGS.existencePollDelay * 6);
689
686
  await box.expect(1, 'deleted cfg');
690
687
  await box.expect(2);
691
688
  });
@@ -698,7 +695,7 @@ describe('node-directory-watcher', function () {
698
695
  box.host.duringNextRead = async () => {
699
696
  box.write('ws', 'a.txt');
700
697
  box.fire('rename', 'a.txt');
701
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
698
+ await wait(TIMINGS.changeDelay * 4);
702
699
  fs.renameSync(target, box.path('ws-old'));
703
700
  box.mkdir('ws');
704
701
  box.write('ws', 'a.txt');
@@ -794,7 +791,7 @@ describe('node-directory-watcher', function () {
794
791
  box.host.refuseToOpen = true;
795
792
  box.host.expectMissing(target);
796
793
  box.starting(target, box.directory(target));
797
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 2);
794
+ await wait(TIMINGS.existencePollDelay * 2);
798
795
  box.remove('ws');
799
796
  await box.host.whenMissing;
800
797
  await box.expect(1, 'deleted ws');
@@ -869,7 +866,7 @@ describe('node-directory-watcher', function () {
869
866
  const watcher = box.starting(box.root);
870
867
  box.host.refuseToOpen = true;
871
868
  // Several poll rounds, one report.
872
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 4);
869
+ await wait(TIMINGS.existencePollDelay * 4);
873
870
  assert.strictEqual(box.errors.length, 1, `expected one report, got ${JSON.stringify(box.errors)}`);
874
871
  box.host.refuseToOpen = false;
875
872
  watcher.addRequest(0, box.directory());
@@ -884,7 +881,7 @@ describe('node-directory-watcher', function () {
884
881
  // decline this one and leave the watcher holding a dead handle for good.
885
882
  box.host.duringNextRead = () => box.host.fail(new Error('EPERM'));
886
883
  box.host.fail(new Error('EPERM'));
887
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 5);
884
+ await wait(TIMINGS.existencePollDelay * 5);
888
885
  box.write('a.txt');
889
886
  box.fire('rename', 'a.txt');
890
887
  await box.expectAmong(1, 'added a.txt');
@@ -912,7 +909,7 @@ describe('node-directory-watcher', function () {
912
909
  box.write('a.txt');
913
910
  box.fire('rename', 'a.txt');
914
911
  // Long enough for the batch to be queued behind the restart before the handle fails again.
915
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
912
+ await wait(TIMINGS.changeDelay * 4);
916
913
  box.host.fail(new Error('EPERM'));
917
914
  };
918
915
  box.host.fail(new Error('EPERM'));
@@ -924,7 +921,7 @@ describe('node-directory-watcher', function () {
924
921
  box.host.duringNextRead = async () => {
925
922
  box.write('a.txt');
926
923
  box.fire('rename', 'a.txt');
927
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.changeDelay * 4);
924
+ await wait(TIMINGS.changeDelay * 4);
928
925
  box.host.fail(new Error('EPERM'));
929
926
  };
930
927
  box.host.fail(new Error('EPERM'));
@@ -963,7 +960,7 @@ describe('node-directory-watcher', function () {
963
960
  box.write('later');
964
961
  box.host.duringNextRead = () => box.host.fail(new Error('EPERM'));
965
962
  box.host.fail(new Error('EPERM'));
966
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 5);
963
+ await wait(TIMINGS.existencePollDelay * 5);
967
964
  assert.strictEqual(watcher.directory, box.root);
968
965
  assert.strictEqual(resolved, 1);
969
966
  });
@@ -971,7 +968,7 @@ describe('node-directory-watcher', function () {
971
968
  box.write('a.txt');
972
969
  box.host.duringNextRead = () => box.host.fail(new Error('EPERM'));
973
970
  await box.watching(box.root, box.directory());
974
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.existencePollDelay * 2);
971
+ await wait(TIMINGS.existencePollDelay * 2);
975
972
  box.write('b.txt');
976
973
  box.fire('rename', 'b.txt');
977
974
  await box.expect(1, 'added b.txt');
@@ -1009,7 +1006,7 @@ describe('node-directory-watcher', function () {
1009
1006
  const file = box.write('foo.txt');
1010
1007
  box.host.caseInsensitive = true;
1011
1008
  // A long grace period, so the deletion of the old name still waits after the first batch on a slow host.
1012
- const watcher = new node_directory_watcher_1.NodeDirectoryWatcher(box.root, watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, deleteDelay: 1000 }, box.host);
1009
+ const watcher = new NodeDirectoryWatcher(box.root, NO_LOGGING, box, { ...TIMINGS, deleteDelay: 1000 }, box.host);
1013
1010
  watcher.addRequest(0, box.file(file));
1014
1011
  watcher.addRequest(1, box.directory(box.root, 2));
1015
1012
  await watcher.whenStarted;
@@ -1079,8 +1076,8 @@ describe('node-directory-watcher', function () {
1079
1076
  assert.strictEqual(box.host.reads - readsBefore, 2);
1080
1077
  });
1081
1078
  it('rejects a timing that would silently become 1ms', () => {
1082
- assert.throws(() => new node_directory_watcher_1.NodeDirectoryWatcher(box.root, watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, deleteDelay: 0 }), /positive number/);
1083
- assert.throws(() => new node_directory_watcher_1.NodeDirectoryWatcher(box.root, watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, changeDelay: -1 }), /positive number/);
1079
+ assert.throws(() => new NodeDirectoryWatcher(box.root, NO_LOGGING, box, { ...TIMINGS, deleteDelay: 0 }), /positive number/);
1080
+ assert.throws(() => new NodeDirectoryWatcher(box.root, NO_LOGGING, box, { ...TIMINGS, changeDelay: -1 }), /positive number/);
1084
1081
  });
1085
1082
  it('refuses to watch a network share, which crashes macOS', async () => {
1086
1083
  const target = box.mkdir('network-share');
@@ -1114,12 +1111,12 @@ describe('node-directory-watcher', function () {
1114
1111
  await watcher.whenDisposed;
1115
1112
  });
1116
1113
  it('tells a request moved onto a watcher still waiting for its directory about its file once', async () => {
1117
- const provider = new node_directory_watcher_1.DirectoryWatcherProvider(watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, existencePollDelay: 400 }, box.host);
1114
+ const provider = new DirectoryWatcherProvider(NO_LOGGING, box, { ...TIMINGS, existencePollDelay: 400 }, box.host);
1118
1115
  const directory = box.path('cfg');
1119
1116
  const file = box.path('cfg', 'settings.json');
1120
1117
  try {
1121
1118
  await provider.watch(0, box.directory(directory));
1122
- await (0, promise_util_1.wait)(200);
1119
+ await wait(200);
1123
1120
  await provider.watch(1, box.file(file, 2));
1124
1121
  // Both appear right after the directory watcher polled, so the file watcher finds them first.
1125
1122
  const exists = box.host.exists.bind(box.host);
@@ -1141,7 +1138,7 @@ describe('node-directory-watcher', function () {
1141
1138
  }
1142
1139
  });
1143
1140
  it('opens no second handle on a directory when a file request for it is merged', async () => {
1144
- const provider = new node_directory_watcher_1.DirectoryWatcherProvider(watcher_test_helper_1.NO_LOGGING, box, watcher_test_helper_1.WATCHER_TIMINGS, box.host);
1141
+ const provider = new DirectoryWatcherProvider(NO_LOGGING, box, TIMINGS, box.host);
1145
1142
  const opened = [];
1146
1143
  const watch = box.host.watch.bind(box.host);
1147
1144
  box.host.watch = (directory, listener) => {
@@ -1164,7 +1161,7 @@ describe('node-directory-watcher', function () {
1164
1161
  }
1165
1162
  });
1166
1163
  it('does not tell a directory request joining a re-keyed file watcher that its directory was added', async () => {
1167
- const provider = new node_directory_watcher_1.DirectoryWatcherProvider(watcher_test_helper_1.NO_LOGGING, box, watcher_test_helper_1.WATCHER_TIMINGS, box.host);
1164
+ const provider = new DirectoryWatcherProvider(NO_LOGGING, box, TIMINGS, box.host);
1168
1165
  try {
1169
1166
  await provider.watch(0, box.file(box.path('later.txt')));
1170
1167
  // Joins after the re-key to the directory, while the file watcher reads its children.
@@ -1183,7 +1180,7 @@ describe('node-directory-watcher', function () {
1183
1180
  it('happens once the last request is released', async () => {
1184
1181
  const watcher = await box.watching(box.root, box.directory(), box.directory(box.root, 2));
1185
1182
  watcher.removeRequest(0);
1186
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.deferredDisposalTimeout * 2);
1183
+ await wait(TIMINGS.deferredDisposalTimeout * 2);
1187
1184
  assert.strictEqual(watcher.isDisposed, false, 'a watcher with a request left must stay alive');
1188
1185
  watcher.removeRequest(1);
1189
1186
  await watcher.whenDisposed;
@@ -1192,7 +1189,7 @@ describe('node-directory-watcher', function () {
1192
1189
  const watcher = await box.watching(box.root, box.directory());
1193
1190
  watcher.removeRequest(0);
1194
1191
  watcher.addRequest(1, box.directory(box.root, 2));
1195
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.deferredDisposalTimeout * 2);
1192
+ await wait(TIMINGS.deferredDisposalTimeout * 2);
1196
1193
  assert.strictEqual(watcher.isDisposed, false);
1197
1194
  });
1198
1195
  it('silences a deletion that was still pending', async () => {
@@ -1205,7 +1202,7 @@ describe('node-directory-watcher', function () {
1205
1202
  });
1206
1203
  it('keeps its state in sync while it briefly has no requests', async () => {
1207
1204
  box.write('a.txt');
1208
- const watcher = new node_directory_watcher_1.NodeDirectoryWatcher(box.root, watcher_test_helper_1.NO_LOGGING, box, { ...watcher_test_helper_1.WATCHER_TIMINGS, deferredDisposalTimeout: 1000 }, box.host);
1205
+ const watcher = new NodeDirectoryWatcher(box.root, NO_LOGGING, box, { ...TIMINGS, deferredDisposalTimeout: 1000 }, box.host);
1209
1206
  watcher.addRequest(0, box.directory());
1210
1207
  await watcher.whenStarted;
1211
1208
  try {
@@ -1213,7 +1210,7 @@ describe('node-directory-watcher', function () {
1213
1210
  box.remove('a.txt');
1214
1211
  box.fire('rename', 'a.txt');
1215
1212
  watcher.removeRequest(0);
1216
- await (0, promise_util_1.wait)(watcher_test_helper_1.WATCHER_TIMINGS.deleteDelay * 3);
1213
+ await wait(TIMINGS.deleteDelay * 3);
1217
1214
  // The deletion was settled meanwhile, so the recreated file is an addition, not an update.
1218
1215
  watcher.addRequest(1, box.directory(box.root, 2));
1219
1216
  box.write('a.txt');