@visulima/fs 2.3.5 → 2.3.6

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 (217) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +318 -362
  3. package/dist/error.cjs +21 -1
  4. package/dist/error.mjs +7 -1
  5. package/dist/index.cjs +88 -1
  6. package/dist/index.mjs +35 -1
  7. package/dist/packem_shared/AlreadyExistsError-DpxtwQot.cjs +34 -0
  8. package/dist/packem_shared/AlreadyExistsError-GK7J9fVA.mjs +32 -0
  9. package/dist/packem_shared/DirectoryError-D8FHcAqu.cjs +34 -0
  10. package/dist/packem_shared/DirectoryError-DByTWE7t.mjs +32 -0
  11. package/dist/packem_shared/F_OK-CWSqQIdF.cjs +17 -0
  12. package/dist/packem_shared/F_OK-JER1LjUr.mjs +8 -0
  13. package/dist/packem_shared/JSONError-BCIIHvzq.mjs +28 -0
  14. package/dist/packem_shared/JSONError-gkXvBSar.cjs +30 -0
  15. package/dist/packem_shared/LF-CU3KsvZC.mjs +20 -0
  16. package/dist/packem_shared/LF-bB2qO80j.cjs +28 -0
  17. package/dist/packem_shared/NotEmptyError-BCS_5pPt.cjs +34 -0
  18. package/dist/packem_shared/NotEmptyError-DCXooh5l.mjs +32 -0
  19. package/dist/packem_shared/NotFoundError-B_1nPl3K.cjs +34 -0
  20. package/dist/packem_shared/NotFoundError-CUdcC61I.mjs +32 -0
  21. package/dist/packem_shared/PermissionError-CqGMI9qC.mjs +32 -0
  22. package/dist/packem_shared/PermissionError-QFMKgk2l.cjs +34 -0
  23. package/dist/packem_shared/WalkError-B7_AVs7d.cjs +27 -0
  24. package/dist/packem_shared/WalkError-H9EuRv7O.mjs +25 -0
  25. package/dist/packem_shared/assertValidFileContents-CRVvyM6b.cjs +11 -0
  26. package/dist/packem_shared/assertValidFileContents-Ox-ScfeK.mjs +9 -0
  27. package/dist/packem_shared/assertValidFileOrDirectoryPath-BMbgA-eI.cjs +11 -0
  28. package/dist/packem_shared/assertValidFileOrDirectoryPath-BWWgA1wj.mjs +9 -0
  29. package/dist/packem_shared/collect-BtDVJEOm.mjs +16 -0
  30. package/dist/packem_shared/collect-DxUriHCH.cjs +18 -0
  31. package/dist/packem_shared/collectSync-BaA0s001.cjs +18 -0
  32. package/dist/packem_shared/collectSync-CGjdb50I.mjs +16 -0
  33. package/dist/packem_shared/emptyDir-DcCfiNcf.cjs +22 -0
  34. package/dist/packem_shared/emptyDir-Dw5xSBox.mjs +20 -0
  35. package/dist/packem_shared/emptyDirSync-BoknkGUe.cjs +21 -0
  36. package/dist/packem_shared/emptyDirSync-DTGPXQ3v.mjs +19 -0
  37. package/dist/packem_shared/ensureDir-XiBlkOLR.mjs +33 -0
  38. package/dist/packem_shared/ensureDir-iUK2ga5M.cjs +35 -0
  39. package/dist/packem_shared/ensureDirSync-2IFUHFK2.mjs +33 -0
  40. package/dist/packem_shared/ensureDirSync-CXdMkg0Y.cjs +35 -0
  41. package/dist/packem_shared/ensureFile-Br8tFUJ7.cjs +29 -0
  42. package/dist/packem_shared/ensureFile-C2bWlBEa.mjs +27 -0
  43. package/dist/packem_shared/ensureFileSync-CZzSkNGC.cjs +29 -0
  44. package/dist/packem_shared/ensureFileSync-DkFfhOEs.mjs +27 -0
  45. package/dist/packem_shared/ensureLink-CFiabAD3.mjs +34 -0
  46. package/dist/packem_shared/ensureLink-Dqw5GBDq.cjs +36 -0
  47. package/dist/packem_shared/ensureLinkSync-BVw3h6sK.cjs +36 -0
  48. package/dist/packem_shared/ensureLinkSync-Dk-YeRg6.mjs +34 -0
  49. package/dist/packem_shared/ensureSymlink-CFSfreco.cjs +54 -0
  50. package/dist/packem_shared/ensureSymlink-CSqngPoI.mjs +52 -0
  51. package/dist/packem_shared/ensureSymlinkSync-BCd9bzsx.cjs +58 -0
  52. package/dist/packem_shared/ensureSymlinkSync-QRaNZX2E.mjs +56 -0
  53. package/dist/packem_shared/findUp-C8_QpAtD.mjs +63 -0
  54. package/dist/packem_shared/findUp-DA511Swp.cjs +65 -0
  55. package/dist/packem_shared/findUpSync-DVOd3V-q.mjs +63 -0
  56. package/dist/packem_shared/findUpSync-u1rGibzw.cjs +65 -0
  57. package/dist/packem_shared/get-file-info-type-BpRzQHvd.cjs +18 -0
  58. package/dist/packem_shared/get-file-info-type-CeiZ6n6g.mjs +16 -0
  59. package/dist/packem_shared/index-ajT9ecry.mjs +108 -0
  60. package/dist/packem_shared/index-ngvEMjBI.cjs +110 -0
  61. package/dist/packem_shared/is-stats-identical-BfdEfO6i.cjs +7 -0
  62. package/dist/packem_shared/is-stats-identical-ByTYZ2Aw.mjs +5 -0
  63. package/dist/packem_shared/isAccessible-Bonsm1Ez.mjs +20 -0
  64. package/dist/packem_shared/isAccessible-ZNVGsSb7.cjs +22 -0
  65. package/dist/packem_shared/isAccessibleSync-3gnUWUwX.mjs +20 -0
  66. package/dist/packem_shared/isAccessibleSync-VWjQa-US.cjs +22 -0
  67. package/dist/packem_shared/move-DgF7Ul9L.mjs +114 -0
  68. package/dist/packem_shared/move-Dh925GL9.cjs +121 -0
  69. package/dist/packem_shared/parseJson-B_q4905N.mjs +160 -0
  70. package/dist/packem_shared/parseJson-P3C7DMaS.cjs +162 -0
  71. package/dist/packem_shared/readFile-DUM-xNoB.mjs +46 -0
  72. package/dist/packem_shared/readFile-iFUhZHnh.cjs +48 -0
  73. package/dist/packem_shared/readFileSync-B3NTOR-W.cjs +33 -0
  74. package/dist/packem_shared/readFileSync-Cck96_o0.mjs +31 -0
  75. package/dist/packem_shared/readJson-Bqr9Oi3I.mjs +25 -0
  76. package/dist/packem_shared/readJson-D7rMdkkq.cjs +27 -0
  77. package/dist/packem_shared/readJsonSync-D3s2y651.cjs +27 -0
  78. package/dist/packem_shared/readJsonSync-Don8Jw5D.mjs +25 -0
  79. package/dist/packem_shared/readYaml-sR4bqUel.cjs +15 -0
  80. package/dist/packem_shared/readYaml-vVKK8ZzY.mjs +13 -0
  81. package/dist/packem_shared/readYamlSync-C3oOzxiN.cjs +15 -0
  82. package/dist/packem_shared/readYamlSync-MOLH4gXB.mjs +13 -0
  83. package/dist/packem_shared/remove-B2nxUObP.mjs +18 -0
  84. package/dist/packem_shared/remove-BpDiVPns.cjs +20 -0
  85. package/dist/packem_shared/removeSync-BosXW624.cjs +20 -0
  86. package/dist/packem_shared/removeSync-C87yepDI.mjs +18 -0
  87. package/dist/packem_shared/resolve-symlink-target-BbpEHdU2.mjs +18 -0
  88. package/dist/packem_shared/resolve-symlink-target-DImIddt6.cjs +20 -0
  89. package/dist/packem_shared/stripJsonComments-B66nRaTZ.mjs +21 -0
  90. package/dist/packem_shared/stripJsonComments-eDrcJvBT.cjs +23 -0
  91. package/dist/packem_shared/to-uint-8-array-B4CjMOD3.mjs +21 -0
  92. package/dist/packem_shared/to-uint-8-array-BaTEyX3D.cjs +23 -0
  93. package/dist/packem_shared/walk-BW7b4GXI.cjs +106 -0
  94. package/dist/packem_shared/walk-CNcSYQVq.mjs +104 -0
  95. package/dist/packem_shared/walk-include-CMUSRa86.mjs +20 -0
  96. package/dist/packem_shared/walk-include-yUdRrF16.cjs +23 -0
  97. package/dist/packem_shared/walkSync-BzxdFWLU.mjs +103 -0
  98. package/dist/packem_shared/walkSync-DgPj93NL.cjs +105 -0
  99. package/dist/packem_shared/writeFile-B7dhfseN.mjs +58 -0
  100. package/dist/packem_shared/writeFile-DKu5-M8x.cjs +60 -0
  101. package/dist/packem_shared/writeFileSync-Db6pmY0q.cjs +60 -0
  102. package/dist/packem_shared/writeFileSync-mMGYqOc8.mjs +58 -0
  103. package/dist/packem_shared/writeJson-BSQE2uFN.mjs +31 -0
  104. package/dist/packem_shared/writeJson-DtnnjTix.cjs +33 -0
  105. package/dist/packem_shared/writeJsonSync-C_i6LsGT.mjs +31 -0
  106. package/dist/packem_shared/writeJsonSync-Dz5-B2PD.cjs +33 -0
  107. package/dist/packem_shared/writeYaml-B-KoZN0E.cjs +14 -0
  108. package/dist/packem_shared/writeYaml-DSTzKc0_.mjs +12 -0
  109. package/dist/packem_shared/writeYamlSync-D6borSP1.cjs +14 -0
  110. package/dist/packem_shared/writeYamlSync-agxYIea0.mjs +12 -0
  111. package/dist/utils.cjs +19 -1
  112. package/dist/utils.mjs +6 -1
  113. package/package.json +15 -16
  114. package/dist/packem_shared/AlreadyExistsError-CEu6_Tjb.mjs +0 -1
  115. package/dist/packem_shared/AlreadyExistsError-GC2XUgzJ.cjs +0 -1
  116. package/dist/packem_shared/DirectoryError-B8wqer68.cjs +0 -1
  117. package/dist/packem_shared/DirectoryError-ddlbUV8C.mjs +0 -1
  118. package/dist/packem_shared/F_OK-6WAweffB.cjs +0 -1
  119. package/dist/packem_shared/F_OK-B71i3mUa.mjs +0 -1
  120. package/dist/packem_shared/JSONError-CVkb3xZ3.mjs +0 -4
  121. package/dist/packem_shared/JSONError-CWuiGmNc.cjs +0 -4
  122. package/dist/packem_shared/LF-D4BqIfQm.cjs +0 -3
  123. package/dist/packem_shared/LF-Dbx0i6a7.mjs +0 -3
  124. package/dist/packem_shared/NotEmptyError-BWGfec5K.cjs +0 -1
  125. package/dist/packem_shared/NotEmptyError-DMh1o7UL.mjs +0 -1
  126. package/dist/packem_shared/NotFoundError-Diij7oqe.cjs +0 -1
  127. package/dist/packem_shared/NotFoundError-T95YsWYl.mjs +0 -1
  128. package/dist/packem_shared/PermissionError-B8oi38Bx.mjs +0 -1
  129. package/dist/packem_shared/PermissionError-Ck1Es7al.cjs +0 -1
  130. package/dist/packem_shared/WalkError-BsngoIKJ.mjs +0 -1
  131. package/dist/packem_shared/WalkError-gKgp0TWD.cjs +0 -1
  132. package/dist/packem_shared/assertValidFileContents-BLhwm7u2.mjs +0 -1
  133. package/dist/packem_shared/assertValidFileContents-CrbDz09d.cjs +0 -1
  134. package/dist/packem_shared/assertValidFileOrDirectoryPath-DgPIPmZT.mjs +0 -1
  135. package/dist/packem_shared/assertValidFileOrDirectoryPath-HOUs73Jk.cjs +0 -1
  136. package/dist/packem_shared/collect-4au76gDu.cjs +0 -1
  137. package/dist/packem_shared/collect-CRzGiRGg.mjs +0 -1
  138. package/dist/packem_shared/collectSync-BE8DAOke.mjs +0 -1
  139. package/dist/packem_shared/collectSync-CbKwt8rz.cjs +0 -1
  140. package/dist/packem_shared/emptyDir-D2m8OP8u.mjs +0 -1
  141. package/dist/packem_shared/emptyDir-DKxQHQQb.cjs +0 -1
  142. package/dist/packem_shared/emptyDirSync-CLM_zyIb.cjs +0 -1
  143. package/dist/packem_shared/emptyDirSync-CZNcW4wc.mjs +0 -1
  144. package/dist/packem_shared/ensureDir-BtvxsJiS.mjs +0 -1
  145. package/dist/packem_shared/ensureDir-DVHj-_yp.cjs +0 -1
  146. package/dist/packem_shared/ensureDirSync-CvjJ3bGq.cjs +0 -1
  147. package/dist/packem_shared/ensureDirSync-bGe0QB7d.mjs +0 -1
  148. package/dist/packem_shared/ensureFile-C46R6-4l.mjs +0 -1
  149. package/dist/packem_shared/ensureFile-CcJ5XIZm.cjs +0 -1
  150. package/dist/packem_shared/ensureFileSync-CwYTIP4G.mjs +0 -1
  151. package/dist/packem_shared/ensureFileSync-v-PhMLTr.cjs +0 -1
  152. package/dist/packem_shared/ensureLink-63XWiA3I.mjs +0 -1
  153. package/dist/packem_shared/ensureLink-C-v4AxzH.cjs +0 -1
  154. package/dist/packem_shared/ensureLinkSync-C4S-zdVb.cjs +0 -1
  155. package/dist/packem_shared/ensureLinkSync-D2LVObKd.mjs +0 -1
  156. package/dist/packem_shared/ensureSymlink-C5cy9585.cjs +0 -1
  157. package/dist/packem_shared/ensureSymlink-D36fS4KE.mjs +0 -1
  158. package/dist/packem_shared/ensureSymlinkSync-PvWVgeXc.mjs +0 -1
  159. package/dist/packem_shared/ensureSymlinkSync-YDRbg9hX.cjs +0 -1
  160. package/dist/packem_shared/findUp-CMGMYNty.mjs +0 -1
  161. package/dist/packem_shared/findUp-VKPTLmQQ.cjs +0 -1
  162. package/dist/packem_shared/findUpSync-BFwDGxkV.cjs +0 -1
  163. package/dist/packem_shared/findUpSync-QP_ZEsJN.mjs +0 -1
  164. package/dist/packem_shared/get-file-info-type-BXcpoWEM.cjs +0 -1
  165. package/dist/packem_shared/get-file-info-type-CaWGXRjY.mjs +0 -1
  166. package/dist/packem_shared/index-Cms6lU4T.cjs +0 -1
  167. package/dist/packem_shared/index-VcQXVcaq.mjs +0 -1
  168. package/dist/packem_shared/is-stats-identical-CPCumzsC.cjs +0 -1
  169. package/dist/packem_shared/is-stats-identical-CS5Y91zW.mjs +0 -1
  170. package/dist/packem_shared/isAccessible-Be3NKjOk.cjs +0 -1
  171. package/dist/packem_shared/isAccessible-cO53WedI.mjs +0 -1
  172. package/dist/packem_shared/isAccessibleSync-D5Vc2GTD.mjs +0 -1
  173. package/dist/packem_shared/isAccessibleSync-WOSgkAy2.cjs +0 -1
  174. package/dist/packem_shared/move-MZ9F6paN.mjs +0 -1
  175. package/dist/packem_shared/move-j3mzcWrG.cjs +0 -1
  176. package/dist/packem_shared/parseJson-BIYrZWHm.mjs +0 -6
  177. package/dist/packem_shared/parseJson-CXe73j5t.cjs +0 -6
  178. package/dist/packem_shared/readFile-CFus1Rym.mjs +0 -1
  179. package/dist/packem_shared/readFile-fzYtUKuW.cjs +0 -1
  180. package/dist/packem_shared/readFileSync-Dz4jLcWc.cjs +0 -1
  181. package/dist/packem_shared/readFileSync-Ulz6QzOz.mjs +0 -1
  182. package/dist/packem_shared/readJson-C6RN16Rf.mjs +0 -1
  183. package/dist/packem_shared/readJson-D7_CYUJX.cjs +0 -1
  184. package/dist/packem_shared/readJsonSync-QziPGqW_.cjs +0 -1
  185. package/dist/packem_shared/readJsonSync-ztZXpE8z.mjs +0 -1
  186. package/dist/packem_shared/readYaml-C-ui8qXw.cjs +0 -1
  187. package/dist/packem_shared/readYaml-aFHfT-4e.mjs +0 -1
  188. package/dist/packem_shared/readYamlSync-CeJ6RnoJ.mjs +0 -1
  189. package/dist/packem_shared/readYamlSync-DUYMSemC.cjs +0 -1
  190. package/dist/packem_shared/remove-B-9MI2l5.cjs +0 -1
  191. package/dist/packem_shared/remove-DzfvbZOm.mjs +0 -1
  192. package/dist/packem_shared/removeSync-CJPR6M7V.cjs +0 -1
  193. package/dist/packem_shared/removeSync-D165rXSn.mjs +0 -1
  194. package/dist/packem_shared/resolve-symlink-target-BofZSDIc.mjs +0 -1
  195. package/dist/packem_shared/resolve-symlink-target-HnbdXA1S.cjs +0 -1
  196. package/dist/packem_shared/stripJsonComments-CKgR4nW4.mjs +0 -1
  197. package/dist/packem_shared/stripJsonComments-Cw7UCxI3.cjs +0 -1
  198. package/dist/packem_shared/to-uint-8-array-2-3EvGd7.cjs +0 -1
  199. package/dist/packem_shared/to-uint-8-array-DwgaTasY.mjs +0 -1
  200. package/dist/packem_shared/walk-BJgnJy5d.cjs +0 -1
  201. package/dist/packem_shared/walk-DH-95i_B.mjs +0 -1
  202. package/dist/packem_shared/walk-include-B-MbUqMt.mjs +0 -1
  203. package/dist/packem_shared/walk-include-CFIYniQi.cjs +0 -1
  204. package/dist/packem_shared/walkSync-D4zvt_kM.mjs +0 -1
  205. package/dist/packem_shared/walkSync-DYawhxUA.cjs +0 -1
  206. package/dist/packem_shared/writeFile-DaHzc_FW.mjs +0 -1
  207. package/dist/packem_shared/writeFile-WCuWZNRy.cjs +0 -1
  208. package/dist/packem_shared/writeFileSync-D9HGh6J-.mjs +0 -1
  209. package/dist/packem_shared/writeFileSync-Ds49_ORi.cjs +0 -1
  210. package/dist/packem_shared/writeJson-BdjtBy1t.cjs +0 -4
  211. package/dist/packem_shared/writeJson-Bu7Dw4Uu.mjs +0 -4
  212. package/dist/packem_shared/writeJsonSync-7CjNn7oo.mjs +0 -4
  213. package/dist/packem_shared/writeJsonSync-CdC3ahaO.cjs +0 -4
  214. package/dist/packem_shared/writeYaml-COWffUNm.cjs +0 -1
  215. package/dist/packem_shared/writeYaml-bi1dx696.mjs +0 -1
  216. package/dist/packem_shared/writeYamlSync-BpIN1tTP.cjs +0 -1
  217. package/dist/packem_shared/writeYamlSync-D2VPlEws.mjs +0 -1
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ const node_fs = require('node:fs');
4
+ const path = require('@visulima/path');
5
+ const utils = require('@visulima/path/utils');
6
+ const F_OK = require('./F_OK-CWSqQIdF.cjs');
7
+ const isAccessibleSync = require('./isAccessibleSync-VWjQa-US.cjs');
8
+ const assertValidFileContents = require('./assertValidFileContents-CRVvyM6b.cjs');
9
+ const assertValidFileOrDirectoryPath = require('./assertValidFileOrDirectoryPath-BMbgA-eI.cjs');
10
+ const toUint8Array = require('./to-uint-8-array-BaTEyX3D.cjs');
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ const writeFileSync = /* @__PURE__ */ __name((path$1, content, options) => {
15
+ options = {
16
+ encoding: "utf8",
17
+ flag: "w",
18
+ overwrite: true,
19
+ recursive: true,
20
+ ...options
21
+ };
22
+ assertValidFileOrDirectoryPath(path$1);
23
+ assertValidFileContents(content);
24
+ path$1 = utils.toPath(path$1);
25
+ try {
26
+ const pathExists = isAccessibleSync(path$1, F_OK.F_OK);
27
+ if (!pathExists && options.recursive) {
28
+ const directory = path.dirname(path$1);
29
+ if (!isAccessibleSync(directory, F_OK.F_OK)) {
30
+ node_fs.mkdirSync(directory, { recursive: true });
31
+ }
32
+ }
33
+ let stat;
34
+ node_fs.writeFileSync(`${path$1}.tmp`, toUint8Array.toUint8Array(content), { encoding: options.encoding, flag: options.flag });
35
+ if (pathExists && !options.overwrite) {
36
+ stat = node_fs.statSync(path$1);
37
+ if (options.chown === undefined) {
38
+ options.chown = { gid: stat.gid, uid: stat.uid };
39
+ }
40
+ node_fs.renameSync(path$1, `${path$1}.bak`);
41
+ }
42
+ const temporaryPath = `${path$1}.tmp`;
43
+ if (options.chown) {
44
+ try {
45
+ node_fs.chownSync(temporaryPath, options.chown.uid, options.chown.gid);
46
+ } catch {
47
+ }
48
+ }
49
+ node_fs.chmodSync(temporaryPath, stat && !options.mode ? stat.mode : options.mode ?? 438);
50
+ node_fs.renameSync(temporaryPath, path$1);
51
+ } catch (error) {
52
+ throw new Error(`Failed to write file at: ${path$1} - ${error.message}`, { cause: error });
53
+ } finally {
54
+ if (isAccessibleSync(`${path$1}.tmp`)) {
55
+ node_fs.unlinkSync(`${path$1}.tmp`);
56
+ }
57
+ }
58
+ }, "writeFileSync");
59
+
60
+ module.exports = writeFileSync;
@@ -0,0 +1,58 @@
1
+ import { mkdirSync, writeFileSync as writeFileSync$1, statSync, renameSync, chownSync, chmodSync, unlinkSync } from 'node:fs';
2
+ import { dirname } from '@visulima/path';
3
+ import { toPath } from '@visulima/path/utils';
4
+ import { F_OK } from './F_OK-JER1LjUr.mjs';
5
+ import isAccessibleSync from './isAccessibleSync-3gnUWUwX.mjs';
6
+ import assertValidFileContents from './assertValidFileContents-Ox-ScfeK.mjs';
7
+ import assertValidFileOrDirectoryPath from './assertValidFileOrDirectoryPath-BWWgA1wj.mjs';
8
+ import { t as toUint8Array } from './to-uint-8-array-B4CjMOD3.mjs';
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
+ const writeFileSync = /* @__PURE__ */ __name((path, content, options) => {
13
+ options = {
14
+ encoding: "utf8",
15
+ flag: "w",
16
+ overwrite: true,
17
+ recursive: true,
18
+ ...options
19
+ };
20
+ assertValidFileOrDirectoryPath(path);
21
+ assertValidFileContents(content);
22
+ path = toPath(path);
23
+ try {
24
+ const pathExists = isAccessibleSync(path, F_OK);
25
+ if (!pathExists && options.recursive) {
26
+ const directory = dirname(path);
27
+ if (!isAccessibleSync(directory, F_OK)) {
28
+ mkdirSync(directory, { recursive: true });
29
+ }
30
+ }
31
+ let stat;
32
+ writeFileSync$1(`${path}.tmp`, toUint8Array(content), { encoding: options.encoding, flag: options.flag });
33
+ if (pathExists && !options.overwrite) {
34
+ stat = statSync(path);
35
+ if (options.chown === undefined) {
36
+ options.chown = { gid: stat.gid, uid: stat.uid };
37
+ }
38
+ renameSync(path, `${path}.bak`);
39
+ }
40
+ const temporaryPath = `${path}.tmp`;
41
+ if (options.chown) {
42
+ try {
43
+ chownSync(temporaryPath, options.chown.uid, options.chown.gid);
44
+ } catch {
45
+ }
46
+ }
47
+ chmodSync(temporaryPath, stat && !options.mode ? stat.mode : options.mode ?? 438);
48
+ renameSync(temporaryPath, path);
49
+ } catch (error) {
50
+ throw new Error(`Failed to write file at: ${path} - ${error.message}`, { cause: error });
51
+ } finally {
52
+ if (isAccessibleSync(`${path}.tmp`)) {
53
+ unlinkSync(`${path}.tmp`);
54
+ }
55
+ }
56
+ }, "writeFileSync");
57
+
58
+ export { writeFileSync as default };
@@ -0,0 +1,31 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { d as detectIndent } from './index-ajT9ecry.mjs';
3
+ import { R_OK } from './F_OK-JER1LjUr.mjs';
4
+ import isAccessible from './isAccessible-Bonsm1Ez.mjs';
5
+ import writeFile from './writeFile-B7dhfseN.mjs';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ const writeJson = /* @__PURE__ */ __name(async (path, data, options = {}) => {
10
+ const { detectIndent: detectIndent$1, indent: indentOption, replacer, stringify = JSON.stringify, ...writeOptions } = { indent: " ", ...options };
11
+ let indent = indentOption;
12
+ let trailingNewline = "\n";
13
+ if (await isAccessible(path, R_OK)) {
14
+ try {
15
+ const file = await readFile(path, "utf8");
16
+ if (detectIndent$1) {
17
+ const { indent: dIndent } = detectIndent(file);
18
+ indent = dIndent;
19
+ }
20
+ trailingNewline = file.endsWith("\n") ? "\n" : "";
21
+ } catch (error) {
22
+ if (error.code !== "ENOENT") {
23
+ throw error;
24
+ }
25
+ }
26
+ }
27
+ const json = stringify(data, replacer, indent);
28
+ await writeFile(path, `${json}${trailingNewline}`, writeOptions);
29
+ }, "writeJson");
30
+
31
+ export { writeJson as default };
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ const promises = require('node:fs/promises');
4
+ const index = require('./index-ngvEMjBI.cjs');
5
+ const F_OK = require('./F_OK-CWSqQIdF.cjs');
6
+ const isAccessible = require('./isAccessible-ZNVGsSb7.cjs');
7
+ const writeFile = require('./writeFile-DKu5-M8x.cjs');
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ const writeJson = /* @__PURE__ */ __name(async (path, data, options = {}) => {
12
+ const { detectIndent, indent: indentOption, replacer, stringify = JSON.stringify, ...writeOptions } = { indent: " ", ...options };
13
+ let indent = indentOption;
14
+ let trailingNewline = "\n";
15
+ if (await isAccessible(path, F_OK.R_OK)) {
16
+ try {
17
+ const file = await promises.readFile(path, "utf8");
18
+ if (detectIndent) {
19
+ const { indent: dIndent } = index.detectIndent(file);
20
+ indent = dIndent;
21
+ }
22
+ trailingNewline = file.endsWith("\n") ? "\n" : "";
23
+ } catch (error) {
24
+ if (error.code !== "ENOENT") {
25
+ throw error;
26
+ }
27
+ }
28
+ }
29
+ const json = stringify(data, replacer, indent);
30
+ await writeFile(path, `${json}${trailingNewline}`, writeOptions);
31
+ }, "writeJson");
32
+
33
+ module.exports = writeJson;
@@ -0,0 +1,31 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { d as detectIndent } from './index-ajT9ecry.mjs';
3
+ import { R_OK } from './F_OK-JER1LjUr.mjs';
4
+ import isAccessibleSync from './isAccessibleSync-3gnUWUwX.mjs';
5
+ import writeFileSync from './writeFileSync-mMGYqOc8.mjs';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ const writeJsonSync = /* @__PURE__ */ __name((path, data, options = {}) => {
10
+ const { detectIndent: detectIndent$1, indent: indentOption, replacer, stringify = JSON.stringify, ...writeOptions } = { indent: " ", ...options };
11
+ let indent = indentOption;
12
+ let trailingNewline = "\n";
13
+ if (isAccessibleSync(path, R_OK)) {
14
+ try {
15
+ const file = readFileSync(path, "utf8");
16
+ if (detectIndent$1) {
17
+ const { indent: dIndent } = detectIndent(file);
18
+ indent = dIndent;
19
+ }
20
+ trailingNewline = file.endsWith("\n") ? "\n" : "";
21
+ } catch (error) {
22
+ if (error.code !== "ENOENT") {
23
+ throw error;
24
+ }
25
+ }
26
+ }
27
+ const json = stringify(data, replacer, indent);
28
+ writeFileSync(path, `${json}${trailingNewline}`, writeOptions);
29
+ }, "writeJsonSync");
30
+
31
+ export { writeJsonSync as default };
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ const node_fs = require('node:fs');
4
+ const index = require('./index-ngvEMjBI.cjs');
5
+ const F_OK = require('./F_OK-CWSqQIdF.cjs');
6
+ const isAccessibleSync = require('./isAccessibleSync-VWjQa-US.cjs');
7
+ const writeFileSync = require('./writeFileSync-Db6pmY0q.cjs');
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ const writeJsonSync = /* @__PURE__ */ __name((path, data, options = {}) => {
12
+ const { detectIndent, indent: indentOption, replacer, stringify = JSON.stringify, ...writeOptions } = { indent: " ", ...options };
13
+ let indent = indentOption;
14
+ let trailingNewline = "\n";
15
+ if (isAccessibleSync(path, F_OK.R_OK)) {
16
+ try {
17
+ const file = node_fs.readFileSync(path, "utf8");
18
+ if (detectIndent) {
19
+ const { indent: dIndent } = index.detectIndent(file);
20
+ indent = dIndent;
21
+ }
22
+ trailingNewline = file.endsWith("\n") ? "\n" : "";
23
+ } catch (error) {
24
+ if (error.code !== "ENOENT") {
25
+ throw error;
26
+ }
27
+ }
28
+ }
29
+ const json = stringify(data, replacer, indent);
30
+ writeFileSync(path, `${json}${trailingNewline}`, writeOptions);
31
+ }, "writeJsonSync");
32
+
33
+ module.exports = writeJsonSync;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const yaml = require('yaml');
4
+ const writeFile = require('./writeFile-DKu5-M8x.cjs');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ async function writeYaml(path, data, replacer, options) {
9
+ const content = typeof replacer === "function" || Array.isArray(replacer) ? yaml.stringify(data, replacer, options) : yaml.stringify(data, replacer);
10
+ await writeFile(path, content);
11
+ }
12
+ __name(writeYaml, "writeYaml");
13
+
14
+ module.exports = writeYaml;
@@ -0,0 +1,12 @@
1
+ import { stringify } from 'yaml';
2
+ import writeFile from './writeFile-B7dhfseN.mjs';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ async function writeYaml(path, data, replacer, options) {
7
+ const content = typeof replacer === "function" || Array.isArray(replacer) ? stringify(data, replacer, options) : stringify(data, replacer);
8
+ await writeFile(path, content);
9
+ }
10
+ __name(writeYaml, "writeYaml");
11
+
12
+ export { writeYaml as default };
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const yaml = require('yaml');
4
+ const writeFileSync = require('./writeFileSync-Db6pmY0q.cjs');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ function writeYamlSync(path, data, replacer, options) {
9
+ const content = typeof replacer === "function" || Array.isArray(replacer) ? yaml.stringify(data, replacer, options) : yaml.stringify(data, replacer);
10
+ writeFileSync(path, content);
11
+ }
12
+ __name(writeYamlSync, "writeYamlSync");
13
+
14
+ module.exports = writeYamlSync;
@@ -0,0 +1,12 @@
1
+ import { stringify } from 'yaml';
2
+ import writeFileSync from './writeFileSync-mMGYqOc8.mjs';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ function writeYamlSync(path, data, replacer, options) {
7
+ const content = typeof replacer === "function" || Array.isArray(replacer) ? stringify(data, replacer, options) : stringify(data, replacer);
8
+ writeFileSync(path, content);
9
+ }
10
+ __name(writeYamlSync, "writeYamlSync");
11
+
12
+ export { writeYamlSync as default };
package/dist/utils.cjs CHANGED
@@ -1 +1,19 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./packem_shared/JSONError-CWuiGmNc.cjs"),e=require("./packem_shared/assertValidFileContents-CrbDz09d.cjs"),t=require("./packem_shared/assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),s=require("./packem_shared/parseJson-CXe73j5t.cjs"),o=require("./packem_shared/stripJsonComments-Cw7UCxI3.cjs"),i=require("@visulima/path/utils");exports.JSONError=r;exports.assertValidFileContents=e;exports.assertValidFileOrDirectoryPath=t;exports.parseJson=s;exports.stripJsonComments=o;exports.toPath=i.toPath;
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const JSONError = require('./packem_shared/JSONError-gkXvBSar.cjs');
6
+ const assertValidFileContents = require('./packem_shared/assertValidFileContents-CRVvyM6b.cjs');
7
+ const assertValidFileOrDirectoryPath = require('./packem_shared/assertValidFileOrDirectoryPath-BMbgA-eI.cjs');
8
+ const parseJson = require('./packem_shared/parseJson-P3C7DMaS.cjs');
9
+ const stripJsonComments = require('./packem_shared/stripJsonComments-eDrcJvBT.cjs');
10
+ const utils = require('@visulima/path/utils');
11
+
12
+
13
+
14
+ exports.JSONError = JSONError;
15
+ exports.assertValidFileContents = assertValidFileContents;
16
+ exports.assertValidFileOrDirectoryPath = assertValidFileOrDirectoryPath;
17
+ exports.parseJson = parseJson;
18
+ exports.stripJsonComments = stripJsonComments;
19
+ exports.toPath = utils.toPath;
package/dist/utils.mjs CHANGED
@@ -1 +1,6 @@
1
- import{default as e}from"./packem_shared/JSONError-CVkb3xZ3.mjs";import{default as a}from"./packem_shared/assertValidFileContents-BLhwm7u2.mjs";import{default as f}from"./packem_shared/assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{default as m}from"./packem_shared/parseJson-BIYrZWHm.mjs";import{default as d}from"./packem_shared/stripJsonComments-CKgR4nW4.mjs";import{toPath as x}from"@visulima/path/utils";export{e as JSONError,a as assertValidFileContents,f as assertValidFileOrDirectoryPath,m as parseJson,d as stripJsonComments,x as toPath};
1
+ export { default as JSONError } from './packem_shared/JSONError-BCIIHvzq.mjs';
2
+ export { default as assertValidFileContents } from './packem_shared/assertValidFileContents-Ox-ScfeK.mjs';
3
+ export { default as assertValidFileOrDirectoryPath } from './packem_shared/assertValidFileOrDirectoryPath-BWWgA1wj.mjs';
4
+ export { default as parseJson } from './packem_shared/parseJson-B_q4905N.mjs';
5
+ export { default as stripJsonComments } from './packem_shared/stripJsonComments-B66nRaTZ.mjs';
6
+ export { toPath } from '@visulima/path/utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/fs",
3
- "version": "2.3.5",
3
+ "version": "2.3.6",
4
4
  "description": "Human friendly file system utilities for Node.js",
5
5
  "keywords": [
6
6
  "anolilab",
@@ -132,8 +132,8 @@
132
132
  "LICENSE.md"
133
133
  ],
134
134
  "dependencies": {
135
- "@visulima/path": "1.3.1",
136
- "yaml": "^2.6.1"
135
+ "@visulima/path": "1.3.2",
136
+ "yaml": "^2.7.0"
137
137
  },
138
138
  "devDependencies": {
139
139
  "@anolilab/eslint-config": "^15.0.3",
@@ -142,36 +142,35 @@
142
142
  "@anolilab/semantic-release-preset": "^9.0.3",
143
143
  "@arethetypeswrong/cli": "^0.17.2",
144
144
  "@babel/core": "^7.26.0",
145
- "@ckeditor/typedoc-plugins": "43.0.0",
146
145
  "@rushstack/eslint-plugin-security": "^0.8.3",
147
146
  "@types/node": "18.19.15",
148
- "@visulima/error": "4.4.11",
149
- "@visulima/packem": "1.1.1",
147
+ "@visulima/error": "4.4.12",
148
+ "@visulima/packem": "1.10.7",
150
149
  "@vitest/coverage-v8": "^2.1.8",
151
150
  "@vitest/ui": "^2.1.8",
152
151
  "conventional-changelog-conventionalcommits": "8.0.0",
153
152
  "cross-env": "^7.0.3",
154
153
  "detect-indent": "^7.0.1",
155
- "esbuild": "0.24.0",
154
+ "esbuild": "0.24.2",
156
155
  "eslint": "8.57.0",
157
156
  "eslint-plugin-deprecation": "^3.0.0",
158
157
  "eslint-plugin-etc": "^2.0.3",
159
158
  "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
160
159
  "eslint-plugin-mdx": "^3.1.5",
161
- "eslint-plugin-vitest": "^0.4.1",
160
+ "eslint-plugin-vitest": "^0.5.4",
162
161
  "eslint-plugin-vitest-globals": "^1.5.0",
163
162
  "fast-safe-stringify": "2.1.1",
164
163
  "prettier": "^3.4.2",
165
- "redos-detector": "^6.1.1",
164
+ "redos-detector": "^6.1.2",
166
165
  "rimraf": "6.0.1",
167
- "safe-regex2": "^4.0.0",
168
- "semantic-release": "24.1.3",
166
+ "safe-regex2": "^4.0.1",
167
+ "semantic-release": "24.2.1",
169
168
  "tempy": "^3.1.0",
170
- "type-fest": "^4.31.0",
171
- "typedoc": "0.26.10",
172
- "typedoc-plugin-markdown": "4.2.9",
173
- "typedoc-plugin-rename-defaults": "0.7.1",
174
- "typescript": "5.6.3",
169
+ "type-fest": "^4.32.0",
170
+ "typedoc": "0.27.6",
171
+ "typedoc-plugin-markdown": "4.4.1",
172
+ "typedoc-plugin-rename-defaults": "0.7.2",
173
+ "typescript": "5.7.3",
175
174
  "vitest": "^2.1.8"
176
175
  },
177
176
  "engines": {
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});var a=Object.defineProperty,n=t((e,r)=>a(e,"name",{value:r,configurable:!0}),"t");class E extends Error{static{t(this,"n")}static{n(this,"AlreadyExistsError")}constructor(r){super(`EEXIST: ${r}`)}get code(){return"EEXIST"}set code(r){throw new Error("Cannot overwrite code EEXIST")}get name(){return"AlreadyExistsError"}set name(r){throw new Error("Cannot overwrite name of AlreadyExistsError")}}export{E as default};
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});var s=Object.defineProperty,n=t((e,r)=>s(e,"name",{value:r,configurable:!0}),"t");class a extends Error{static{t(this,"n")}static{n(this,"AlreadyExistsError")}constructor(r){super(`EEXIST: ${r}`)}get code(){return"EEXIST"}set code(r){throw new Error("Cannot overwrite code EEXIST")}get name(){return"AlreadyExistsError"}set name(r){throw new Error("Cannot overwrite name of AlreadyExistsError")}}module.exports=a;
@@ -1 +0,0 @@
1
- "use strict";var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,a=o((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class c extends Error{static{o(this,"n")}static{a(this,"DirectoryError")}constructor(r){super(`EISDIR: Illegal operation on a directory, ${r}`)}get code(){return"EISDIR"}set code(r){throw new Error("Cannot overwrite code EISDIR")}get name(){return"DirectoryError"}set name(r){throw new Error("Cannot overwrite name of DirectoryError")}}module.exports=c;
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,a=o((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class i extends Error{static{o(this,"n")}static{a(this,"DirectoryError")}constructor(r){super(`EISDIR: Illegal operation on a directory, ${r}`)}get code(){return"EISDIR"}set code(r){throw new Error("Cannot overwrite code EISDIR")}get name(){return"DirectoryError"}set name(r){throw new Error("Cannot overwrite name of DirectoryError")}}export{i as default};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=0,O=4,S=2,t=1,K=Symbol("findUpStop"),N=/"(?:[^"\\]|\\.)*"|\/\/[^\r\n]*|\/\*(?:[^*]|\*[^/])*\*\//g;exports.FIND_UP_STOP=K;exports.F_OK=_;exports.INTERNAL_STRIP_JSON_REGEX=N;exports.R_OK=O;exports.W_OK=S;exports.X_OK=t;
@@ -1 +0,0 @@
1
- const _=0,O=4,S=2,o=1,K=Symbol("findUpStop"),N=/"(?:[^"\\]|\\.)*"|\/\/[^\r\n]*|\/\*(?:[^*]|\*[^/])*\*\//g;export{K as FIND_UP_STOP,_ as F_OK,N as INTERNAL_STRIP_JSON_REGEX,O as R_OK,S as W_OK,o as X_OK};
@@ -1,4 +0,0 @@
1
- var s=Object.defineProperty;var t=(r,e)=>s(r,"name",{value:e,configurable:!0});var i=Object.defineProperty,c=t((r,e)=>i(r,"name",{value:e,configurable:!0}),"i");class a extends Error{static{t(this,"r")}static{c(this,"JSONError")}fileName;codeFrame;name="JSONError";#e;constructor(e){super(),this.#e=e,Error.captureStackTrace(this,a)}get message(){return`${this.#e}${this.fileName?` in ${this.fileName}`:""}${this.codeFrame?`
2
-
3
- ${this.codeFrame}
4
- `:""}`}set message(e){this.#e=e}}export{a as default};
@@ -1,4 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var t=(r,e)=>a(r,"name",{value:e,configurable:!0});var i=Object.defineProperty,c=t((r,e)=>i(r,"name",{value:e,configurable:!0}),"i");class s extends Error{static{t(this,"r")}static{c(this,"JSONError")}fileName;codeFrame;name="JSONError";#e;constructor(e){super(),this.#e=e,Error.captureStackTrace(this,s)}get message(){return`${this.#e}${this.fileName?` in ${this.fileName}`:""}${this.codeFrame?`
2
-
3
- ${this.codeFrame}
4
- `:""}`}set message(e){this.#e=e}}module.exports=s;
@@ -1,3 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var c=(t,e)=>s(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("node:process");var d=Object.defineProperty,l=c((t,e)=>d(t,"name",{value:e,configurable:!0}),"r");const a=/\r?\n/g,n=`
2
- `,r=`\r
3
- `,g=u.platform==="win32"?r:n,m=l(t=>{const e=t.match(a);if(!e||e.length===0)return null;const o=e.filter(i=>i===r).length,f=e.length-o;return o>f?r:n},"detect"),L=l((t,e)=>t.replaceAll(a,e),"format");exports.CRLF=r;exports.EOL=g;exports.LF=n;exports.detect=m;exports.format=L;
@@ -1,3 +0,0 @@
1
- var i=Object.defineProperty;var l=(e,t)=>i(e,"name",{value:t,configurable:!0});import{platform as g}from"node:process";var p=Object.defineProperty,o=l((e,t)=>p(e,"name",{value:t,configurable:!0}),"r");const c=/\r?\n/g,a=`
2
- `,r=`\r
3
- `,s=g==="win32"?r:a,d=o(e=>{const t=e.match(c);if(!t||t.length===0)return null;const n=t.filter(m=>m===r).length,f=t.length-n;return n>f?r:a},"detect"),v=o((e,t)=>e.replaceAll(c,t),"format");export{r as CRLF,s as EOL,a as LF,d as detect,v as format};
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var e=(t,r)=>o(t,"name",{value:r,configurable:!0});var n=Object.defineProperty,E=e((t,r)=>n(t,"name",{value:r,configurable:!0}),"t");class a extends Error{static{e(this,"n")}static{E(this,"NotEmptyError")}constructor(r){super(`ENOTEMPTY: Directory not empty, ${r}`)}get code(){return"ENOTEMPTY"}set code(r){throw new Error("Cannot overwrite code ENOTEMPTY")}get name(){return"NotEmptyError"}set name(r){throw new Error("Cannot overwrite name of NotEmptyError")}}module.exports=a;
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,E=t((e,r)=>n(e,"name",{value:r,configurable:!0}),"t");class c extends Error{static{t(this,"n")}static{E(this,"NotEmptyError")}constructor(r){super(`ENOTEMPTY: Directory not empty, ${r}`)}get code(){return"ENOTEMPTY"}set code(r){throw new Error("Cannot overwrite code ENOTEMPTY")}get name(){return"NotEmptyError"}set name(r){throw new Error("Cannot overwrite name of NotEmptyError")}}export{c as default};
@@ -1 +0,0 @@
1
- "use strict";var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,a=o((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class s extends Error{static{o(this,"n")}static{a(this,"NotFoundError")}constructor(r){super(`ENOENT: ${r}`)}get code(){return"ENOENT"}set code(r){throw new Error("Cannot overwrite code ENOENT")}get name(){return"NotFoundError"}set name(r){throw new Error("Cannot overwrite name of NotFoundError")}}module.exports=s;
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,a=o((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class s extends Error{static{o(this,"n")}static{a(this,"NotFoundError")}constructor(r){super(`ENOENT: ${r}`)}get code(){return"ENOENT"}set code(r){throw new Error("Cannot overwrite code ENOENT")}get name(){return"NotFoundError"}set name(r){throw new Error("Cannot overwrite name of NotFoundError")}}export{s as default};
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,s=o((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class i extends Error{static{o(this,"n")}static{s(this,"PermissionError")}constructor(r){super(`EPERM: Operation not permitted, ${r}`)}get code(){return"EPERM"}set code(r){throw new Error("Cannot overwrite code EPERM")}get name(){return"PermissionError"}set name(r){throw new Error("Cannot overwrite name of PermissionError")}}export{i as default};
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,s=t((e,r)=>n(e,"name",{value:r,configurable:!0}),"o");class i extends Error{static{t(this,"n")}static{s(this,"PermissionError")}constructor(r){super(`EPERM: Operation not permitted, ${r}`)}get code(){return"EPERM"}set code(r){throw new Error("Cannot overwrite code EPERM")}get name(){return"PermissionError"}set name(r){throw new Error("Cannot overwrite name of PermissionError")}}module.exports=i;
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,s=t((e,r)=>n(e,"name",{value:r,configurable:!0}),"t");class c extends Error{static{t(this,"i")}static{s(this,"WalkError")}root;constructor(r,a){super(`${r instanceof Error?r.message:r} for path "${a}"`),this.cause=r,this.root=a}get name(){return"WalkError"}set name(r){throw new Error("Cannot overwrite name of WalkError")}}export{c as default};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});var s=Object.defineProperty,n=t((e,r)=>s(e,"name",{value:r,configurable:!0}),"t");class i extends Error{static{t(this,"i")}static{n(this,"WalkError")}root;constructor(r,o){super(`${r instanceof Error?r.message:r} for path "${o}"`),this.cause=r,this.root=o}get name(){return"WalkError"}set name(r){throw new Error("Cannot overwrite name of WalkError")}}module.exports=i;
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var a=(e,r)=>t(e,"name",{value:r,configurable:!0});var f=Object.defineProperty,i=a((e,r)=>f(e,"name",{value:r,configurable:!0}),"e");const o=i(e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")},"assertValidFileContents");export{o as default};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});var i=Object.defineProperty,f=t((e,r)=>i(e,"name",{value:r,configurable:!0}),"e");const n=f(e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")},"assertValidFileContents");module.exports=n;
@@ -1 +0,0 @@
1
- var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,o=t((e,r)=>n(e,"name",{value:r,configurable:!0}),"n");const s=o(e=>{if(!e||!(e instanceof URL)&&typeof e!="string")throw new TypeError("Path must be a non-empty string or URL.")},"assertValidFileOrDirectoryPath");export{s as default};
@@ -1 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var t=(e,r)=>n(e,"name",{value:r,configurable:!0});var a=Object.defineProperty,o=t((e,r)=>a(e,"name",{value:r,configurable:!0}),"n");const s=o(e=>{if(!e||!(e instanceof URL)&&typeof e!="string")throw new TypeError("Path must be a non-empty string or URL.")},"assertValidFileOrDirectoryPath");module.exports=s;
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var n=(s,e)=>a(s,"name",{value:e,configurable:!0});const o=require("./walk-BJgnJy5d.cjs");var c=Object.defineProperty,i=n((s,e)=>c(s,"name",{value:e,configurable:!0}),"e");const u=i(async(s,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);const r=[];for await(const t of o(s,e))r.push(t.path);return r},"collect");module.exports=u;
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import t from"./walk-DH-95i_B.mjs";var c=Object.defineProperty,i=a((r,e)=>c(r,"name",{value:e,configurable:!0}),"e");const p=i(async(r,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);const s=[];for await(const n of t(r,e))s.push(n.path);return s},"collect");export{p as default};
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var s=(r,e)=>t(r,"name",{value:e,configurable:!0});import a from"./walkSync-D4zvt_kM.mjs";var c=Object.defineProperty,f=s((r,e)=>c(r,"name",{value:e,configurable:!0}),"n");const p=f((r,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);const o=[];for(const n of a(r,e))o.push(n.path);return o},"collectSync");export{p as default};
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var n=(r,e)=>o(r,"name",{value:e,configurable:!0});const t=require("./walkSync-DYawhxUA.cjs");var a=Object.defineProperty,i=n((r,e)=>a(r,"name",{value:e,configurable:!0}),"n");const u=i((r,e={})=>{Array.isArray(e.extensions)||(e.extensions=["js","mjs","cjs","ts"]);const s=[];for(const c of t(r,e))s.push(c.path);return s},"collectSync");module.exports=u;
@@ -1 +0,0 @@
1
- var e=Object.defineProperty;var i=(r,o)=>e(r,"name",{value:o,configurable:!0});import{existsSync as a}from"node:fs";import{mkdir as m,readdir as f,rm as c}from"node:fs/promises";import{join as n}from"@visulima/path";import{toPath as s}from"@visulima/path/utils";import p from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";var u=Object.defineProperty,d=i((r,o)=>u(r,"name",{value:o,configurable:!0}),"i");const x=d(async(r,o)=>{if(p(r),!a(r)){await m(r,{recursive:!0});return}for await(const t of await f(r))await c(n(s(r),t),{...o,force:!0,recursive:!0})},"emptyDir");export{x as default};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});const o=require("node:fs"),i=require("node:fs/promises"),c=require("@visulima/path"),n=require("@visulima/path/utils"),u=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs");var f=Object.defineProperty,d=t((e,r)=>f(e,"name",{value:r,configurable:!0}),"i");const y=d(async(e,r)=>{if(u(e),!o.existsSync(e)){await i.mkdir(e,{recursive:!0});return}for await(const s of await i.readdir(e))await i.rm(c.join(n.toPath(e),s),{...r,force:!0,recursive:!0})},"emptyDir");module.exports=y;
@@ -1 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var i=(e,r)=>o(e,"name",{value:r,configurable:!0});const t=require("node:fs"),s=require("@visulima/path"),n=require("@visulima/path/utils"),u=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs");var a=Object.defineProperty,f=i((e,r)=>a(e,"name",{value:r,configurable:!0}),"o");const y=f((e,r)=>{if(u(e),!t.existsSync(e)){t.mkdirSync(e,{recursive:!0});return}for(const c of t.readdirSync(e))t.rmSync(s.join(n.toPath(e),c),{...r,force:!0,recursive:!0})},"emptyDir");module.exports=y;
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var o=(r,e)=>t(r,"name",{value:e,configurable:!0});import{existsSync as m,mkdirSync as c,readdirSync as f,rmSync as n}from"node:fs";import{join as a}from"@visulima/path";import{toPath as s}from"@visulima/path/utils";import p from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";var u=Object.defineProperty,y=o((r,e)=>u(r,"name",{value:e,configurable:!0}),"o");const j=y((r,e)=>{if(p(r),!m(r)){c(r,{recursive:!0});return}for(const i of f(r))n(a(s(r),i),{...e,force:!0,recursive:!0})},"emptyDir");export{j as default};
@@ -1 +0,0 @@
1
- var s=Object.defineProperty;var i=(e,r)=>s(e,"name",{value:r,configurable:!0});import{lstat as o,mkdir as c}from"node:fs/promises";import n from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{g as a}from"./get-file-info-type-CaWGXRjY.mjs";var f=Object.defineProperty,p=i((e,r)=>f(e,"name",{value:r,configurable:!0}),"i");const u=p(async e=>{n(e);try{const r=await o(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${a(r)}'`);return}catch(r){if(r.code!=="ENOENT")throw r}try{await c(e,{recursive:!0})}catch(r){if(r.code!=="EEXIST")throw r;const t=await o(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${a(t)}'`)}},"ensureDir");export{u as default};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var o=(r,e)=>a(r,"name",{value:e,configurable:!0});const t=require("node:fs/promises"),c=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),s=require("./get-file-info-type-BXcpoWEM.cjs");var n=Object.defineProperty,u=o((r,e)=>n(r,"name",{value:e,configurable:!0}),"i");const f=u(async r=>{c(r);try{const e=await t.lstat(r);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${s.getFileInfoType(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{await t.mkdir(r,{recursive:!0})}catch(e){if(e.code!=="EEXIST")throw e;const i=await t.lstat(r);if(!i.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${s.getFileInfoType(i)}'`)}},"ensureDir");module.exports=f;
@@ -1 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var o=(r,e)=>s(r,"name",{value:e,configurable:!0});const t=require("node:fs"),n=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),c=require("./get-file-info-type-BXcpoWEM.cjs");var a=Object.defineProperty,y=o((r,e)=>a(r,"name",{value:e,configurable:!0}),"o");const u=y(r=>{n(r);try{const e=t.lstatSync(r);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${c.getFileInfoType(e)}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{t.mkdirSync(r,{recursive:!0})}catch(e){if(e.code!=="EEXIST")throw e;const i=t.lstatSync(r);if(!i.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${c.getFileInfoType(i)}'`)}},"ensureDirSync");module.exports=u;
@@ -1 +0,0 @@
1
- var s=Object.defineProperty;var o=(e,r)=>s(e,"name",{value:r,configurable:!0});import{lstatSync as i,mkdirSync as n}from"node:fs";import a from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{g as c}from"./get-file-info-type-CaWGXRjY.mjs";var f=Object.defineProperty,p=o((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const u=p(e=>{a(e);try{const r=i(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${c(r)}'`);return}catch(r){if(r.code!=="ENOENT")throw r}try{n(e,{recursive:!0})}catch(r){if(r.code!=="EEXIST")throw r;const t=i(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${c(t)}'`)}},"ensureDirSync");export{u as default};
@@ -1 +0,0 @@
1
- var o=Object.defineProperty;var t=(e,r)=>o(e,"name",{value:r,configurable:!0});import{lstat as i,writeFile as a}from"node:fs/promises";import{dirname as f}from"@visulima/path";import{toPath as m}from"@visulima/path/utils";import n from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{g as s}from"./get-file-info-type-CaWGXRjY.mjs";import p from"./ensureDir-BtvxsJiS.mjs";var c=Object.defineProperty,l=t((e,r)=>c(e,"name",{value:r,configurable:!0}),"e");const F=l(async e=>{n(e);try{const r=await i(e);if(!r.isFile())throw new Error(`Ensure path exists, expected 'file', got '${s(r)}'`)}catch(r){if(r.code==="ENOENT"){await p(f(m(e))),await a(e,new Uint8Array);return}throw r}},"ensureFile");export{F as default};
@@ -1 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var t=(r,e)=>s(r,"name",{value:e,configurable:!0});const i=require("node:fs/promises"),a=require("@visulima/path"),n=require("@visulima/path/utils"),o=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),c=require("./get-file-info-type-BXcpoWEM.cjs"),u=require("./ensureDir-DVHj-_yp.cjs");var l=Object.defineProperty,f=t((r,e)=>l(r,"name",{value:e,configurable:!0}),"e");const p=f(async r=>{o(r);try{const e=await i.lstat(r);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${c.getFileInfoType(e)}'`)}catch(e){if(e.code==="ENOENT"){await u(a.dirname(n.toPath(r))),await i.writeFile(r,new Uint8Array);return}throw e}},"ensureFile");module.exports=p;
@@ -1 +0,0 @@
1
- var t=Object.defineProperty;var o=(e,r)=>t(e,"name",{value:r,configurable:!0});import{lstatSync as i,writeFileSync as n}from"node:fs";import{dirname as a}from"@visulima/path";import{toPath as m}from"@visulima/path/utils";import f from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{g as c}from"./get-file-info-type-CaWGXRjY.mjs";import p from"./ensureDirSync-bGe0QB7d.mjs";var s=Object.defineProperty,l=o((e,r)=>s(e,"name",{value:r,configurable:!0}),"e");const F=l(e=>{f(e);try{const r=i(e);if(!r.isFile())throw new Error(`Ensure path exists, expected 'file', got '${c(r)}'`)}catch(r){if(r.code==="ENOENT"){p(a(m(e))),n(e,new Uint8Array);return}throw r}},"ensureFileSync");export{F as default};
@@ -1 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var t=(r,e)=>n(r,"name",{value:e,configurable:!0});const i=require("node:fs"),o=require("@visulima/path"),s=require("@visulima/path/utils"),c=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),a=require("./get-file-info-type-BXcpoWEM.cjs"),u=require("./ensureDirSync-CvjJ3bGq.cjs");var l=Object.defineProperty,y=t((r,e)=>l(r,"name",{value:e,configurable:!0}),"e");const f=y(r=>{c(r);try{const e=i.lstatSync(r);if(!e.isFile())throw new Error(`Ensure path exists, expected 'file', got '${a.getFileInfoType(e)}'`)}catch(e){if(e.code==="ENOENT"){u(o.dirname(s.toPath(r))),i.writeFileSync(r,new Uint8Array);return}throw e}},"ensureFileSync");module.exports=f;
@@ -1 +0,0 @@
1
- var c=Object.defineProperty;var m=(e,a)=>c(e,"name",{value:a,configurable:!0});import{lstat as i,link as l}from"node:fs/promises";import{toNamespacedPath as s,dirname as p}from"@visulima/path";import{toPath as f}from"@visulima/path/utils";import n from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{l as h}from"./is-stats-identical-CS5Y91zW.mjs";import u from"./ensureDir-BtvxsJiS.mjs";var w=Object.defineProperty,y=m((e,a)=>w(e,"name",{value:a,configurable:!0}),"m");const j=y(async(e,a)=>{n(e),n(a),e=s(f(e)),a=s(f(a));let t;try{t=await i(a)}catch{}let o;try{o=await i(e)}catch(r){throw r.message=r.message.replace("lstat","ensureLink"),r}t&&h(o,t)||(await u(p(a)),await l(e,a))},"ensureLink");export{j as default};
@@ -1 +0,0 @@
1
- "use strict";var u=Object.defineProperty;var n=(t,e)=>u(t,"name",{value:e,configurable:!0});const r=require("node:fs/promises"),i=require("@visulima/path"),o=require("@visulima/path/utils"),l=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),h=require("./is-stats-identical-CPCumzsC.cjs"),m=require("./ensureDir-DVHj-_yp.cjs");var p=Object.defineProperty,d=n((t,e)=>p(t,"name",{value:e,configurable:!0}),"m");const q=d(async(t,e)=>{l(t),l(e),t=i.toNamespacedPath(o.toPath(t)),e=i.toNamespacedPath(o.toPath(e));let a;try{a=await r.lstat(e)}catch{}let c;try{c=await r.lstat(t)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}a&&h.l(c,a)||(await m(i.dirname(e)),await r.link(t,e))},"ensureLink");module.exports=q;
@@ -1 +0,0 @@
1
- "use strict";var u=Object.defineProperty;var i=(t,e)=>u(t,"name",{value:e,configurable:!0});const r=require("node:fs"),n=require("@visulima/path"),o=require("@visulima/path/utils"),l=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),h=require("./is-stats-identical-CPCumzsC.cjs"),y=require("./ensureDirSync-CvjJ3bGq.cjs");var d=Object.defineProperty,m=i((t,e)=>d(t,"name",{value:e,configurable:!0}),"o");const p=m((t,e)=>{l(t),l(e),t=n.toNamespacedPath(o.toPath(t)),e=n.toNamespacedPath(o.toPath(e));let a;try{a=r.lstatSync(e)}catch{}let c;try{c=r.lstatSync(t)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}a&&h.l(c,a)||(y(n.dirname(e)),r.linkSync(t,e))},"ensureLinkSync");module.exports=p;
@@ -1 +0,0 @@
1
- var l=Object.defineProperty;var m=(t,e)=>l(t,"name",{value:e,configurable:!0});import{lstatSync as n,linkSync as p}from"node:fs";import{toNamespacedPath as c,dirname as f}from"@visulima/path";import{toPath as i}from"@visulima/path/utils";import s from"./assertValidFileOrDirectoryPath-DgPIPmZT.mjs";import{l as h}from"./is-stats-identical-CS5Y91zW.mjs";import y from"./ensureDirSync-bGe0QB7d.mjs";var u=Object.defineProperty,d=m((t,e)=>u(t,"name",{value:e,configurable:!0}),"o");const j=d((t,e)=>{s(t),s(e),t=c(i(t)),e=c(i(e));let a;try{a=n(e)}catch{}let r;try{r=n(t)}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}a&&h(r,a)||(y(f(e)),p(t,e))},"ensureLinkSync");export{j as default};
@@ -1 +0,0 @@
1
- "use strict";var g=Object.defineProperty;var c=(a,e)=>g(a,"name",{value:e,configurable:!0});const t=require("node:fs/promises"),r=require("@visulima/path"),l=require("@visulima/path/utils"),y=require("./assertValidFileOrDirectoryPath-HOUs73Jk.cjs"),u=require("./get-file-info-type-BXcpoWEM.cjs"),d=require("./is-stats-identical-CPCumzsC.cjs"),q=require("./resolve-symlink-target-HnbdXA1S.cjs"),S=require("./ensureDir-DVHj-_yp.cjs"),w=require("./AlreadyExistsError-GC2XUgzJ.cjs");var k=Object.defineProperty,v=c((a,e)=>k(a,"name",{value:e,configurable:!0}),"f");const T=process.platform==="win32"||/^(?:msys|cygwin)$/.test(process.env.OSTYPE),E=v(async(a,e,h)=>{y(a),y(e);const i=q.o(a,e);e=r.toNamespacedPath(l.toPath(e));try{if((await t.lstat(e)).isSymbolicLink()&&d.l(await t.stat(i),await t.stat(e))){const[s,n]=await Promise.all([t.stat(i),t.stat(e)]);if(d.l(s,n))return}}catch{}const m=await t.lstat(i),p=u.getFileInfoType(m);await S(r.dirname(e));const f=h??(T?"junction":p==="dir"?"dir":"file");try{await t.symlink(r.toNamespacedPath(l.toPath(i)),e,f)}catch(s){if(s.code!=="EEXIST")throw s;const n=await t.lstat(e);if(!n.isSymbolicLink())throw new w("A "+u.getFileInfoType(n)+" already exists at the path: "+e);const P=await t.readlink(e),o=r.toNamespacedPath(r.resolve(P));if(o!==i)throw new w("A symlink targeting to an undesired path already exists: "+e+" -> "+o)}},"ensureSymlink");module.exports=E;