@theia/filesystem 1.67.0-next.56 → 1.67.0-next.86

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 (345) hide show
  1. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts +16 -0
  2. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts.map +1 -0
  3. package/lib/browser/breadcrumbs/filepath-breadcrumb.js +42 -0
  4. package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -0
  5. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +13 -0
  6. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -0
  7. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +67 -0
  8. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -0
  9. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +28 -0
  10. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -0
  11. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +119 -0
  12. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -0
  13. package/lib/browser/download/file-download-command-contribution.d.ts +19 -0
  14. package/lib/browser/download/file-download-command-contribution.d.ts.map +1 -0
  15. package/lib/browser/download/file-download-command-contribution.js +76 -0
  16. package/lib/browser/download/file-download-command-contribution.js.map +1 -0
  17. package/lib/browser/download/file-download-frontend-module.d.ts +4 -0
  18. package/lib/browser/download/file-download-frontend-module.d.ts.map +1 -0
  19. package/lib/browser/download/file-download-frontend-module.js +27 -0
  20. package/lib/browser/download/file-download-frontend-module.js.map +1 -0
  21. package/lib/browser/download/file-download-service.d.ts +21 -0
  22. package/lib/browser/download/file-download-service.d.ts.map +1 -0
  23. package/lib/browser/download/file-download-service.js +169 -0
  24. package/lib/browser/download/file-download-service.js.map +1 -0
  25. package/lib/browser/file-dialog/file-dialog-container.d.ts +6 -0
  26. package/lib/browser/file-dialog/file-dialog-container.d.ts.map +1 -0
  27. package/lib/browser/file-dialog/file-dialog-container.js +61 -0
  28. package/lib/browser/file-dialog/file-dialog-container.js.map +1 -0
  29. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +16 -0
  30. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts.map +1 -0
  31. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +60 -0
  32. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js.map +1 -0
  33. package/lib/browser/file-dialog/file-dialog-model.d.ts +26 -0
  34. package/lib/browser/file-dialog/file-dialog-model.d.ts.map +1 -0
  35. package/lib/browser/file-dialog/file-dialog-model.js +101 -0
  36. package/lib/browser/file-dialog/file-dialog-model.js.map +1 -0
  37. package/lib/browser/file-dialog/file-dialog-module.d.ts +4 -0
  38. package/lib/browser/file-dialog/file-dialog-module.d.ts.map +1 -0
  39. package/lib/browser/file-dialog/file-dialog-module.js +46 -0
  40. package/lib/browser/file-dialog/file-dialog-module.js.map +1 -0
  41. package/lib/browser/file-dialog/file-dialog-service.d.ts +33 -0
  42. package/lib/browser/file-dialog/file-dialog-service.d.ts.map +1 -0
  43. package/lib/browser/file-dialog/file-dialog-service.js +102 -0
  44. package/lib/browser/file-dialog/file-dialog-service.js.map +1 -0
  45. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +40 -0
  46. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts.map +1 -0
  47. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +82 -0
  48. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -0
  49. package/lib/browser/file-dialog/file-dialog-tree.d.ts +27 -0
  50. package/lib/browser/file-dialog/file-dialog-tree.d.ts.map +1 -0
  51. package/lib/browser/file-dialog/file-dialog-tree.js +84 -0
  52. package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -0
  53. package/lib/browser/file-dialog/file-dialog-widget.d.ts +18 -0
  54. package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -0
  55. package/lib/browser/file-dialog/file-dialog-widget.js +85 -0
  56. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -0
  57. package/lib/browser/file-dialog/file-dialog.d.ts +130 -0
  58. package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -0
  59. package/lib/browser/file-dialog/file-dialog.js +352 -0
  60. package/lib/browser/file-dialog/file-dialog.js.map +1 -0
  61. package/lib/browser/file-dialog/index.d.ts +5 -0
  62. package/lib/browser/file-dialog/index.d.ts.map +1 -0
  63. package/lib/browser/file-dialog/index.js +23 -0
  64. package/lib/browser/file-dialog/index.js.map +1 -0
  65. package/lib/browser/file-resource.d.ts +72 -0
  66. package/lib/browser/file-resource.d.ts.map +1 -0
  67. package/lib/browser/file-resource.js +385 -0
  68. package/lib/browser/file-resource.js.map +1 -0
  69. package/lib/browser/file-resource.spec.d.ts +2 -0
  70. package/lib/browser/file-resource.spec.d.ts.map +1 -0
  71. package/lib/browser/file-resource.spec.js +191 -0
  72. package/lib/browser/file-resource.spec.js.map +1 -0
  73. package/lib/browser/file-selection.d.ts +15 -0
  74. package/lib/browser/file-selection.d.ts.map +1 -0
  75. package/lib/browser/file-selection.js +37 -0
  76. package/lib/browser/file-selection.js.map +1 -0
  77. package/lib/browser/file-service.d.ts +427 -0
  78. package/lib/browser/file-service.d.ts.map +1 -0
  79. package/lib/browser/file-service.js +1370 -0
  80. package/lib/browser/file-service.js.map +1 -0
  81. package/lib/browser/file-tree/file-tree-container.d.ts +4 -0
  82. package/lib/browser/file-tree/file-tree-container.d.ts.map +1 -0
  83. package/lib/browser/file-tree/file-tree-container.js +36 -0
  84. package/lib/browser/file-tree/file-tree-container.js.map +1 -0
  85. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts +31 -0
  86. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts.map +1 -0
  87. package/lib/browser/file-tree/file-tree-decorator-adapter.js +170 -0
  88. package/lib/browser/file-tree/file-tree-decorator-adapter.js.map +1 -0
  89. package/lib/browser/file-tree/file-tree-label-provider.d.ts +13 -0
  90. package/lib/browser/file-tree/file-tree-label-provider.d.ts.map +1 -0
  91. package/lib/browser/file-tree/file-tree-label-provider.js +55 -0
  92. package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -0
  93. package/lib/browser/file-tree/file-tree-model.d.ts +34 -0
  94. package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -0
  95. package/lib/browser/file-tree/file-tree-model.js +201 -0
  96. package/lib/browser/file-tree/file-tree-model.js.map +1 -0
  97. package/lib/browser/file-tree/file-tree-widget.d.ts +45 -0
  98. package/lib/browser/file-tree/file-tree-widget.d.ts.map +1 -0
  99. package/lib/browser/file-tree/file-tree-widget.js +318 -0
  100. package/lib/browser/file-tree/file-tree-widget.js.map +1 -0
  101. package/lib/browser/file-tree/file-tree.d.ts +47 -0
  102. package/lib/browser/file-tree/file-tree.d.ts.map +1 -0
  103. package/lib/browser/file-tree/file-tree.js +177 -0
  104. package/lib/browser/file-tree/file-tree.js.map +1 -0
  105. package/lib/browser/file-tree/index.d.ts +7 -0
  106. package/lib/browser/file-tree/index.d.ts.map +1 -0
  107. package/lib/browser/file-tree/index.js +25 -0
  108. package/lib/browser/file-tree/index.js.map +1 -0
  109. package/lib/browser/filesystem-frontend-contribution.d.ts +76 -0
  110. package/lib/browser/filesystem-frontend-contribution.d.ts.map +1 -0
  111. package/lib/browser/filesystem-frontend-contribution.js +372 -0
  112. package/lib/browser/filesystem-frontend-contribution.js.map +1 -0
  113. package/lib/browser/filesystem-frontend-module.d.ts +6 -0
  114. package/lib/browser/filesystem-frontend-module.d.ts.map +1 -0
  115. package/lib/browser/filesystem-frontend-module.js +70 -0
  116. package/lib/browser/filesystem-frontend-module.js.map +1 -0
  117. package/lib/browser/filesystem-saveable-service.d.ts +36 -0
  118. package/lib/browser/filesystem-saveable-service.d.ts.map +1 -0
  119. package/lib/browser/filesystem-saveable-service.js +164 -0
  120. package/lib/browser/filesystem-saveable-service.js.map +1 -0
  121. package/lib/browser/filesystem-watcher-error-handler.d.ts +11 -0
  122. package/lib/browser/filesystem-watcher-error-handler.d.ts.map +1 -0
  123. package/lib/browser/filesystem-watcher-error-handler.js +62 -0
  124. package/lib/browser/filesystem-watcher-error-handler.js.map +1 -0
  125. package/lib/browser/index.d.ts +5 -0
  126. package/lib/browser/index.d.ts.map +1 -0
  127. package/lib/browser/index.js +23 -0
  128. package/lib/browser/index.js.map +1 -0
  129. package/lib/browser/location/index.d.ts +3 -0
  130. package/lib/browser/location/index.d.ts.map +1 -0
  131. package/lib/browser/location/index.js +21 -0
  132. package/lib/browser/location/index.js.map +1 -0
  133. package/lib/browser/location/location-renderer.d.ts +101 -0
  134. package/lib/browser/location/location-renderer.d.ts.map +1 -0
  135. package/lib/browser/location/location-renderer.js +345 -0
  136. package/lib/browser/location/location-renderer.js.map +1 -0
  137. package/lib/browser/location/location-service.d.ts +6 -0
  138. package/lib/browser/location/location-service.d.ts.map +1 -0
  139. package/lib/browser/location/location-service.js +18 -0
  140. package/lib/browser/location/location-service.js.map +1 -0
  141. package/lib/browser/remote-file-service-contribution.d.ts +7 -0
  142. package/lib/browser/remote-file-service-contribution.d.ts.map +1 -0
  143. package/lib/browser/remote-file-service-contribution.js +40 -0
  144. package/lib/browser/remote-file-service-contribution.js.map +1 -0
  145. package/lib/browser/upload/file-upload-service-impl.d.ts +77 -0
  146. package/lib/browser/upload/file-upload-service-impl.d.ts.map +1 -0
  147. package/lib/browser/upload/file-upload-service-impl.js +449 -0
  148. package/lib/browser/upload/file-upload-service-impl.js.map +1 -0
  149. package/lib/browser/vscode-file-service-contribution.d.ts +25 -0
  150. package/lib/browser/vscode-file-service-contribution.d.ts.map +1 -0
  151. package/lib/browser/vscode-file-service-contribution.js +99 -0
  152. package/lib/browser/vscode-file-service-contribution.js.map +1 -0
  153. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts +4 -0
  154. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts.map +1 -0
  155. package/lib/browser-only/browser-only-filesystem-frontend-module.js +49 -0
  156. package/lib/browser-only/browser-only-filesystem-frontend-module.js.map +1 -0
  157. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +12 -0
  158. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts.map +1 -0
  159. package/lib/browser-only/browser-only-filesystem-provider-server.js +40 -0
  160. package/lib/browser-only/browser-only-filesystem-provider-server.js.map +1 -0
  161. package/lib/browser-only/download/file-download-command-contribution.d.ts +15 -0
  162. package/lib/browser-only/download/file-download-command-contribution.d.ts.map +1 -0
  163. package/lib/browser-only/download/file-download-command-contribution.js +55 -0
  164. package/lib/browser-only/download/file-download-command-contribution.js.map +1 -0
  165. package/lib/browser-only/download/file-download-frontend-module.d.ts +4 -0
  166. package/lib/browser-only/download/file-download-frontend-module.d.ts.map +1 -0
  167. package/lib/browser-only/download/file-download-frontend-module.js +27 -0
  168. package/lib/browser-only/download/file-download-frontend-module.js.map +1 -0
  169. package/lib/browser-only/download/file-download-service.d.ts +86 -0
  170. package/lib/browser-only/download/file-download-service.d.ts.map +1 -0
  171. package/lib/browser-only/download/file-download-service.js +551 -0
  172. package/lib/browser-only/download/file-download-service.js.map +1 -0
  173. package/lib/browser-only/file-search.d.ts +38 -0
  174. package/lib/browser-only/file-search.d.ts.map +1 -0
  175. package/lib/browser-only/file-search.js +153 -0
  176. package/lib/browser-only/file-search.js.map +1 -0
  177. package/lib/browser-only/opfs-filesystem-initialization.d.ts +13 -0
  178. package/lib/browser-only/opfs-filesystem-initialization.d.ts.map +1 -0
  179. package/lib/browser-only/opfs-filesystem-initialization.js +36 -0
  180. package/lib/browser-only/opfs-filesystem-initialization.js.map +1 -0
  181. package/lib/browser-only/opfs-filesystem-provider.d.ts +108 -0
  182. package/lib/browser-only/opfs-filesystem-provider.d.ts.map +1 -0
  183. package/lib/browser-only/opfs-filesystem-provider.js +487 -0
  184. package/lib/browser-only/opfs-filesystem-provider.js.map +1 -0
  185. package/lib/browser-only/upload/file-upload-service-impl.d.ts +67 -0
  186. package/lib/browser-only/upload/file-upload-service-impl.d.ts.map +1 -0
  187. package/lib/browser-only/upload/file-upload-service-impl.js +328 -0
  188. package/lib/browser-only/upload/file-upload-service-impl.js.map +1 -0
  189. package/lib/common/delegating-file-system-provider.d.ts +77 -0
  190. package/lib/common/delegating-file-system-provider.d.ts.map +1 -0
  191. package/lib/common/delegating-file-system-provider.js +169 -0
  192. package/lib/common/delegating-file-system-provider.js.map +1 -0
  193. package/lib/common/download/file-download.d.ts +17 -0
  194. package/lib/common/download/file-download.d.ts.map +1 -0
  195. package/lib/common/download/file-download.js +28 -0
  196. package/lib/common/download/file-download.js.map +1 -0
  197. package/lib/common/file-upload.d.ts +2 -0
  198. package/lib/common/file-upload.d.ts.map +1 -0
  199. package/lib/common/file-upload.js +20 -0
  200. package/lib/common/file-upload.js.map +1 -0
  201. package/lib/common/files.d.ts +668 -0
  202. package/lib/common/files.d.ts.map +1 -0
  203. package/lib/common/files.js +390 -0
  204. package/lib/common/files.js.map +1 -0
  205. package/lib/common/files.spec.d.ts +2 -0
  206. package/lib/common/files.spec.d.ts.map +1 -0
  207. package/lib/common/files.spec.js +52 -0
  208. package/lib/common/files.spec.js.map +1 -0
  209. package/lib/common/filesystem-preferences.d.ts +33 -0
  210. package/lib/common/filesystem-preferences.d.ts.map +1 -0
  211. package/lib/common/filesystem-preferences.js +122 -0
  212. package/lib/common/filesystem-preferences.js.map +1 -0
  213. package/lib/common/filesystem-utils.d.ts +15 -0
  214. package/lib/common/filesystem-utils.d.ts.map +1 -0
  215. package/lib/common/filesystem-utils.js +64 -0
  216. package/lib/common/filesystem-utils.js.map +1 -0
  217. package/lib/common/filesystem-utils.spec.d.ts +2 -0
  218. package/lib/common/filesystem-utils.spec.d.ts.map +1 -0
  219. package/lib/common/filesystem-utils.spec.js +379 -0
  220. package/lib/common/filesystem-utils.spec.js.map +1 -0
  221. package/lib/common/filesystem-watcher-protocol.d.ts +72 -0
  222. package/lib/common/filesystem-watcher-protocol.d.ts.map +1 -0
  223. package/lib/common/filesystem-watcher-protocol.js +21 -0
  224. package/lib/common/filesystem-watcher-protocol.js.map +1 -0
  225. package/lib/common/filesystem.d.ts +23 -0
  226. package/lib/common/filesystem.d.ts.map +1 -0
  227. package/lib/common/filesystem.js +43 -0
  228. package/lib/common/filesystem.js.map +1 -0
  229. package/lib/common/index.d.ts +4 -0
  230. package/lib/common/index.d.ts.map +1 -0
  231. package/lib/common/index.js +22 -0
  232. package/lib/common/index.js.map +1 -0
  233. package/lib/common/io.d.ts +20 -0
  234. package/lib/common/io.d.ts.map +1 -0
  235. package/lib/common/io.js +117 -0
  236. package/lib/common/io.js.map +1 -0
  237. package/lib/common/remote-file-system-provider.d.ts +174 -0
  238. package/lib/common/remote-file-system-provider.d.ts.map +1 -0
  239. package/lib/common/remote-file-system-provider.js +435 -0
  240. package/lib/common/remote-file-system-provider.js.map +1 -0
  241. package/lib/common/upload/file-upload.d.ts +45 -0
  242. package/lib/common/upload/file-upload.d.ts.map +1 -0
  243. package/lib/common/upload/file-upload.js +20 -0
  244. package/lib/common/upload/file-upload.js.map +1 -0
  245. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts +4 -0
  246. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts.map +1 -0
  247. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +25 -0
  248. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -0
  249. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +20 -0
  250. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -0
  251. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +149 -0
  252. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -0
  253. package/lib/electron-browser/preload.d.ts +2 -0
  254. package/lib/electron-browser/preload.d.ts.map +1 -0
  255. package/lib/electron-browser/preload.js +31 -0
  256. package/lib/electron-browser/preload.js.map +1 -0
  257. package/lib/electron-common/electron-api.d.ts +35 -0
  258. package/lib/electron-common/electron-api.d.ts.map +1 -0
  259. package/lib/electron-common/electron-api.js +21 -0
  260. package/lib/electron-common/electron-api.js.map +1 -0
  261. package/lib/electron-main/electron-api-main.d.ts +6 -0
  262. package/lib/electron-main/electron-api-main.d.ts.map +1 -0
  263. package/lib/electron-main/electron-api-main.js +74 -0
  264. package/lib/electron-main/electron-api-main.js.map +1 -0
  265. package/lib/electron-main/electron-main-module.d.ts +4 -0
  266. package/lib/electron-main/electron-main-module.d.ts.map +1 -0
  267. package/lib/electron-main/electron-main-module.js +25 -0
  268. package/lib/electron-main/electron-main-module.js.map +1 -0
  269. package/lib/node/disk-file-system-provider.d.ts +73 -0
  270. package/lib/node/disk-file-system-provider.d.ts.map +1 -0
  271. package/lib/node/disk-file-system-provider.js +786 -0
  272. package/lib/node/disk-file-system-provider.js.map +1 -0
  273. package/lib/node/disk-file-system-provider.spec.d.ts +2 -0
  274. package/lib/node/disk-file-system-provider.spec.d.ts.map +1 -0
  275. package/lib/node/disk-file-system-provider.spec.js +123 -0
  276. package/lib/node/disk-file-system-provider.spec.js.map +1 -0
  277. package/lib/node/download/directory-archiver.d.ts +10 -0
  278. package/lib/node/download/directory-archiver.d.ts.map +1 -0
  279. package/lib/node/download/directory-archiver.js +128 -0
  280. package/lib/node/download/directory-archiver.js.map +1 -0
  281. package/lib/node/download/directory-archiver.spec.d.ts +2 -0
  282. package/lib/node/download/directory-archiver.spec.d.ts.map +1 -0
  283. package/lib/node/download/directory-archiver.spec.js +98 -0
  284. package/lib/node/download/directory-archiver.spec.js.map +1 -0
  285. package/lib/node/download/file-download-backend-module.d.ts +4 -0
  286. package/lib/node/download/file-download-backend-module.d.ts.map +1 -0
  287. package/lib/node/download/file-download-backend-module.js +33 -0
  288. package/lib/node/download/file-download-backend-module.js.map +1 -0
  289. package/lib/node/download/file-download-cache.d.ts +22 -0
  290. package/lib/node/download/file-download-cache.d.ts.map +1 -0
  291. package/lib/node/download/file-download-cache.js +81 -0
  292. package/lib/node/download/file-download-cache.js.map +1 -0
  293. package/lib/node/download/file-download-endpoint.d.ts +12 -0
  294. package/lib/node/download/file-download-endpoint.d.ts.map +1 -0
  295. package/lib/node/download/file-download-endpoint.js +68 -0
  296. package/lib/node/download/file-download-endpoint.js.map +1 -0
  297. package/lib/node/download/file-download-handler.d.ts +51 -0
  298. package/lib/node/download/file-download-handler.d.ts.map +1 -0
  299. package/lib/node/download/file-download-handler.js +307 -0
  300. package/lib/node/download/file-download-handler.js.map +1 -0
  301. package/lib/node/download/test/mock-directory-archiver.d.ts +8 -0
  302. package/lib/node/download/test/mock-directory-archiver.d.ts.map +1 -0
  303. package/lib/node/download/test/mock-directory-archiver.js +30 -0
  304. package/lib/node/download/test/mock-directory-archiver.js.map +1 -0
  305. package/lib/node/file-change-collection.d.ts +23 -0
  306. package/lib/node/file-change-collection.d.ts.map +1 -0
  307. package/lib/node/file-change-collection.js +78 -0
  308. package/lib/node/file-change-collection.js.map +1 -0
  309. package/lib/node/file-change-collection.spec.d.ts +2 -0
  310. package/lib/node/file-change-collection.spec.d.ts.map +1 -0
  311. package/lib/node/file-change-collection.spec.js +91 -0
  312. package/lib/node/file-change-collection.spec.js.map +1 -0
  313. package/lib/node/filesystem-backend-module.d.ts +27 -0
  314. package/lib/node/filesystem-backend-module.d.ts.map +1 -0
  315. package/lib/node/filesystem-backend-module.js +123 -0
  316. package/lib/node/filesystem-backend-module.js.map +1 -0
  317. package/lib/node/filesystem-watcher-client.d.ts +23 -0
  318. package/lib/node/filesystem-watcher-client.d.ts.map +1 -0
  319. package/lib/node/filesystem-watcher-client.js +75 -0
  320. package/lib/node/filesystem-watcher-client.js.map +1 -0
  321. package/lib/node/filesystem-watcher-dispatcher.d.ts +24 -0
  322. package/lib/node/filesystem-watcher-dispatcher.d.ts.map +1 -0
  323. package/lib/node/filesystem-watcher-dispatcher.js +81 -0
  324. package/lib/node/filesystem-watcher-dispatcher.js.map +1 -0
  325. package/lib/node/parcel-watcher/index.d.ts +4 -0
  326. package/lib/node/parcel-watcher/index.d.ts.map +1 -0
  327. package/lib/node/parcel-watcher/index.js +40 -0
  328. package/lib/node/parcel-watcher/index.js.map +1 -0
  329. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts +193 -0
  330. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -0
  331. package/lib/node/parcel-watcher/parcel-filesystem-service.js +406 -0
  332. package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -0
  333. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts +2 -0
  334. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts.map +1 -0
  335. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js +145 -0
  336. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -0
  337. package/lib/node/parcel-watcher/parcel-options.d.ts +7 -0
  338. package/lib/node/parcel-watcher/parcel-options.d.ts.map +1 -0
  339. package/lib/node/parcel-watcher/parcel-options.js +23 -0
  340. package/lib/node/parcel-watcher/parcel-options.js.map +1 -0
  341. package/lib/node/upload/node-file-upload-service.d.ts +17 -0
  342. package/lib/node/upload/node-file-upload-service.d.ts.map +1 -0
  343. package/lib/node/upload/node-file-upload-service.js +87 -0
  344. package/lib/node/upload/node-file-upload-service.js.map +1 -0
  345. package/package.json +3 -3
@@ -0,0 +1,551 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 Maksim Kachurin and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FileDownloadServiceImpl = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const logger_1 = require("@theia/core/lib/common/logger");
22
+ const message_service_1 = require("@theia/core/lib/common/message-service");
23
+ const filesystem_preferences_1 = require("../../common/filesystem-preferences");
24
+ const core_1 = require("@theia/core");
25
+ const stream_1 = require("@theia/core/lib/common/stream");
26
+ const file_service_1 = require("../../browser/file-service");
27
+ const tarStream = require("tar-stream");
28
+ const minimatch_1 = require("minimatch");
29
+ let FileDownloadServiceImpl = class FileDownloadServiceImpl {
30
+ constructor() {
31
+ this.ignorePatterns = [];
32
+ }
33
+ getFileSizeThreshold() {
34
+ return this.preferences['files.maxFileSizeMB'] * 1024 * 1024;
35
+ }
36
+ /**
37
+ * Check if streaming download is supported (File System Access API)
38
+ */
39
+ isStreamingSupported() {
40
+ var _a, _b;
41
+ if (!globalThis.isSecureContext) {
42
+ return false;
43
+ }
44
+ if (!('showSaveFilePicker' in globalThis)) {
45
+ return false;
46
+ }
47
+ try {
48
+ return typeof ((_b = (_a = globalThis.ReadableStream) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b.pipeTo) === 'function';
49
+ }
50
+ catch {
51
+ return false;
52
+ }
53
+ }
54
+ async download(uris, options) {
55
+ if (uris.length === 0) {
56
+ return;
57
+ }
58
+ const abortController = new AbortController();
59
+ try {
60
+ const progress = await this.messageService.showProgress({
61
+ text: core_1.nls.localize('theia/filesystem/prepareDownload', 'Preparing download...'),
62
+ options: { cancelable: true },
63
+ }, () => {
64
+ abortController.abort();
65
+ });
66
+ try {
67
+ await this.doDownload(uris, abortController.signal);
68
+ }
69
+ finally {
70
+ progress.cancel();
71
+ }
72
+ }
73
+ catch (e) {
74
+ if (!abortController.signal.aborted) {
75
+ this.logger.error(`Error occurred when downloading: ${uris.map(u => u.toString(true))}.`, e);
76
+ this.messageService.error(core_1.nls.localize('theia/filesystem/downloadError', 'Failed to download files. See console for details.'));
77
+ }
78
+ }
79
+ }
80
+ async doDownload(uris, abortSignal) {
81
+ try {
82
+ const { files, directories, totalSize, stats } = await this.collectFiles(uris, abortSignal);
83
+ if (abortSignal.aborted) {
84
+ return;
85
+ }
86
+ if (totalSize > this.getFileSizeThreshold() &&
87
+ this.isStreamingSupported()) {
88
+ await this.streamDownloadToFile(uris, files, directories, stats, abortSignal);
89
+ }
90
+ else {
91
+ let data;
92
+ let filename = 'theia-download.tar';
93
+ if (uris.length === 1) {
94
+ const stat = stats[0];
95
+ if (stat.isDirectory) {
96
+ filename = `${stat.name}.tar`;
97
+ data = await this.createArchiveBlob(async (tarPack) => {
98
+ await this.addFilesToArchive(tarPack, files, directories, abortSignal);
99
+ }, abortSignal);
100
+ }
101
+ else {
102
+ filename = stat.name;
103
+ const content = await this.fileService.readFile(uris[0]);
104
+ data = new Blob([content.value.buffer], {
105
+ type: 'application/octet-stream',
106
+ });
107
+ }
108
+ }
109
+ else {
110
+ data = await this.createArchiveBlob(async (tarPack) => {
111
+ await this.addFilesToArchive(tarPack, files, directories, abortSignal);
112
+ }, abortSignal);
113
+ }
114
+ if (!abortSignal.aborted) {
115
+ this.blobDownload(data, filename);
116
+ }
117
+ }
118
+ }
119
+ catch (error) {
120
+ if (!abortSignal.aborted) {
121
+ this.logger.error('Failed to download files', error);
122
+ throw error;
123
+ }
124
+ }
125
+ }
126
+ async createArchiveBlob(populateArchive, abortSignal) {
127
+ const stream = this.createArchiveStream(abortSignal, populateArchive);
128
+ const reader = stream.getReader();
129
+ const chunks = [];
130
+ let total = 0;
131
+ try {
132
+ while (true) {
133
+ if (abortSignal.aborted) {
134
+ throw new Error('Operation aborted');
135
+ }
136
+ const { done, value } = await reader.read();
137
+ if (done) {
138
+ break;
139
+ }
140
+ chunks.push(value);
141
+ total += value.byteLength;
142
+ }
143
+ const out = new Uint8Array(total);
144
+ let off = 0;
145
+ for (const c of chunks) {
146
+ out.set(c, off);
147
+ off += c.byteLength;
148
+ }
149
+ return new Blob([out], { type: 'application/x-tar' });
150
+ }
151
+ finally {
152
+ try {
153
+ reader.releaseLock();
154
+ }
155
+ catch { }
156
+ }
157
+ }
158
+ /**
159
+ * Create ReadableStream from a single file using FileService streaming
160
+ */
161
+ async createFileStream(uri, abortSignal) {
162
+ if (abortSignal.aborted) {
163
+ throw new Error('Operation aborted');
164
+ }
165
+ const fileStreamContent = await this.fileService.readFileStream(uri);
166
+ return (0, stream_1.binaryStreamToWebStream)(fileStreamContent.value, abortSignal);
167
+ }
168
+ async addFileToArchive(tarPack, file, abortSignal) {
169
+ if (abortSignal.aborted) {
170
+ return;
171
+ }
172
+ try {
173
+ const name = this.sanitizeFilename(file.path);
174
+ const size = file.size;
175
+ const entry = tarPack.entry({ name, size });
176
+ const fileStreamContent = await this.fileService.readFileStream(file.uri);
177
+ const src = fileStreamContent.value;
178
+ return new Promise((resolve, reject) => {
179
+ var _a, _b, _c, _d;
180
+ const cleanup = () => {
181
+ var _a, _b, _c, _d;
182
+ (_a = src.removeListener) === null || _a === void 0 ? void 0 : _a.call(src, 'data', onData);
183
+ (_b = src.removeListener) === null || _b === void 0 ? void 0 : _b.call(src, 'end', onEnd);
184
+ (_c = src.removeListener) === null || _c === void 0 ? void 0 : _c.call(src, 'error', onError);
185
+ (_d = entry.removeListener) === null || _d === void 0 ? void 0 : _d.call(entry, 'error', onEntryError);
186
+ abortSignal.removeEventListener('abort', onAbort);
187
+ };
188
+ const onAbort = () => {
189
+ var _a;
190
+ cleanup();
191
+ (_a = entry.destroy) === null || _a === void 0 ? void 0 : _a.call(entry);
192
+ reject(new Error('Operation aborted'));
193
+ };
194
+ let ended = false;
195
+ let pendingWrite = undefined;
196
+ const onData = async (chunk) => {
197
+ var _a, _b;
198
+ if (abortSignal.aborted || ended) {
199
+ return;
200
+ }
201
+ (_a = src.pause) === null || _a === void 0 ? void 0 : _a.call(src);
202
+ const u8 = new Uint8Array(chunk.buffer);
203
+ const canWrite = entry.write(u8);
204
+ if (!canWrite) {
205
+ pendingWrite = new Promise(resolveDrain => {
206
+ entry.once('drain', resolveDrain);
207
+ });
208
+ await pendingWrite;
209
+ pendingWrite = undefined;
210
+ }
211
+ if (!ended) {
212
+ (_b = src.resume) === null || _b === void 0 ? void 0 : _b.call(src);
213
+ }
214
+ };
215
+ const onEnd = async () => {
216
+ ended = true;
217
+ if (pendingWrite) {
218
+ await pendingWrite;
219
+ }
220
+ cleanup();
221
+ entry.end();
222
+ resolve();
223
+ };
224
+ const onError = (err) => {
225
+ var _a;
226
+ cleanup();
227
+ try {
228
+ (_a = entry.destroy) === null || _a === void 0 ? void 0 : _a.call(entry, err);
229
+ }
230
+ catch { }
231
+ reject(err);
232
+ };
233
+ const onEntryError = (err) => {
234
+ cleanup();
235
+ reject(new Error(`Entry error for ${name}: ${err.message}`));
236
+ };
237
+ if (abortSignal.aborted) {
238
+ return onAbort();
239
+ }
240
+ abortSignal.addEventListener('abort', onAbort, { once: true });
241
+ (_a = entry.on) === null || _a === void 0 ? void 0 : _a.call(entry, 'error', onEntryError);
242
+ (_b = src.on) === null || _b === void 0 ? void 0 : _b.call(src, 'data', onData);
243
+ (_c = src.on) === null || _c === void 0 ? void 0 : _c.call(src, 'end', onEnd);
244
+ (_d = src.on) === null || _d === void 0 ? void 0 : _d.call(src, 'error', onError);
245
+ });
246
+ }
247
+ catch (error) {
248
+ this.logger.error(`Failed to read file ${file.uri.toString()}:`, error);
249
+ throw error;
250
+ }
251
+ }
252
+ async addFilesToArchive(tarPack, files, directories, abortSignal) {
253
+ const uniqueDirs = new Set();
254
+ for (const dir of directories) {
255
+ const normalizedPath = this.sanitizeFilename(dir.path) + '/';
256
+ uniqueDirs.add(normalizedPath);
257
+ }
258
+ for (const dirPath of uniqueDirs) {
259
+ try {
260
+ const entry = tarPack.entry({
261
+ name: dirPath,
262
+ type: 'directory',
263
+ });
264
+ entry.end();
265
+ }
266
+ catch (error) {
267
+ this.logger.error(`Failed to add directory ${dirPath}:`, error);
268
+ }
269
+ }
270
+ for (const file of files) {
271
+ if (abortSignal.aborted) {
272
+ break;
273
+ }
274
+ try {
275
+ await this.addFileToArchive(tarPack, file, abortSignal);
276
+ }
277
+ catch (error) {
278
+ this.logger.error(`Failed to read file ${file.uri.toString()}:`, error);
279
+ }
280
+ }
281
+ }
282
+ createArchiveStream(abortSignal, populateArchive) {
283
+ const tarPack = tarStream.pack();
284
+ return new ReadableStream({
285
+ start(controller) {
286
+ const cleanup = () => {
287
+ var _a;
288
+ try {
289
+ tarPack.removeAllListeners();
290
+ }
291
+ catch { }
292
+ try {
293
+ (_a = tarPack.destroy) === null || _a === void 0 ? void 0 : _a.call(tarPack);
294
+ }
295
+ catch { }
296
+ abortSignal.removeEventListener('abort', onAbort);
297
+ };
298
+ const onAbort = () => {
299
+ cleanup();
300
+ controller.error(new Error('Operation aborted'));
301
+ };
302
+ if (abortSignal.aborted) {
303
+ onAbort();
304
+ return;
305
+ }
306
+ abortSignal.addEventListener('abort', onAbort, { once: true });
307
+ tarPack.on('data', (chunk) => {
308
+ if (abortSignal.aborted) {
309
+ return;
310
+ }
311
+ try {
312
+ controller.enqueue(chunk);
313
+ }
314
+ catch (error) {
315
+ cleanup();
316
+ controller.error(error);
317
+ }
318
+ });
319
+ tarPack.once('end', () => {
320
+ cleanup();
321
+ controller.close();
322
+ });
323
+ tarPack.once('error', error => {
324
+ cleanup();
325
+ controller.error(error);
326
+ });
327
+ populateArchive(tarPack)
328
+ .then(() => {
329
+ if (!abortSignal.aborted) {
330
+ tarPack.finalize();
331
+ }
332
+ })
333
+ .catch(error => {
334
+ cleanup();
335
+ controller.error(error);
336
+ });
337
+ },
338
+ cancel: () => {
339
+ var _a, _b;
340
+ try {
341
+ (_a = tarPack.finalize) === null || _a === void 0 ? void 0 : _a.call(tarPack);
342
+ (_b = tarPack.destroy) === null || _b === void 0 ? void 0 : _b.call(tarPack);
343
+ }
344
+ catch { }
345
+ },
346
+ });
347
+ }
348
+ async streamDownloadToFile(uris, files, directories, stats, abortSignal) {
349
+ var _a;
350
+ let filename = 'theia-download.tar';
351
+ if (uris.length === 1) {
352
+ const stat = stats[0];
353
+ filename = stat.isDirectory ? `${stat.name}.tar` : stat.name;
354
+ }
355
+ const isArchive = filename.endsWith('.tar');
356
+ let fileHandle;
357
+ try {
358
+ // @ts-expect-error non-standard
359
+ fileHandle = await window.showSaveFilePicker({
360
+ suggestedName: filename,
361
+ types: isArchive
362
+ ? [
363
+ {
364
+ description: 'Archive files',
365
+ accept: { 'application/x-tar': ['.tar'] },
366
+ },
367
+ ]
368
+ : undefined,
369
+ });
370
+ }
371
+ catch (error) {
372
+ if (error instanceof DOMException && error.name === 'AbortError') {
373
+ return;
374
+ }
375
+ throw error;
376
+ }
377
+ let stream;
378
+ if (uris.length === 1) {
379
+ const stat = await this.fileService.resolve(uris[0]);
380
+ stream = stat.isDirectory
381
+ ? this.createArchiveStream(abortSignal, async (tarPack) => {
382
+ await this.addFilesToArchive(tarPack, files, directories, abortSignal);
383
+ })
384
+ : await this.createFileStream(uris[0], abortSignal);
385
+ }
386
+ else {
387
+ stream = this.createArchiveStream(abortSignal, async (tarPack) => {
388
+ await this.addFilesToArchive(tarPack, files, directories, abortSignal);
389
+ });
390
+ }
391
+ const writable = await fileHandle.createWritable();
392
+ try {
393
+ await stream.pipeTo(writable, { signal: abortSignal });
394
+ }
395
+ catch (error) {
396
+ try {
397
+ await ((_a = writable.abort) === null || _a === void 0 ? void 0 : _a.call(writable));
398
+ }
399
+ catch { }
400
+ throw error;
401
+ }
402
+ }
403
+ blobDownload(data, filename) {
404
+ const url = URL.createObjectURL(data);
405
+ const a = document.createElement('a');
406
+ a.href = url;
407
+ a.download = filename;
408
+ a.style.display = 'none';
409
+ document.body.appendChild(a);
410
+ a.click();
411
+ setTimeout(() => {
412
+ document.body.removeChild(a);
413
+ URL.revokeObjectURL(url);
414
+ }, 0);
415
+ }
416
+ sanitizeFilename(filename) {
417
+ return filename
418
+ .replace(/[\\:*?"<>|]/g, '_') // Replace Windows-problematic chars
419
+ .replace(/\.\./g, '__') // Replace .. to prevent directory traversal
420
+ .replace(/^\/+/g, '') // Remove leading slashes
421
+ .replace(/\/+$/, '') // Remove trailing slashes for files
422
+ .replace(/[\u0000-\u001f\u007f]/g, '_') // Replace control characters
423
+ .replace(/\/+/g, '/')
424
+ .replace(/^\.$/, '_')
425
+ .replace(/^$/, '_');
426
+ }
427
+ shouldIncludeFile(path) {
428
+ return !this.ignorePatterns.some((pattern) => (0, minimatch_1.minimatch)(path, pattern));
429
+ }
430
+ /**
431
+ * Collect all files and calculate total size
432
+ */
433
+ async collectFiles(uris, abortSignal) {
434
+ var _a;
435
+ const files = [];
436
+ const directories = [];
437
+ let totalSize = 0;
438
+ const stats = [];
439
+ for (const uri of uris) {
440
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
441
+ break;
442
+ }
443
+ try {
444
+ const stat = await this.fileService.resolve(uri, {
445
+ resolveMetadata: true,
446
+ });
447
+ stats.push({
448
+ name: stat.name,
449
+ isDirectory: stat.isDirectory,
450
+ size: stat.size,
451
+ });
452
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
453
+ break;
454
+ }
455
+ if (!stat.isDirectory) {
456
+ const size = stat.size || 0;
457
+ files.push({ uri, path: stat.name, size });
458
+ totalSize += size;
459
+ continue;
460
+ }
461
+ if (!((_a = stat.children) === null || _a === void 0 ? void 0 : _a.length)) {
462
+ directories.push({ path: stat.name });
463
+ continue;
464
+ }
465
+ directories.push({ path: stat.name });
466
+ const dirResult = await this.collectFilesFromDirectory(uri, stat.name, abortSignal);
467
+ files.push(...dirResult.files);
468
+ directories.push(...dirResult.directories);
469
+ totalSize += dirResult.files.reduce((sum, file) => sum + file.size, 0);
470
+ }
471
+ catch (error) {
472
+ this.logger.warn(`Failed to collect files from ${uri.toString()}:`, error);
473
+ stats.push({
474
+ name: uri.path.name || 'unknown',
475
+ isDirectory: false,
476
+ size: 0,
477
+ });
478
+ }
479
+ }
480
+ return { files, directories, totalSize, stats };
481
+ }
482
+ /**
483
+ * Recursively collect files from a directory
484
+ */
485
+ async collectFilesFromDirectory(dirUri, basePath, abortSignal) {
486
+ var _a;
487
+ const files = [];
488
+ const directories = [];
489
+ try {
490
+ const dirStat = await this.fileService.resolve(dirUri);
491
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
492
+ return { files, directories };
493
+ }
494
+ // Empty directory - add it to preserve structure
495
+ if (!((_a = dirStat.children) === null || _a === void 0 ? void 0 : _a.length)) {
496
+ directories.push({ path: basePath });
497
+ return { files, directories };
498
+ }
499
+ for (const child of dirStat.children) {
500
+ if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
501
+ break;
502
+ }
503
+ const childPath = basePath
504
+ ? `${basePath}/${child.name}`
505
+ : child.name;
506
+ if (!this.shouldIncludeFile(childPath)) {
507
+ continue;
508
+ }
509
+ if (child.isDirectory) {
510
+ directories.push({ path: childPath });
511
+ const subResult = await this.collectFilesFromDirectory(child.resource, childPath, abortSignal);
512
+ files.push(...subResult.files);
513
+ directories.push(...subResult.directories);
514
+ }
515
+ else {
516
+ const childStat = await this.fileService.resolve(child.resource);
517
+ files.push({
518
+ uri: child.resource,
519
+ path: childPath,
520
+ size: childStat.size || 0,
521
+ });
522
+ }
523
+ }
524
+ }
525
+ catch (error) {
526
+ this.logger.warn(`Failed to collect files from directory ${dirUri.toString()}:`, error);
527
+ }
528
+ return { files, directories };
529
+ }
530
+ };
531
+ exports.FileDownloadServiceImpl = FileDownloadServiceImpl;
532
+ tslib_1.__decorate([
533
+ (0, inversify_1.inject)(file_service_1.FileService),
534
+ tslib_1.__metadata("design:type", file_service_1.FileService)
535
+ ], FileDownloadServiceImpl.prototype, "fileService", void 0);
536
+ tslib_1.__decorate([
537
+ (0, inversify_1.inject)(logger_1.ILogger),
538
+ tslib_1.__metadata("design:type", Object)
539
+ ], FileDownloadServiceImpl.prototype, "logger", void 0);
540
+ tslib_1.__decorate([
541
+ (0, inversify_1.inject)(message_service_1.MessageService),
542
+ tslib_1.__metadata("design:type", message_service_1.MessageService)
543
+ ], FileDownloadServiceImpl.prototype, "messageService", void 0);
544
+ tslib_1.__decorate([
545
+ (0, inversify_1.inject)(filesystem_preferences_1.FileSystemPreferences),
546
+ tslib_1.__metadata("design:type", Object)
547
+ ], FileDownloadServiceImpl.prototype, "preferences", void 0);
548
+ exports.FileDownloadServiceImpl = FileDownloadServiceImpl = tslib_1.__decorate([
549
+ (0, inversify_1.injectable)()
550
+ ], FileDownloadServiceImpl);
551
+ //# sourceMappingURL=file-download-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-download-service.js","sourceRoot":"","sources":["../../../src/browser-only/download/file-download-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type MinimatchOptions } from 'minimatch';
2
+ import type URI from '@theia/core/lib/common/uri';
3
+ /**
4
+ * Normalizes glob patterns to be consistent with ripgrep behavior.
5
+ *
6
+ * Examples of transformations:
7
+ * - "*.js" -> "**\/*.js" (make non-root patterns match anywhere)
8
+ * - "src/" -> "src\/**" (directory patterns match all contents)
9
+ * - "!*.log" -> "!**\/*.log" (negation patterns)
10
+ * - "src/**\/**\/file.js" -> "src/**\/file.js" (collapse repeated double-star patterns)
11
+ *
12
+ * @param glob - The glob pattern to normalize
13
+ * @returns The normalized glob pattern
14
+ */
15
+ export declare function normalizeGlob(glob: string): string;
16
+ /**
17
+ * Checks if a text matches any of the minimatch patterns
18
+ * @param text - The text to check
19
+ * @param patterns - The patterns to check
20
+ * @returns True if the text matches any of the patterns, false otherwise
21
+ */
22
+ export declare function matchesPattern(text: string, patterns: string[], opts?: MinimatchOptions): boolean;
23
+ /**
24
+ * Creates a new ignore pattern matcher for managing ignore patterns.
25
+ * @returns An object with add and ignores methods
26
+ */
27
+ export declare function createIgnoreMatcher(): {
28
+ add: (patterns: string | string[]) => void;
29
+ ignores: (path: string) => boolean;
30
+ };
31
+ /**
32
+ * Processes ignore files (.gitignore, .ignore, .rgignore) in a directory.
33
+ * @param dir - The directory URI to process
34
+ * @param read - Function to read the ignore file content
35
+ * @returns Array of processed ignore patterns relative to the directory contains that ignore file
36
+ */
37
+ export declare function getIgnorePatterns(dir: URI, read: (uri: URI) => Promise<string>): Promise<string[]>;
38
+ //# sourceMappingURL=file-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-search.d.ts","sourceRoot":"","sources":["../../src/browser-only/file-search.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyClD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAEjG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI;IAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,CAOxH;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBxG"}