@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
@@ -17,22 +17,23 @@
17
17
  import * as path from 'path';
18
18
  import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
19
19
  import { ConnectionHandler, RpcConnectionHandler, ILogger } from '@theia/core/lib/common';
20
- import { FileSystemWatcherServer, FileSystemWatcherService } from '../common/filesystem-watcher-protocol';
21
- import { FileSystemWatcherServerClient } from './filesystem-watcher-client';
22
- import { FileSystemWatcherServiceImpl } from './filesystem-watcher-service-impl';
23
- import { ParcelFileSystemWatcherServerOptions } from './parcel-watcher/parcel-watcher';
24
- import { NodeFileUploadService } from './upload/node-file-upload-service';
25
- import { ParcelWatcherOptions } from './parcel-watcher/parcel-options';
26
- import { DiskFileSystemProvider } from './disk-file-system-provider';
20
+ import { FileSystemWatcherServer, FileSystemWatcherService } from '../common/filesystem-watcher-protocol.js';
21
+ import { FileSystemWatcherServerClient } from './filesystem-watcher-client.js';
22
+ import { FileSystemWatcherServiceImpl } from './filesystem-watcher-service-impl.js';
23
+ import { ParcelFileSystemWatcherServerOptions } from './parcel-watcher/parcel-watcher.js';
24
+ import { NodeFileUploadService } from './upload/node-file-upload-service.js';
25
+ import { ParcelWatcherOptions } from './parcel-watcher/parcel-options.js';
26
+ import { DiskFileSystemProvider } from './disk-file-system-provider.js';
27
27
  import {
28
28
  remoteFileSystemPath, RemoteFileSystemServer, RemoteFileSystemClient, FileSystemProviderServer, RemoteFileSystemProxyFactory
29
- } from '../common/remote-file-system-provider';
30
- import { FileSystemProvider } from '../common/files';
29
+ } from '../common/remote-file-system-provider.js';
30
+ import { FileSystemProvider } from '../common/files.js';
31
31
  import { EncodingService } from '@theia/core/lib/common/encoding-service';
32
32
  import { BackendApplicationContribution, IPCConnectionProvider } from '@theia/core/lib/node';
33
33
  import { RpcProxyFactory, ConnectionErrorHandler } from '@theia/core';
34
- import { FileSystemWatcherServiceDispatcher } from './filesystem-watcher-dispatcher';
35
- import { bindFileSystemPreferences } from '../common';
34
+ import { FileSystemWatcherServiceDispatcher } from './filesystem-watcher-dispatcher.js';
35
+ import { bindFileSystemPreferences } from '../common/index.js';
36
+ import { ArchiveExtractor, ArchiveExtractorImpl } from './archive/archive-extractor.js';
36
37
 
37
38
  export const WATCHER_SINGLE_THREADED = process.argv.includes('--no-cluster');
38
39
  export const WATCHER_VERBOSE = process.argv.includes('--watcher-verbose');
@@ -66,6 +67,8 @@ export default new ContainerModule(bind => {
66
67
  bind(NodeFileUploadService).toSelf().inSingletonScope();
67
68
  bind(BackendApplicationContribution).toService(NodeFileUploadService);
68
69
  bindFileSystemPreferences(bind);
70
+ bind(ArchiveExtractorImpl).toSelf().inSingletonScope();
71
+ bind(ArchiveExtractor).toService(ArchiveExtractorImpl);
69
72
  });
70
73
 
71
74
  export function bindFileSystemWatcherServer(bind: interfaces.Bind): void {
@@ -77,7 +80,7 @@ export function bindFileSystemWatcherServer(bind: interfaces.Bind): void {
77
80
  bind(FileSystemWatcherServer).toService(FileSystemWatcherServerClient);
78
81
 
79
82
  bind<FileSystemWatcherServiceProcessOptions>(FileSystemWatcherServiceProcessOptions).toDynamicValue(ctx => ({
80
- entryPoint: path.join(__dirname, 'parcel-watcher'),
83
+ entryPoint: path.join(import.meta.dirname, 'parcel-watcher'),
81
84
  })).inSingletonScope();
82
85
  bind<ParcelFileSystemWatcherServerOptions>(ParcelFileSystemWatcherServerOptions).toDynamicValue(ctx => {
83
86
  const logger = ctx.container.get<ILogger>(ILogger);
@@ -15,8 +15,8 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { injectable, inject } from '@theia/core/shared/inversify';
18
- import { FileSystemWatcherServer, WatchOptions, FileSystemWatcherClient, FileSystemWatcherService } from '../common/filesystem-watcher-protocol';
19
- import { FileSystemWatcherServiceDispatcher } from './filesystem-watcher-dispatcher';
18
+ import { FileSystemWatcherServer, WatchOptions, FileSystemWatcherClient, FileSystemWatcherService } from '../common/filesystem-watcher-protocol.js';
19
+ import { FileSystemWatcherServiceDispatcher } from './filesystem-watcher-dispatcher.js';
20
20
 
21
21
  /**
22
22
  * Wraps the watcher singleton service for each frontend.
@@ -18,7 +18,7 @@ import { injectable, inject, named } from '@theia/core/shared/inversify';
18
18
  import {
19
19
  FileSystemWatcherClient, FileSystemWatcherServiceClient,
20
20
  DidFilesChangedParams, FileSystemWatcherErrorParams
21
- } from '../common/filesystem-watcher-protocol';
21
+ } from '../common/filesystem-watcher-protocol.js';
22
22
  import { ILogger } from '@theia/core';
23
23
  /**
24
24
  * This component routes watch events to the right clients.
@@ -20,13 +20,13 @@ import * as temp from 'temp';
20
20
  import * as fs from '@theia/core/shared/fs-extra';
21
21
  import { isWindows } from '@theia/core';
22
22
  import { FileUri } from '@theia/core/lib/node';
23
- import { DirectoryWatcherProvider, NodeDirectoryWatcher } from './nodejs-watcher/node-directory-watcher';
24
- import { NO_LOGGING, TempDir, WATCHER_TIMINGS as TIMINGS } from './test/watcher-test-helper';
25
- import { FileSystemWatcher, WatcherProvider } from './filesystem-watcher';
23
+ import { DirectoryWatcherProvider, NodeDirectoryWatcher } from './nodejs-watcher/node-directory-watcher.js';
24
+ import { NO_LOGGING, TempDir, WATCHER_TIMINGS as TIMINGS } from './test/watcher-test-helper.js';
25
+ import { FileSystemWatcher, WatcherProvider } from './filesystem-watcher.js';
26
26
  import {
27
27
  FileSystemWatcherServiceImpl, ParcelFileSystemWatcherServerOptions, ParcelFileSystemWatcherService, ParcelWatcher, RecursiveWatcherProvider
28
- } from './parcel-watcher/parcel-filesystem-service';
29
- import { WatchOptions } from '../common/filesystem-watcher-protocol';
28
+ } from './parcel-watcher/parcel-filesystem-service.js';
29
+ import { WatchOptions } from '../common/filesystem-watcher-protocol.js';
30
30
 
31
31
  const track = temp.track();
32
32
 
@@ -15,10 +15,10 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { FileUri } from '@theia/core/lib/common/file-uri';
18
- import { FileSystemWatcherService, FileSystemWatcherServiceClient, WatchOptions } from '../common/filesystem-watcher-protocol';
19
- import { ResolvedWatchOptions, WatcherLogger, WatcherProvider } from './filesystem-watcher';
20
- import { DirectoryWatcherProvider } from './nodejs-watcher/node-directory-watcher';
21
- import { ParcelFileSystemWatcherServerOptions, RecursiveWatcherProvider } from './parcel-watcher/parcel-watcher';
18
+ import { FileSystemWatcherService, FileSystemWatcherServiceClient, WatchOptions } from '../common/filesystem-watcher-protocol.js';
19
+ import { ResolvedWatchOptions, WatcherLogger, WatcherProvider } from './filesystem-watcher.js';
20
+ import { DirectoryWatcherProvider } from './nodejs-watcher/node-directory-watcher.js';
21
+ import { ParcelFileSystemWatcherServerOptions, RecursiveWatcherProvider } from './parcel-watcher/parcel-watcher.js';
22
22
 
23
23
  /** Routes each request to the first provider that can handle it. The provider picks the watcher that serves it. */
24
24
  export class FileSystemWatcherServiceImpl implements FileSystemWatcherService {
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { Deferred } from '@theia/core/lib/common/promise-util';
18
18
  import { CancellationTokenSource } from '@theia/core/lib/common/cancellation';
19
- import { WatchOptions } from '../common/filesystem-watcher-protocol';
19
+ import { WatchOptions } from '../common/filesystem-watcher-protocol.js';
20
20
 
21
21
  /** How a watcher reports what it is doing. */
22
22
  export interface WatcherLogger {
@@ -23,11 +23,11 @@ import { FSWatcher } from 'fs';
23
23
  import { Deferred, wait } from '@theia/core/lib/common/promise-util';
24
24
  import { isWindows } from '@theia/core';
25
25
  import { FileUri } from '@theia/core/lib/node';
26
- import { DidFilesChangedParams, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol';
27
- import { NO_LOGGING, TempDir, WATCHER_TIMINGS as TIMINGS } from '../test/watcher-test-helper';
28
- import { DirectoryWatcherProvider, NodeDirectoryWatcher } from './node-directory-watcher';
29
- import { DirectoryWatchRequest } from './watch-request-router';
30
- import { DirectoryIdentity, WatcherHost, WatchEventListener } from './watcher-host';
26
+ import { DidFilesChangedParams, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol.js';
27
+ import { NO_LOGGING, TempDir, WATCHER_TIMINGS as TIMINGS } from '../test/watcher-test-helper.js';
28
+ import { DirectoryWatcherProvider, NodeDirectoryWatcher } from './node-directory-watcher.js';
29
+ import { DirectoryWatchRequest } from './watch-request-router.js';
30
+ import { DirectoryIdentity, WatcherHost, WatchEventListener } from './watcher-host.js';
31
31
 
32
32
  const track = temp.track();
33
33
 
@@ -18,11 +18,11 @@ import * as path from 'path';
18
18
  import { Emitter } from '@theia/core';
19
19
  import { timeout } from '@theia/core/lib/common/promise-util';
20
20
  import { CancellationToken, CancellationTokenSource } from '@theia/core/lib/common/cancellation';
21
- import { DirectoryIdentity, WatcherHost } from './watcher-host';
22
- import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol';
23
- import { AbstractFileSystemWatcher, AbstractWatcherProvider, ResolvedWatchOptions, WatcherLogger, WatchRequest } from '../filesystem-watcher';
24
- import { DirectoryWatchRequest, ResolvedChange, WatchRequestRouter } from './watch-request-router';
25
- import throttle = require('@theia/core/shared/lodash.throttle');
21
+ import { DirectoryIdentity, WatcherHost } from './watcher-host.js';
22
+ import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol.js';
23
+ import { AbstractFileSystemWatcher, AbstractWatcherProvider, ResolvedWatchOptions, WatcherLogger, WatchRequest } from '../filesystem-watcher.js';
24
+ import { DirectoryWatchRequest, ResolvedChange, WatchRequestRouter } from './watch-request-router.js';
25
+ import throttle from '@theia/core/shared/lodash.throttle';
26
26
 
27
27
  /** How far the poll interval stretches while a handle refuses to open. */
28
28
  const MAX_OPEN_BACKOFF = 10;
@@ -17,10 +17,10 @@
17
17
  import * as path from 'path';
18
18
  import { Minimatch } from 'minimatch';
19
19
  import { FileUri } from '@theia/core/lib/common/file-uri';
20
- import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol';
21
- import { FileChangeCollection } from '../file-change-collection';
22
- import { WatchRequest } from '../filesystem-watcher';
23
- import { WatcherHost } from './watcher-host';
20
+ import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol.js';
21
+ import { FileChangeCollection } from '../file-change-collection.js';
22
+ import { WatchRequest } from '../filesystem-watcher.js';
23
+ import { WatcherHost } from './watcher-host.js';
24
24
 
25
25
  /** A {@link WatchRequest} resolved against the file system. */
26
26
  export interface DirectoryWatchRequest extends WatchRequest {
@@ -17,7 +17,7 @@
17
17
  import * as path from 'path';
18
18
  import * as fs from 'fs';
19
19
  import { isOSX, isWindows } from '@theia/core';
20
- import { WatcherLogger } from '../filesystem-watcher';
20
+ import { WatcherLogger } from '../filesystem-watcher.js';
21
21
 
22
22
  export type WatchEventListener = (eventType: string, fileName: string | null) => void;
23
23
 
@@ -16,8 +16,8 @@
16
16
 
17
17
  import * as yargs from '@theia/core/shared/yargs';
18
18
  import { RpcProxyFactory } from '@theia/core';
19
- import { FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol';
20
- import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl';
19
+ import { FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol.js';
20
+ import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl.js';
21
21
  import { IPCEntryPoint } from '@theia/core/lib/node/messaging/ipc-protocol';
22
22
 
23
23
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -21,11 +21,11 @@
21
21
  * per `doc/api-management.md` is a major release.
22
22
  */
23
23
 
24
- import { FileSystemWatcher } from '../filesystem-watcher';
25
- import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl';
24
+ import { FileSystemWatcher } from '../filesystem-watcher.js';
25
+ import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl.js';
26
26
 
27
- export * from './parcel-watcher';
28
- export * from '../filesystem-watcher-service-impl';
27
+ export * from './parcel-watcher.js';
28
+ export * from '../filesystem-watcher-service-impl.js';
29
29
 
30
30
  /** @deprecated since 1.77.0 - use `FileSystemWatcherServiceImpl`, which also serves non-recursive requests. */
31
31
  export const ParcelFileSystemWatcherService = FileSystemWatcherServiceImpl;
@@ -21,8 +21,8 @@ import * as fs from '@theia/core/shared/fs-extra';
21
21
  import * as assert from 'assert';
22
22
  import URI from '@theia/core/lib/common/uri';
23
23
  import { FileUri } from '@theia/core/lib/node';
24
- import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl';
25
- import { DidFilesChangedParams, FileChange, FileChangeType } from '../../common/filesystem-watcher-protocol';
24
+ import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl.js';
25
+ import { DidFilesChangedParams, FileChange, FileChangeType } from '../../common/filesystem-watcher-protocol.js';
26
26
 
27
27
  const expect = chai.expect;
28
28
  const track = temp.track();
@@ -20,14 +20,10 @@ import * as temp from 'temp';
20
20
  import * as fs from '@theia/core/shared/fs-extra';
21
21
  import URI from '@theia/core/lib/common/uri';
22
22
  import { FileUri } from '@theia/core/lib/node';
23
- import { Options } from '@theia/core/shared/@parcel/watcher';
24
- import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl';
25
-
26
- // We require the *same* module object that the production code imports from, so that
27
- // stubbing its `subscribe` export is observed by `ParcelWatcher`. The `@theia/core/shared`
28
- // shim simply re-exports `require('@parcel/watcher')`, so this is the identical reference.
29
- // eslint-disable-next-line @typescript-eslint/no-var-requires
30
- const parcel = require('@theia/core/shared/@parcel/watcher');
23
+ // The default export is the same module object that the production code calls `subscribe` on,
24
+ // so that stubbing its `subscribe` export is observed by `ParcelWatcher`.
25
+ import parcel, { Options } from '@theia/core/shared/@parcel/watcher';
26
+ import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl.js';
31
27
 
32
28
  const expect = chai.expect;
33
29
  const track = temp.track();
@@ -20,13 +20,11 @@ import * as temp from 'temp';
20
20
  import * as fs from '@theia/core/shared/fs-extra';
21
21
  import URI from '@theia/core/lib/common/uri';
22
22
  import { FileUri } from '@theia/core/lib/node';
23
- import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl';
23
+ import { FileSystemWatcherServiceImpl } from '../filesystem-watcher-service-impl.js';
24
24
 
25
- // We require the *same* module object that the production code imports from, so that
26
- // stubbing its `subscribe` export is observed by `ParcelWatcher`. The `@theia/core/shared`
27
- // shim simply re-exports `require('@parcel/watcher')`, so this is the identical reference.
28
- // eslint-disable-next-line @typescript-eslint/no-var-requires
29
- const parcel = require('@theia/core/shared/@parcel/watcher');
25
+ // The default export is the same module object that the production code calls `subscribe` on,
26
+ // so that stubbing its `subscribe` export is observed by `ParcelWatcher`.
27
+ import parcel from '@theia/core/shared/@parcel/watcher';
30
28
 
31
29
  const expect = chai.expect;
32
30
  const track = temp.track();
@@ -14,16 +14,16 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import path = require('path');
17
+ import * as path from 'path';
18
18
  import { promises as fsp } from 'fs';
19
19
  import { Minimatch } from 'minimatch';
20
20
  import { FileUri } from '@theia/core/lib/common/file-uri';
21
- import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol';
22
- import { FileChangeCollection } from '../file-change-collection';
21
+ import { FileChangeType, FileSystemWatcherServiceClient } from '../../common/filesystem-watcher-protocol.js';
22
+ import { FileChangeCollection } from '../file-change-collection.js';
23
23
  import { timeout } from '@theia/core/lib/common/promise-util';
24
- import { subscribe, Options, AsyncSubscription, Event } from '@theia/core/shared/@parcel/watcher';
24
+ import parcelWatcher, { Options, AsyncSubscription, Event } from '@theia/core/shared/@parcel/watcher';
25
25
  import { isOSX, isWindows } from '@theia/core';
26
- import { AbstractFileSystemWatcher, AbstractWatcherProvider, ResolvedWatchOptions, WatcherLogger, WatchRequest } from '../filesystem-watcher';
26
+ import { AbstractFileSystemWatcher, AbstractWatcherProvider, ResolvedWatchOptions, WatcherLogger, WatchRequest } from '../filesystem-watcher.js';
27
27
 
28
28
  /**
29
29
  * The excludes of one parcel watch. Not the same as `ParcelWatcherOptions` in `parcel-options.ts`, which is
@@ -282,7 +282,8 @@ export class ParcelWatcher extends AbstractFileSystemWatcher {
282
282
  if ((await fsp.stat(fsPath)).isFile()) {
283
283
  fsPath = path.dirname(fsPath);
284
284
  }
285
- return subscribe(fsPath, (err, events) => {
285
+ // Called through the module object, so that tests can stub `subscribe`.
286
+ return parcelWatcher.subscribe(fsPath, (err, events) => {
286
287
  if (err) {
287
288
  if (err.message && err.message.includes('File system must be re-scanned')) {
288
289
  console.log(`FS Events were dropped on watcher ${fsPath}`);
@@ -16,7 +16,7 @@
16
16
 
17
17
  import * as path from 'path';
18
18
  import * as fs from '@theia/core/shared/fs-extra';
19
- import { NodeDirectoryWatcherTimings } from '../nodejs-watcher/node-directory-watcher';
19
+ import { NodeDirectoryWatcherTimings } from '../nodejs-watcher/node-directory-watcher.js';
20
20
 
21
21
  /** Scaled down so the suite stays quick; only the order of the delays matters. */
22
22
  export const WATCHER_TIMINGS: NodeDirectoryWatcherTimings = {
@@ -19,7 +19,7 @@ import * as os from 'os';
19
19
  import * as path from 'path';
20
20
  import * as fs from '@theia/core/shared/fs-extra';
21
21
  import { FileUri } from '@theia/core/lib/common/file-uri';
22
- import { NodeFileUploadService } from './node-file-upload-service';
22
+ import { NodeFileUploadService } from './node-file-upload-service.js';
23
23
 
24
24
  /** Captures what the upload handler wrote to the Express response. */
25
25
  interface CapturedResponse {
@@ -14,14 +14,14 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import multer = require('multer');
18
- import path = require('path');
19
- import os = require('os');
20
- import express = require('@theia/core/shared/express');
21
- import fs = require('@theia/core/shared/fs-extra');
17
+ import multer from 'multer';
18
+ import * as path from 'path';
19
+ import * as os from 'os';
20
+ import * as express from '@theia/core/shared/express';
21
+ import * as fs from '@theia/core/shared/fs-extra';
22
22
  import { BackendApplicationContribution, FileUri, HttpConnectionValidator } from '@theia/core/lib/node';
23
23
  import { injectable, inject, named } from '@theia/core/shared/inversify';
24
- import { HTTP_FILE_UPLOAD_PATH } from '../../common/file-upload';
24
+ import { HTTP_FILE_UPLOAD_PATH } from '../../common/file-upload.js';
25
25
  import { ILogger, URI } from '@theia/core';
26
26
 
27
27
  @injectable()