@photostructure/fs-metadata 0.1.4 → 0.1.5

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 (268) hide show
  1. package/dist/index.cjs +1318 -0
  2. package/dist/index.mjs +1270 -0
  3. package/dist/types/array.d.ts +0 -1
  4. package/dist/types/async.d.ts +0 -1
  5. package/dist/types/cache.d.ts +0 -1
  6. package/dist/types/debuglog.d.ts +0 -1
  7. package/dist/types/defer.d.ts +0 -1
  8. package/dist/types/error.d.ts +0 -1
  9. package/dist/types/exports.d.ts +0 -1
  10. package/dist/types/fs.d.ts +0 -1
  11. package/dist/types/glob.d.ts +0 -1
  12. package/dist/types/hidden.d.ts +0 -1
  13. package/dist/types/index.d.ts +0 -1
  14. package/dist/types/linux/dev_disk.d.ts +0 -1
  15. package/dist/types/linux/mount_points.d.ts +0 -1
  16. package/dist/types/linux/mtab.d.ts +0 -1
  17. package/dist/types/mount_point.d.ts +0 -1
  18. package/dist/types/number.d.ts +0 -1
  19. package/dist/types/object.d.ts +0 -1
  20. package/dist/types/options.d.ts +0 -1
  21. package/dist/types/path.d.ts +0 -1
  22. package/dist/types/platform.d.ts +0 -1
  23. package/dist/types/random.d.ts +0 -1
  24. package/dist/types/remote_info.d.ts +0 -1
  25. package/dist/types/setup.d.ts +0 -1
  26. package/dist/types/string.d.ts +0 -1
  27. package/dist/types/string_enum.d.ts +0 -1
  28. package/dist/types/system_volume.d.ts +0 -1
  29. package/dist/types/types/native_bindings.d.ts +0 -1
  30. package/dist/types/unc.d.ts +0 -1
  31. package/dist/types/units.d.ts +0 -1
  32. package/dist/types/uuid.d.ts +0 -1
  33. package/dist/types/volume_health_status.d.ts +0 -1
  34. package/dist/types/volume_metadata.d.ts +0 -1
  35. package/jest.config.cjs +33 -0
  36. package/package.json +26 -36
  37. package/prebuilds/darwin-arm64/@photostructure+fs-metadata.glibc.node +0 -0
  38. package/prebuilds/linux-arm64/@photostructure+fs-metadata.musl.node +0 -0
  39. package/prebuilds/linux-x64/@photostructure+fs-metadata.glibc.node +0 -0
  40. package/prebuilds/linux-x64/@photostructure+fs-metadata.musl.node +0 -0
  41. package/prebuilds/win32-x64/@photostructure+fs-metadata.glibc.node +0 -0
  42. package/src/darwin/volume_metadata.cpp +26 -12
  43. package/src/linux/volume_metadata.cpp +21 -4
  44. package/dist/cjs/array.cjs +0 -57
  45. package/dist/cjs/array.js.map +0 -1
  46. package/dist/cjs/async.cjs +0 -116
  47. package/dist/cjs/async.js.map +0 -1
  48. package/dist/cjs/cache.cjs +0 -28
  49. package/dist/cjs/cache.js.map +0 -1
  50. package/dist/cjs/debuglog.cjs +0 -35
  51. package/dist/cjs/debuglog.js.map +0 -1
  52. package/dist/cjs/defer.cjs +0 -26
  53. package/dist/cjs/defer.js.map +0 -1
  54. package/dist/cjs/error.cjs +0 -63
  55. package/dist/cjs/error.js.map +0 -1
  56. package/dist/cjs/exports.cjs +0 -14
  57. package/dist/cjs/exports.js.map +0 -1
  58. package/dist/cjs/fs.cjs +0 -81
  59. package/dist/cjs/fs.js.map +0 -1
  60. package/dist/cjs/glob.cjs +0 -117
  61. package/dist/cjs/glob.js.map +0 -1
  62. package/dist/cjs/hidden.cjs +0 -163
  63. package/dist/cjs/hidden.js.map +0 -1
  64. package/dist/cjs/index.cjs +0 -23
  65. package/dist/cjs/index.cjs.map +0 -1
  66. package/dist/cjs/linux/dev_disk.cjs +0 -66
  67. package/dist/cjs/linux/dev_disk.js.map +0 -1
  68. package/dist/cjs/linux/mount_points.cjs +0 -81
  69. package/dist/cjs/linux/mount_points.js.map +0 -1
  70. package/dist/cjs/linux/mtab.cjs +0 -88
  71. package/dist/cjs/linux/mtab.js.map +0 -1
  72. package/dist/cjs/mount_point.cjs +0 -67
  73. package/dist/cjs/mount_point.js.map +0 -1
  74. package/dist/cjs/number.cjs +0 -41
  75. package/dist/cjs/number.js.map +0 -1
  76. package/dist/cjs/object.cjs +0 -59
  77. package/dist/cjs/object.js.map +0 -1
  78. package/dist/cjs/options.cjs +0 -115
  79. package/dist/cjs/options.js.map +0 -1
  80. package/dist/cjs/path.cjs +0 -50
  81. package/dist/cjs/path.js.map +0 -1
  82. package/dist/cjs/platform.cjs +0 -10
  83. package/dist/cjs/platform.js.map +0 -1
  84. package/dist/cjs/random.cjs +0 -43
  85. package/dist/cjs/random.js.map +0 -1
  86. package/dist/cjs/remote_info.cjs +0 -123
  87. package/dist/cjs/remote_info.js.map +0 -1
  88. package/dist/cjs/setup.cjs +0 -47
  89. package/dist/cjs/setup.js.map +0 -1
  90. package/dist/cjs/string.cjs +0 -89
  91. package/dist/cjs/string.js.map +0 -1
  92. package/dist/cjs/string_enum.cjs +0 -27
  93. package/dist/cjs/string_enum.js.map +0 -1
  94. package/dist/cjs/system_volume.cjs +0 -44
  95. package/dist/cjs/system_volume.js.map +0 -1
  96. package/dist/cjs/types/native_bindings.cjs +0 -4
  97. package/dist/cjs/types/native_bindings.js.map +0 -1
  98. package/dist/cjs/unc.cjs +0 -52
  99. package/dist/cjs/unc.js.map +0 -1
  100. package/dist/cjs/units.cjs +0 -35
  101. package/dist/cjs/units.js.map +0 -1
  102. package/dist/cjs/uuid.cjs +0 -25
  103. package/dist/cjs/uuid.js.map +0 -1
  104. package/dist/cjs/volume_health_status.cjs +0 -50
  105. package/dist/cjs/volume_health_status.js.map +0 -1
  106. package/dist/cjs/volume_metadata.cjs +0 -169
  107. package/dist/cjs/volume_metadata.js.map +0 -1
  108. package/dist/esm/array.js +0 -50
  109. package/dist/esm/array.js.map +0 -1
  110. package/dist/esm/async.js +0 -109
  111. package/dist/esm/async.js.map +0 -1
  112. package/dist/esm/cache.js +0 -25
  113. package/dist/esm/cache.js.map +0 -1
  114. package/dist/esm/debuglog.js +0 -30
  115. package/dist/esm/debuglog.js.map +0 -1
  116. package/dist/esm/defer.js +0 -23
  117. package/dist/esm/defer.js.map +0 -1
  118. package/dist/esm/error.js +0 -58
  119. package/dist/esm/error.js.map +0 -1
  120. package/dist/esm/exports.js +0 -4
  121. package/dist/esm/exports.js.map +0 -1
  122. package/dist/esm/fs.js +0 -73
  123. package/dist/esm/fs.js.map +0 -1
  124. package/dist/esm/glob.js +0 -113
  125. package/dist/esm/glob.js.map +0 -1
  126. package/dist/esm/hidden.js +0 -155
  127. package/dist/esm/hidden.js.map +0 -1
  128. package/dist/esm/index.js +0 -7
  129. package/dist/esm/index.js.map +0 -1
  130. package/dist/esm/linux/dev_disk.js +0 -61
  131. package/dist/esm/linux/dev_disk.js.map +0 -1
  132. package/dist/esm/linux/mount_points.js +0 -77
  133. package/dist/esm/linux/mount_points.js.map +0 -1
  134. package/dist/esm/linux/mtab.js +0 -82
  135. package/dist/esm/linux/mtab.js.map +0 -1
  136. package/dist/esm/mount_point.js +0 -63
  137. package/dist/esm/mount_point.js.map +0 -1
  138. package/dist/esm/number.js +0 -32
  139. package/dist/esm/number.js.map +0 -1
  140. package/dist/esm/object.js +0 -52
  141. package/dist/esm/object.js.map +0 -1
  142. package/dist/esm/options.js +0 -111
  143. package/dist/esm/options.js.map +0 -1
  144. package/dist/esm/path.js +0 -44
  145. package/dist/esm/path.js.map +0 -1
  146. package/dist/esm/platform.js +0 -7
  147. package/dist/esm/platform.js.map +0 -1
  148. package/dist/esm/random.js +0 -37
  149. package/dist/esm/random.js.map +0 -1
  150. package/dist/esm/remote_info.js +0 -116
  151. package/dist/esm/remote_info.js.map +0 -1
  152. package/dist/esm/setup.js +0 -41
  153. package/dist/esm/setup.js.map +0 -1
  154. package/dist/esm/string.js +0 -78
  155. package/dist/esm/string.js.map +0 -1
  156. package/dist/esm/string_enum.js +0 -24
  157. package/dist/esm/string_enum.js.map +0 -1
  158. package/dist/esm/system_volume.js +0 -40
  159. package/dist/esm/system_volume.js.map +0 -1
  160. package/dist/esm/types/native_bindings.js +0 -3
  161. package/dist/esm/types/native_bindings.js.map +0 -1
  162. package/dist/esm/unc.js +0 -49
  163. package/dist/esm/unc.js.map +0 -1
  164. package/dist/esm/units.js +0 -31
  165. package/dist/esm/units.js.map +0 -1
  166. package/dist/esm/uuid.js +0 -22
  167. package/dist/esm/uuid.js.map +0 -1
  168. package/dist/esm/volume_health_status.js +0 -46
  169. package/dist/esm/volume_health_status.js.map +0 -1
  170. package/dist/esm/volume_metadata.js +0 -164
  171. package/dist/esm/volume_metadata.js.map +0 -1
  172. package/dist/types/array.d.ts.map +0 -1
  173. package/dist/types/array.js +0 -50
  174. package/dist/types/array.js.map +0 -1
  175. package/dist/types/async.d.ts.map +0 -1
  176. package/dist/types/async.js +0 -109
  177. package/dist/types/async.js.map +0 -1
  178. package/dist/types/cache.d.ts.map +0 -1
  179. package/dist/types/cache.js +0 -25
  180. package/dist/types/cache.js.map +0 -1
  181. package/dist/types/debuglog.d.ts.map +0 -1
  182. package/dist/types/debuglog.js +0 -30
  183. package/dist/types/debuglog.js.map +0 -1
  184. package/dist/types/defer.d.ts.map +0 -1
  185. package/dist/types/defer.js +0 -23
  186. package/dist/types/defer.js.map +0 -1
  187. package/dist/types/error.d.ts.map +0 -1
  188. package/dist/types/error.js +0 -58
  189. package/dist/types/error.js.map +0 -1
  190. package/dist/types/exports.d.ts.map +0 -1
  191. package/dist/types/exports.js +0 -4
  192. package/dist/types/exports.js.map +0 -1
  193. package/dist/types/fs.d.ts.map +0 -1
  194. package/dist/types/fs.js +0 -73
  195. package/dist/types/fs.js.map +0 -1
  196. package/dist/types/glob.d.ts.map +0 -1
  197. package/dist/types/glob.js +0 -113
  198. package/dist/types/glob.js.map +0 -1
  199. package/dist/types/hidden.d.ts.map +0 -1
  200. package/dist/types/hidden.js +0 -155
  201. package/dist/types/hidden.js.map +0 -1
  202. package/dist/types/index.d.ts.map +0 -1
  203. package/dist/types/index.js +0 -7
  204. package/dist/types/index.js.map +0 -1
  205. package/dist/types/linux/dev_disk.d.ts.map +0 -1
  206. package/dist/types/linux/dev_disk.js +0 -61
  207. package/dist/types/linux/dev_disk.js.map +0 -1
  208. package/dist/types/linux/mount_points.d.ts.map +0 -1
  209. package/dist/types/linux/mount_points.js +0 -77
  210. package/dist/types/linux/mount_points.js.map +0 -1
  211. package/dist/types/linux/mtab.d.ts.map +0 -1
  212. package/dist/types/linux/mtab.js +0 -82
  213. package/dist/types/linux/mtab.js.map +0 -1
  214. package/dist/types/mount_point.d.ts.map +0 -1
  215. package/dist/types/mount_point.js +0 -63
  216. package/dist/types/mount_point.js.map +0 -1
  217. package/dist/types/number.d.ts.map +0 -1
  218. package/dist/types/number.js +0 -32
  219. package/dist/types/number.js.map +0 -1
  220. package/dist/types/object.d.ts.map +0 -1
  221. package/dist/types/object.js +0 -52
  222. package/dist/types/object.js.map +0 -1
  223. package/dist/types/options.d.ts.map +0 -1
  224. package/dist/types/options.js +0 -111
  225. package/dist/types/options.js.map +0 -1
  226. package/dist/types/path.d.ts.map +0 -1
  227. package/dist/types/path.js +0 -44
  228. package/dist/types/path.js.map +0 -1
  229. package/dist/types/platform.d.ts.map +0 -1
  230. package/dist/types/platform.js +0 -7
  231. package/dist/types/platform.js.map +0 -1
  232. package/dist/types/random.d.ts.map +0 -1
  233. package/dist/types/random.js +0 -37
  234. package/dist/types/random.js.map +0 -1
  235. package/dist/types/remote_info.d.ts.map +0 -1
  236. package/dist/types/remote_info.js +0 -116
  237. package/dist/types/remote_info.js.map +0 -1
  238. package/dist/types/setup.d.ts.map +0 -1
  239. package/dist/types/setup.js +0 -41
  240. package/dist/types/setup.js.map +0 -1
  241. package/dist/types/string.d.ts.map +0 -1
  242. package/dist/types/string.js +0 -78
  243. package/dist/types/string.js.map +0 -1
  244. package/dist/types/string_enum.d.ts.map +0 -1
  245. package/dist/types/string_enum.js +0 -24
  246. package/dist/types/string_enum.js.map +0 -1
  247. package/dist/types/system_volume.d.ts.map +0 -1
  248. package/dist/types/system_volume.js +0 -40
  249. package/dist/types/system_volume.js.map +0 -1
  250. package/dist/types/types/native_bindings.d.ts.map +0 -1
  251. package/dist/types/types/native_bindings.js +0 -3
  252. package/dist/types/types/native_bindings.js.map +0 -1
  253. package/dist/types/unc.d.ts.map +0 -1
  254. package/dist/types/unc.js +0 -49
  255. package/dist/types/unc.js.map +0 -1
  256. package/dist/types/units.d.ts.map +0 -1
  257. package/dist/types/units.js +0 -31
  258. package/dist/types/units.js.map +0 -1
  259. package/dist/types/uuid.d.ts.map +0 -1
  260. package/dist/types/uuid.js +0 -22
  261. package/dist/types/uuid.js.map +0 -1
  262. package/dist/types/volume_health_status.d.ts.map +0 -1
  263. package/dist/types/volume_health_status.js +0 -46
  264. package/dist/types/volume_health_status.js.map +0 -1
  265. package/dist/types/volume_metadata.d.ts.map +0 -1
  266. package/dist/types/volume_metadata.js +0 -164
  267. package/dist/types/volume_metadata.js.map +0 -1
  268. package/scripts/fix-cjs.mjs +0 -35
@@ -1,58 +0,0 @@
1
- // src/error.ts
2
- import { isNumber } from "./number.js";
3
- import { compactValues, map, omit } from "./object.js";
4
- import { isBlank, isNotBlank } from "./string.js";
5
- function toMessage(context, cause) {
6
- const causeStr = cause instanceof Error
7
- ? cause.message
8
- : typeof cause === "string"
9
- ? cause
10
- : cause
11
- ? JSON.stringify(cause)
12
- : "";
13
- return context + (isBlank(causeStr) ? "" : ": " + causeStr);
14
- }
15
- export class WrappedError extends Error {
16
- errno;
17
- code;
18
- syscall;
19
- path;
20
- constructor(context, options) {
21
- super(toMessage(context, options?.cause));
22
- const cause = map(options?.cause, toError);
23
- const opts = { ...compactValues(cause), ...compactValues(options) };
24
- if (isNotBlank(options?.name)) {
25
- this.name = options.name;
26
- }
27
- if (cause != null) {
28
- this.cause = cause;
29
- if (cause instanceof Error) {
30
- this.stack = `${this.stack}\nCaused by: ${cause.stack}`;
31
- }
32
- }
33
- if (isNumber(opts.errno)) {
34
- this.errno = opts.errno;
35
- }
36
- if (isNotBlank(opts.code)) {
37
- this.code = opts.code;
38
- }
39
- if (isNotBlank(opts.syscall)) {
40
- this.syscall = opts.syscall;
41
- }
42
- if (isNotBlank(options?.path)) {
43
- this.path = options.path;
44
- }
45
- }
46
- get details() {
47
- return compactValues(omit(this, "name", "message", "cause"));
48
- }
49
- toString() {
50
- const details = this.details;
51
- const detailsStr = Object.keys(details).length === 0 ? "" : " " + JSON.stringify(details);
52
- return `${super.toString()}${detailsStr}`;
53
- }
54
- }
55
- export function toError(cause) {
56
- return cause instanceof Error ? cause : new Error(String(cause));
57
- }
58
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { IncludeSystemVolumesDefault, LinuxMountTablePathsDefault, OptionsDefault, optionsWithDefaults, SystemFsTypesDefault, SystemPathPatternsDefault, TimeoutMsDefault, } from "./options.js";
2
- import { VolumeHealthStatuses } from "./volume_health_status.js";
3
- export { IncludeSystemVolumesDefault, LinuxMountTablePathsDefault, OptionsDefault, optionsWithDefaults, SystemFsTypesDefault, SystemPathPatternsDefault, TimeoutMsDefault, VolumeHealthStatuses, };
4
- //# sourceMappingURL=exports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AA4HjE,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,GACrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,EAEN,MAAM,SAAS,CAAC;AAKjB;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC,OAAO,CAAC,KAAK,CAAC,CAEhB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMhE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf"}
package/dist/types/fs.js DELETED
@@ -1,73 +0,0 @@
1
- // src/fs.ts
2
- import { statSync, } from "node:fs";
3
- import { opendir, stat } from "node:fs/promises";
4
- import { join, resolve } from "node:path";
5
- import { withTimeout } from "./async.js";
6
- /**
7
- * Wrapping node:fs/promises.stat() so we can mock it in tests.
8
- */
9
- export async function statAsync(path, options) {
10
- return stat(path, options);
11
- }
12
- export async function canStatAsync(path) {
13
- try {
14
- return null != (await statAsync(path));
15
- }
16
- catch {
17
- return false;
18
- }
19
- }
20
- /**
21
- * @return true if `path` exists and is a directory
22
- */
23
- export async function isDirectory(path) {
24
- try {
25
- return (await statAsync(path))?.isDirectory() === true;
26
- }
27
- catch {
28
- return false;
29
- }
30
- }
31
- /**
32
- * @return the first directory containing `file` or an empty string
33
- */
34
- export async function findAncestorDir(dir, file) {
35
- dir = resolve(dir);
36
- try {
37
- const s = await statAsync(join(dir, file));
38
- if (s.isFile())
39
- return dir;
40
- }
41
- catch {
42
- // fall through
43
- }
44
- const parent = resolve(dir, "..");
45
- return parent === dir ? undefined : findAncestorDir(parent, file);
46
- }
47
- export function existsSync(path) {
48
- return statSync(path, { throwIfNoEntry: false }) != null;
49
- }
50
- /**
51
- * @return `true` if `dir` exists and is a directory and at least one entry can be read.
52
- * @throws {Error} if `dir` does not exist or is not a directory or cannot be read.
53
- */
54
- export async function canReaddir(dir, timeoutMs) {
55
- return withTimeout({
56
- desc: "canReaddir()",
57
- promise: _canReaddir(dir),
58
- timeoutMs,
59
- });
60
- }
61
- async function _canReaddir(dir) {
62
- let d = undefined;
63
- try {
64
- d = await opendir(dir);
65
- await d.read();
66
- return true;
67
- }
68
- finally {
69
- if (d != null)
70
- void d.close();
71
- }
72
- }
73
- //# sourceMappingURL=fs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,EAKL,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAc,EACd,OAA0C;IAE1C,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,IAAY;IAEZ,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,GAAG,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,SAAiB;IAEjB,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC;QACzB,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC,GAAoB,SAAS,CAAC;IACnC,IAAI,CAAC;QACH,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,IAAI,IAAI;YAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GACjD,MAAM,CA+BR;AAuED,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,YAAY,QAAS,CAAC"}
@@ -1,113 +0,0 @@
1
- // src/glob.ts
2
- import { isWindows } from "./platform.js";
3
- import { isNotBlank } from "./string.js";
4
- const cache = new Map();
5
- /**
6
- * Compiles an array of glob patterns into a single regular expression.
7
- *
8
- * The function supports the following patterns:
9
- * - `**` matches any number of directories.
10
- * - `*` matches any number of characters except for `/`.
11
- * - `?` matches exactly one character except for `/`.
12
- * - `.` is escaped to match a literal period.
13
- * - `/` at the end of the pattern matches either a slash or the end of the string.
14
- * - Other regex special characters are escaped.
15
- *
16
- * @param patterns - An array of glob patterns to compile.
17
- * @returns A `RegExp` object that matches any of the provided patterns.
18
- */
19
- export function compileGlob(patterns) {
20
- if (patterns == null || patterns.length === 0) {
21
- return NeverMatchRE;
22
- }
23
- const patternsKey = JSON.stringify(patterns);
24
- {
25
- const prior = cache.get(patternsKey);
26
- if (prior != null) {
27
- return prior;
28
- }
29
- }
30
- const sorted = patterns.slice().filter(isNotBlank).sort();
31
- const sortedKey = JSON.stringify(sorted);
32
- {
33
- const prior = cache.get(sortedKey);
34
- if (prior != null) {
35
- cache.set(patternsKey, prior);
36
- return prior;
37
- }
38
- }
39
- const result = _compileGlob(sorted);
40
- if (cache.size > 256) {
41
- // avoid unbounded memory usage
42
- cache.clear();
43
- }
44
- cache.set(patternsKey, result);
45
- cache.set(sortedKey, result);
46
- return result;
47
- }
48
- function _compileGlob(patterns) {
49
- const regexPatterns = patterns.map((pattern) => {
50
- let regex = "";
51
- let i = 0;
52
- while (i < pattern.length) {
53
- // Handle '**' pattern
54
- if (pattern[i] === "*" && pattern[i + 1] === "*") {
55
- regex += ".*";
56
- i += 2;
57
- if (pattern[i] === "/") {
58
- i++; // Skip the slash after **
59
- }
60
- continue;
61
- }
62
- // Handle single '*' pattern
63
- if (pattern[i] === "*") {
64
- regex += "[^/]*";
65
- i++;
66
- continue;
67
- }
68
- // Handle '?' pattern
69
- if (pattern[i] === "?") {
70
- regex += "[^/]";
71
- i++;
72
- continue;
73
- }
74
- // Handle period
75
- if (pattern[i] === ".") {
76
- regex += "\\.";
77
- i++;
78
- continue;
79
- }
80
- // Handle end of directory pattern
81
- if (pattern[i] === "/") {
82
- if (i === pattern.length - 1) {
83
- regex += "(?:/|$)";
84
- i++;
85
- continue;
86
- }
87
- else if (isWindows) {
88
- regex += "[\\/\\\\]";
89
- i++;
90
- continue;
91
- }
92
- }
93
- // Escape other regex special characters
94
- if (/[+^${}()|[\]\\]/.test(pattern[i])) {
95
- regex += "\\" + pattern[i];
96
- i++;
97
- continue;
98
- }
99
- // Add other characters as-is
100
- regex += pattern[i];
101
- i++;
102
- }
103
- return regex;
104
- });
105
- const final = regexPatterns.filter((ea) => ea.length > 0);
106
- return final.length === 0
107
- ? // Empty pattern matches nothing
108
- NeverMatchRE // Case insensitive for Windows paths
109
- : new RegExp(`^(?:${final.join("|")})$`, "i");
110
- }
111
- export const AlwaysMatchRE = /(?:)/;
112
- export const NeverMatchRE = /(?!)/;
113
- //# sourceMappingURL=glob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,QAAkD;IAElD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;QACC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;QACC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QACrB,+BAA+B;QAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,QAAsC;IAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,sBAAsB;YACtB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjD,KAAK,IAAI,IAAI,CAAC;gBACd,CAAC,IAAI,CAAC,CAAC;gBACP,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACvB,CAAC,EAAE,CAAC,CAAC,0BAA0B;gBACjC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,4BAA4B;YAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,KAAK,IAAI,OAAO,CAAC;gBACjB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,qBAAqB;YACrB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,KAAK,IAAI,MAAM,CAAC;gBAChB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,gBAAgB;YAChB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,KAAK,IAAI,KAAK,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,kCAAkC;YAClC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,KAAK,IAAI,SAAS,CAAC;oBACnB,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,KAAK,IAAI,WAAW,CAAC;oBACrB,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;gBACjD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,6BAA6B;YAC7B,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,gCAAgC;YAChC,YAAY,CAAC,qCAAqC;QACpD,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hidden.d.ts","sourceRoot":"","sources":["../../src/hidden.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,SAAS,EAAE,OAAO,CAAC;QAEnB;;WAEG;QACH,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAyBD,eAAO,MAAM,YAAY;IAnCrB;;OAEG;eACQ,OAAO;IAElB;;OAEG;gBACS,OAAO;CA+BtB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAStE;AAyCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAgD1B"}
@@ -1,155 +0,0 @@
1
- // src/hidden.ts
2
- import { rename } from "node:fs/promises";
3
- import { basename, dirname, join } from "node:path";
4
- import { WrappedError } from "./error.js";
5
- import { canStatAsync, statAsync } from "./fs.js";
6
- import { isRootDirectory, normalizePath } from "./path.js";
7
- import { isWindows } from "./platform.js";
8
- const HiddenSupportByPlatform = {
9
- win32: {
10
- supported: {
11
- dotPrefix: false,
12
- systemFlag: true,
13
- },
14
- },
15
- darwin: {
16
- supported: {
17
- dotPrefix: true,
18
- systemFlag: true,
19
- },
20
- },
21
- linux: {
22
- supported: {
23
- dotPrefix: true,
24
- systemFlag: false,
25
- },
26
- },
27
- };
28
- export const LocalSupport = HiddenSupportByPlatform[process.platform]
29
- ?.supported ?? {
30
- dotPrefix: false,
31
- systemFlag: false,
32
- };
33
- /**
34
- * Checks if the file or directory is hidden through any available method
35
- * @returns A boolean indicating if the item is hidden
36
- * @throws {Error} If the file doesn't exist or permissions are insufficient
37
- */
38
- export async function isHidden(pathname, nativeFn) {
39
- const norm = normalizePath(pathname);
40
- if (norm == null) {
41
- throw new Error("Invalid pathname: " + JSON.stringify(pathname));
42
- }
43
- return ((LocalSupport.dotPrefix && isPosixHidden(norm)) ||
44
- (LocalSupport.systemFlag && isSystemHidden(norm, nativeFn)));
45
- }
46
- export async function isHiddenRecursive(path, nativeFn) {
47
- let norm = normalizePath(path);
48
- if (norm == null) {
49
- throw new Error("Invalid path: " + JSON.stringify(path));
50
- }
51
- while (!isRootDirectory(norm)) {
52
- if (await isHidden(norm, nativeFn)) {
53
- return true;
54
- }
55
- norm = dirname(norm);
56
- }
57
- return false;
58
- }
59
- export function createHiddenPosixPath(pathname, hidden) {
60
- const norm = normalizePath(pathname);
61
- if (norm == null) {
62
- throw new Error("Invalid pathname: " + JSON.stringify(pathname));
63
- }
64
- const dir = dirname(norm);
65
- const srcBase = basename(norm).replace(/^\./, "");
66
- const dest = join(dir, (hidden ? "." : "") + srcBase);
67
- return dest;
68
- }
69
- async function setHiddenPosix(pathname, hidden) {
70
- if (LocalSupport.dotPrefix) {
71
- const dest = createHiddenPosixPath(pathname, hidden);
72
- if (pathname !== dest)
73
- await rename(pathname, dest);
74
- return dest;
75
- }
76
- throw new Error("Unsupported platform");
77
- }
78
- function isPosixHidden(pathname) {
79
- if (!LocalSupport.dotPrefix)
80
- return false;
81
- const b = basename(pathname);
82
- return b.startsWith(".") && b !== "." && b !== "..";
83
- }
84
- async function isSystemHidden(pathname, nativeFn) {
85
- if (!LocalSupport.systemFlag) {
86
- // not supported on this platform
87
- return false;
88
- }
89
- if (isWindows && isRootDirectory(pathname)) {
90
- // windows `attr` thinks all drive letters don't exist.
91
- return false;
92
- }
93
- // don't bother the native bindings if the file doesn't exist:
94
- return ((await canStatAsync(pathname)) &&
95
- (await (await nativeFn()).isHidden(pathname)));
96
- }
97
- /**
98
- * Gets detailed information about the hidden state of the file or directory
99
- * @returns An object containing detailed hidden state information
100
- * @throws {Error} If the file doesn't exist or permissions are insufficient
101
- */
102
- export async function getHiddenMetadata(pathname, nativeFn) {
103
- const norm = normalizePath(pathname);
104
- if (norm == null) {
105
- throw new Error("Invalid pathname: " + JSON.stringify(pathname));
106
- }
107
- const dotPrefix = isPosixHidden(norm);
108
- const systemFlag = await isSystemHidden(norm, nativeFn);
109
- return {
110
- hidden: dotPrefix || systemFlag,
111
- dotPrefix,
112
- systemFlag,
113
- supported: LocalSupport,
114
- };
115
- }
116
- export async function setHidden(pathname, hide, method, nativeFn) {
117
- let norm = normalizePath(pathname);
118
- if (norm == null) {
119
- throw new Error("Invalid pathname: " + JSON.stringify(pathname));
120
- }
121
- if (method === "dotPrefix" && !LocalSupport.dotPrefix) {
122
- throw new Error("Dot prefix hiding is not supported on this platform");
123
- }
124
- if (method === "systemFlag" && !LocalSupport.systemFlag) {
125
- throw new Error("System flag hiding is not supported on this platform");
126
- }
127
- try {
128
- await statAsync(norm);
129
- }
130
- catch (cause) {
131
- throw new WrappedError("setHidden()", { cause });
132
- }
133
- if (isWindows && isRootDirectory(norm)) {
134
- throw new Error("Cannot hide root directory on Windows");
135
- }
136
- const actions = {
137
- dotPrefix: false,
138
- systemFlag: false,
139
- };
140
- let acted = false;
141
- if (LocalSupport.dotPrefix && ["auto", "all", "dotPrefix"].includes(method)) {
142
- if (isPosixHidden(norm) !== hide) {
143
- norm = await setHiddenPosix(norm, hide);
144
- actions.dotPrefix = true;
145
- }
146
- acted = true;
147
- }
148
- if (LocalSupport.systemFlag &&
149
- (["all", "systemFlag"].includes(method) || (!acted && method === "auto"))) {
150
- await (await nativeFn()).setHidden(norm, hide);
151
- actions.systemFlag = true;
152
- }
153
- return { pathname: norm, actions };
154
- }
155
- //# sourceMappingURL=hidden.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hidden.js","sourceRoot":"","sources":["../../src/hidden.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC;AAE7B,eAAO,MACL,oBAAoB,sDACpB,iBAAiB,mDACjB,oBAAoB,sDACpB,QAAQ,0CACR,iBAAiB,mDACjB,iBAAiB,mDACjB,SAAS,yCACuC,CAAC"}
@@ -1,7 +0,0 @@
1
- // src/index.mts
2
- import { dirname } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { setup } from "./setup.js";
5
- export * from "./exports.js";
6
- export const { getVolumeMountPoints, getVolumeMetadata, getAllVolumeMetadata, isHidden, isHiddenRecursive, getHiddenMetadata, setHidden, } = setup(dirname(fileURLToPath(import.meta.url)));
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAEhB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,EACX,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev_disk.d.ts","sourceRoot":"","sources":["../../../src/linux/dev_disk.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,+BAY1D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,+BAY3D;AAGD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B"}
@@ -1,61 +0,0 @@
1
- // src/linux/dev_disk.ts
2
- import { readdir, readlink } from "node:fs/promises";
3
- import { join, resolve } from "node:path";
4
- import { debug } from "../debuglog.js";
5
- import { decodeEscapeSequences } from "../string.js";
6
- /**
7
- * Gets the UUID from symlinks for a given device path asynchronously
8
- * @param devicePath The device path to look up
9
- * @returns Promise that resolves to the UUID if found, empty string otherwise
10
- */
11
- export async function getUuidFromDevDisk(devicePath) {
12
- try {
13
- const result = await getBasenameLinkedTo("/dev/disk/by-uuid", resolve(devicePath));
14
- debug("[getUuidFromDevDisk] result: %o", result);
15
- return result;
16
- }
17
- catch (error) {
18
- debug("[getUuidFromDevDisk] failed: " + error);
19
- return;
20
- }
21
- }
22
- /**
23
- * Gets the label from symlinks for a given device path asynchronously
24
- * @param devicePath The device path to look up
25
- * @returns Promise that resolves to the label if found, empty string otherwise
26
- */
27
- export async function getLabelFromDevDisk(devicePath) {
28
- try {
29
- const result = await getBasenameLinkedTo("/dev/disk/by-label", resolve(devicePath));
30
- debug("[getLabelFromDevDisk] result: %o", result);
31
- return result;
32
- }
33
- catch (error) {
34
- debug("[getLabelFromDevDisk] failed: " + error);
35
- return;
36
- }
37
- }
38
- // only exposed for tests
39
- export async function getBasenameLinkedTo(linkDir, linkPath) {
40
- for await (const ea of readLinks(linkDir)) {
41
- if (ea.linkTarget === linkPath) {
42
- // Expect the symlink to be named like '1tb\x20\x28test\x29'
43
- return decodeEscapeSequences(ea.dirent.name);
44
- }
45
- }
46
- return;
47
- }
48
- async function* readLinks(directory) {
49
- for (const dirent of await readdir(directory, { withFileTypes: true })) {
50
- if (dirent.isSymbolicLink()) {
51
- try {
52
- const linkTarget = resolve(directory, await readlink(join(directory, dirent.name)));
53
- yield { dirent, linkTarget };
54
- }
55
- catch {
56
- // Ignore errors
57
- }
58
- }
59
- }
60
- }
61
- //# sourceMappingURL=dev_disk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev_disk.js","sourceRoot":"","sources":["../../../src/linux/dev_disk.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAGxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,mBAAmB,EACnB,OAAO,CAAC,UAAU,CAAC,CACpB,CAAC;QACF,KAAK,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,oBAAoB,EACpB,OAAO,CAAC,UAAU,CAAC,CACpB,CAAC;QACF,KAAK,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,gCAAgC,GAAG,KAAK,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,QAAgB;IAEhB,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,EAAE,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/B,4DAA4D;YAC5D,OAAO,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO;AACT,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,SAAS,CACvB,SAAiB;IAEjB,KAAK,MAAM,MAAM,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,OAAO,CACxB,SAAS,EACT,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAC7C,CAAC;gBACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mount_points.d.ts","sourceRoot":"","sources":["../../../src/linux/mount_points.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAqC,MAAM,WAAW,CAAC;AAE1E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,GAC3C,OAAO,CAAC,UAAU,EAAE,CAAC,CAoDvB;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,GAC3C,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
@@ -1,77 +0,0 @@
1
- // src/linux/mount_points.ts
2
- import { readFile } from "node:fs/promises";
3
- import { debug } from "../debuglog.js";
4
- import { toError, WrappedError } from "../error.js";
5
- import { isMountPoint } from "../mount_point.js";
6
- import { compactValues } from "../object.js";
7
- import { optionsWithDefaults } from "../options.js";
8
- import { assignSystemVolume } from "../system_volume.js";
9
- import { mountEntryToMountPoint, parseMtab } from "./mtab.js";
10
- export async function getLinuxMountPoints(native, opts) {
11
- const o = optionsWithDefaults(opts);
12
- const raw = [];
13
- try {
14
- // Get GIO mounts if available from native module
15
- const arr = await (await native()).getGioMountPoints?.();
16
- debug("[getLinuxMountPoints] GIO mount points: %o", arr);
17
- if (arr != null)
18
- raw.push(...arr);
19
- }
20
- catch (error) {
21
- debug("Failed to get GIO mount points: %s", error);
22
- // GIO support not compiled in or failed, continue with just mtab mounts
23
- }
24
- let cause;
25
- for (const input of o.linuxMountTablePaths) {
26
- try {
27
- const mtabContent = await readFile(input, "utf8");
28
- const arr = parseMtab(mtabContent)
29
- .map((ea) => mountEntryToMountPoint(ea))
30
- .filter((ea) => ea != null);
31
- debug("[getLinuxMountPoints] %s mount points: %o", input, arr);
32
- if (arr.length > 0) {
33
- raw.push(...arr);
34
- break;
35
- }
36
- }
37
- catch (error) {
38
- cause ??= toError(error);
39
- }
40
- }
41
- const byMountPoint = new Map();
42
- for (const ea of raw) {
43
- const prior = byMountPoint.get(ea.mountPoint);
44
- const merged = { ...compactValues(prior), ...compactValues(ea) };
45
- if (isMountPoint(merged)) {
46
- assignSystemVolume(merged, o);
47
- byMountPoint.set(merged.mountPoint, merged);
48
- }
49
- }
50
- if (byMountPoint.size === 0) {
51
- throw new WrappedError(`Failed to find any mount points (tried: ${JSON.stringify(o.linuxMountTablePaths)})`, { cause });
52
- }
53
- const results = [...byMountPoint.values()];
54
- debug("[getLinuxMountPoints] found %d mount points", results.length);
55
- return o.includeSystemVolumes
56
- ? results
57
- : results.filter((ea) => !ea.isSystemVolume);
58
- }
59
- export async function getLinuxMtabMetadata(mountPoint, opts) {
60
- let caughtError;
61
- const inputs = optionsWithDefaults(opts).linuxMountTablePaths;
62
- for (const input of inputs) {
63
- try {
64
- const mtabContent = await readFile(input, "utf8");
65
- for (const ea of parseMtab(mtabContent)) {
66
- if (ea.fs_file === mountPoint) {
67
- return ea;
68
- }
69
- }
70
- }
71
- catch (error) {
72
- caughtError ??= toError(error);
73
- }
74
- }
75
- throw new WrappedError(`Failed to find mount point ${mountPoint} in an linuxMountTablePaths (tried: ${JSON.stringify(inputs)})`, caughtError);
76
- }
77
- //# sourceMappingURL=mount_points.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mount_points.js","sourceRoot":"","sources":["../../../src/linux/mount_points.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtab.d.ts","sourceRoot":"","sources":["../../../src/linux/mtab.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAU/C,OAAO,EAAkB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,GAChB,UAAU,GAAG,SAAS,CASxB;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,cAAc,EACd,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAC5D,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACxC,kBAAkB,CASpB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAgCvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAcxD"}