@matter/nodejs 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e

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 (273) hide show
  1. package/package.json +9 -9
  2. package/dist/cjs/behavior/index.d.ts +0 -7
  3. package/dist/cjs/behavior/index.d.ts.map +0 -1
  4. package/dist/cjs/behavior/index.js +0 -8
  5. package/dist/cjs/behavior/index.js.map +0 -6
  6. package/dist/cjs/behavior/instrumentation.d.ts +0 -11
  7. package/dist/cjs/behavior/instrumentation.d.ts.map +0 -1
  8. package/dist/cjs/behavior/instrumentation.js +0 -39
  9. package/dist/cjs/behavior/instrumentation.js.map +0 -6
  10. package/dist/cjs/behavior/register.d.ts +0 -7
  11. package/dist/cjs/behavior/register.d.ts.map +0 -1
  12. package/dist/cjs/behavior/register.js +0 -9
  13. package/dist/cjs/behavior/register.js.map +0 -6
  14. package/dist/cjs/config.d.ts +0 -98
  15. package/dist/cjs/config.d.ts.map +0 -1
  16. package/dist/cjs/config.js +0 -210
  17. package/dist/cjs/config.js.map +0 -6
  18. package/dist/cjs/crypto/NodeJsCrypto.d.ts +0 -13
  19. package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +0 -1
  20. package/dist/cjs/crypto/NodeJsCrypto.js +0 -46
  21. package/dist/cjs/crypto/NodeJsCrypto.js.map +0 -6
  22. package/dist/cjs/crypto/index.d.ts +0 -7
  23. package/dist/cjs/crypto/index.d.ts.map +0 -1
  24. package/dist/cjs/crypto/index.js +0 -24
  25. package/dist/cjs/crypto/index.js.map +0 -6
  26. package/dist/cjs/environment/NodeJsEnvironment.d.ts +0 -77
  27. package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +0 -1
  28. package/dist/cjs/environment/NodeJsEnvironment.js +0 -254
  29. package/dist/cjs/environment/NodeJsEnvironment.js.map +0 -6
  30. package/dist/cjs/environment/ProcessManager.d.ts +0 -48
  31. package/dist/cjs/environment/ProcessManager.d.ts.map +0 -1
  32. package/dist/cjs/environment/ProcessManager.js +0 -129
  33. package/dist/cjs/environment/ProcessManager.js.map +0 -6
  34. package/dist/cjs/environment/index.d.ts +0 -9
  35. package/dist/cjs/environment/index.d.ts.map +0 -1
  36. package/dist/cjs/environment/index.js +0 -26
  37. package/dist/cjs/environment/index.js.map +0 -6
  38. package/dist/cjs/environment/register.d.ts +0 -7
  39. package/dist/cjs/environment/register.d.ts.map +0 -1
  40. package/dist/cjs/environment/register.js +0 -10
  41. package/dist/cjs/environment/register.js.map +0 -6
  42. package/dist/cjs/fs/NodeJsDirectory.d.ts +0 -24
  43. package/dist/cjs/fs/NodeJsDirectory.d.ts.map +0 -1
  44. package/dist/cjs/fs/NodeJsDirectory.js +0 -102
  45. package/dist/cjs/fs/NodeJsDirectory.js.map +0 -6
  46. package/dist/cjs/fs/NodeJsFile.d.ts +0 -22
  47. package/dist/cjs/fs/NodeJsFile.d.ts.map +0 -1
  48. package/dist/cjs/fs/NodeJsFile.js +0 -248
  49. package/dist/cjs/fs/NodeJsFile.js.map +0 -6
  50. package/dist/cjs/fs/NodeJsFilesystem.d.ts +0 -27
  51. package/dist/cjs/fs/NodeJsFilesystem.d.ts.map +0 -1
  52. package/dist/cjs/fs/NodeJsFilesystem.js +0 -83
  53. package/dist/cjs/fs/NodeJsFilesystem.js.map +0 -6
  54. package/dist/cjs/fs/fs-utils.d.ts +0 -16
  55. package/dist/cjs/fs/fs-utils.d.ts.map +0 -1
  56. package/dist/cjs/fs/fs-utils.js +0 -154
  57. package/dist/cjs/fs/fs-utils.js.map +0 -6
  58. package/dist/cjs/fs/index.d.ts +0 -7
  59. package/dist/cjs/fs/index.d.ts.map +0 -1
  60. package/dist/cjs/fs/index.js +0 -24
  61. package/dist/cjs/fs/index.js.map +0 -6
  62. package/dist/cjs/fs/lock-utils.d.ts +0 -12
  63. package/dist/cjs/fs/lock-utils.d.ts.map +0 -1
  64. package/dist/cjs/fs/lock-utils.js +0 -132
  65. package/dist/cjs/fs/lock-utils.js.map +0 -6
  66. package/dist/cjs/index.d.ts +0 -14
  67. package/dist/cjs/index.d.ts.map +0 -1
  68. package/dist/cjs/index.js +0 -31
  69. package/dist/cjs/index.js.map +0 -6
  70. package/dist/cjs/log/FileLogger.d.ts +0 -12
  71. package/dist/cjs/log/FileLogger.d.ts.map +0 -1
  72. package/dist/cjs/log/FileLogger.js +0 -46
  73. package/dist/cjs/log/FileLogger.js.map +0 -6
  74. package/dist/cjs/log/index.d.ts +0 -7
  75. package/dist/cjs/log/index.d.ts.map +0 -1
  76. package/dist/cjs/log/index.js +0 -24
  77. package/dist/cjs/log/index.js.map +0 -6
  78. package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +0 -38
  79. package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +0 -1
  80. package/dist/cjs/net/NodeJsHttpEndpoint.js +0 -306
  81. package/dist/cjs/net/NodeJsHttpEndpoint.js.map +0 -6
  82. package/dist/cjs/net/NodeJsNetwork.d.ts +0 -37
  83. package/dist/cjs/net/NodeJsNetwork.d.ts.map +0 -1
  84. package/dist/cjs/net/NodeJsNetwork.js +0 -199
  85. package/dist/cjs/net/NodeJsNetwork.js.map +0 -6
  86. package/dist/cjs/net/NodeJsTcpConnection.d.ts +0 -24
  87. package/dist/cjs/net/NodeJsTcpConnection.d.ts.map +0 -1
  88. package/dist/cjs/net/NodeJsTcpConnection.js +0 -138
  89. package/dist/cjs/net/NodeJsTcpConnection.js.map +0 -6
  90. package/dist/cjs/net/NodeJsTcpListener.d.ts +0 -19
  91. package/dist/cjs/net/NodeJsTcpListener.d.ts.map +0 -1
  92. package/dist/cjs/net/NodeJsTcpListener.js +0 -100
  93. package/dist/cjs/net/NodeJsTcpListener.js.map +0 -6
  94. package/dist/cjs/net/NodeJsUdpSocket.d.ts +0 -23
  95. package/dist/cjs/net/NodeJsUdpSocket.d.ts.map +0 -1
  96. package/dist/cjs/net/NodeJsUdpSocket.js +0 -394
  97. package/dist/cjs/net/NodeJsUdpSocket.js.map +0 -6
  98. package/dist/cjs/net/WsAdapter.d.ts +0 -25
  99. package/dist/cjs/net/WsAdapter.d.ts.map +0 -1
  100. package/dist/cjs/net/WsAdapter.js +0 -33
  101. package/dist/cjs/net/WsAdapter.js.map +0 -6
  102. package/dist/cjs/net/index.d.ts +0 -12
  103. package/dist/cjs/net/index.d.ts.map +0 -1
  104. package/dist/cjs/net/index.js +0 -29
  105. package/dist/cjs/net/index.js.map +0 -6
  106. package/dist/cjs/package.json +0 -6
  107. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts +0 -29
  108. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts.map +0 -1
  109. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js +0 -155
  110. package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
  111. package/dist/cjs/storage/fs/FileStorageDriver.d.ts +0 -44
  112. package/dist/cjs/storage/fs/FileStorageDriver.d.ts.map +0 -1
  113. package/dist/cjs/storage/fs/FileStorageDriver.js +0 -334
  114. package/dist/cjs/storage/fs/FileStorageDriver.js.map +0 -6
  115. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts +0 -30
  116. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts.map +0 -1
  117. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js +0 -195
  118. package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
  119. package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts +0 -27
  120. package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts.map +0 -1
  121. package/dist/cjs/storage/fs/JsonFileStorageDriver.js +0 -128
  122. package/dist/cjs/storage/fs/JsonFileStorageDriver.js.map +0 -6
  123. package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts +0 -19
  124. package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts.map +0 -1
  125. package/dist/cjs/storage/fs/WalBlobStorageDriver.js +0 -44
  126. package/dist/cjs/storage/fs/WalBlobStorageDriver.js.map +0 -6
  127. package/dist/cjs/storage/fs/index.d.ts +0 -21
  128. package/dist/cjs/storage/fs/index.d.ts.map +0 -1
  129. package/dist/cjs/storage/fs/index.js +0 -40
  130. package/dist/cjs/storage/fs/index.js.map +0 -6
  131. package/dist/cjs/storage/index.d.ts +0 -8
  132. package/dist/cjs/storage/index.d.ts.map +0 -1
  133. package/dist/cjs/storage/index.js +0 -25
  134. package/dist/cjs/storage/index.js.map +0 -6
  135. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts +0 -48
  136. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts.map +0 -1
  137. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js +0 -217
  138. package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
  139. package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts +0 -23
  140. package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts.map +0 -1
  141. package/dist/cjs/storage/sqlite/SqlitePlatform.js +0 -56
  142. package/dist/cjs/storage/sqlite/SqlitePlatform.js.map +0 -6
  143. package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts +0 -102
  144. package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts.map +0 -1
  145. package/dist/cjs/storage/sqlite/SqliteStorageDriver.js +0 -424
  146. package/dist/cjs/storage/sqlite/SqliteStorageDriver.js.map +0 -6
  147. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts +0 -19
  148. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts.map +0 -1
  149. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js +0 -41
  150. package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
  151. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +0 -67
  152. package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +0 -1
  153. package/dist/cjs/storage/sqlite/SqliteTypes.js +0 -35
  154. package/dist/cjs/storage/sqlite/SqliteTypes.js.map +0 -6
  155. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +0 -33
  156. package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +0 -1
  157. package/dist/cjs/storage/sqlite/SqliteUtil.js +0 -64
  158. package/dist/cjs/storage/sqlite/SqliteUtil.js.map +0 -6
  159. package/dist/cjs/storage/sqlite/index.d.ts +0 -15
  160. package/dist/cjs/storage/sqlite/index.d.ts.map +0 -1
  161. package/dist/cjs/storage/sqlite/index.js +0 -37
  162. package/dist/cjs/storage/sqlite/index.js.map +0 -6
  163. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +0 -13
  164. package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +0 -1
  165. package/dist/cjs/storage/sqlite/platform/BunSqlite.js +0 -61
  166. package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +0 -6
  167. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +0 -8
  168. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +0 -1
  169. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +0 -53
  170. package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
  171. package/dist/cjs/time/index.d.ts +0 -7
  172. package/dist/cjs/time/index.d.ts.map +0 -1
  173. package/dist/cjs/time/index.js +0 -8
  174. package/dist/cjs/time/index.js.map +0 -6
  175. package/dist/cjs/time/startup.d.ts +0 -7
  176. package/dist/cjs/time/startup.d.ts.map +0 -1
  177. package/dist/cjs/time/startup.js +0 -11
  178. package/dist/cjs/time/startup.js.map +0 -6
  179. package/dist/cjs/util/runtimeChecks.d.ts +0 -14
  180. package/dist/cjs/util/runtimeChecks.d.ts.map +0 -1
  181. package/dist/cjs/util/runtimeChecks.js +0 -45
  182. package/dist/cjs/util/runtimeChecks.js.map +0 -6
  183. package/dist/esm/behavior/index.js +0 -7
  184. package/dist/esm/behavior/index.js.map +0 -6
  185. package/dist/esm/behavior/instrumentation.js +0 -19
  186. package/dist/esm/behavior/instrumentation.js.map +0 -6
  187. package/dist/esm/behavior/register.js +0 -8
  188. package/dist/esm/behavior/register.js.map +0 -6
  189. package/dist/esm/config.js +0 -190
  190. package/dist/esm/config.js.map +0 -6
  191. package/dist/esm/crypto/NodeJsCrypto.js +0 -16
  192. package/dist/esm/crypto/NodeJsCrypto.js.map +0 -6
  193. package/dist/esm/crypto/index.js +0 -7
  194. package/dist/esm/crypto/index.js.map +0 -6
  195. package/dist/esm/environment/NodeJsEnvironment.js +0 -242
  196. package/dist/esm/environment/NodeJsEnvironment.js.map +0 -6
  197. package/dist/esm/environment/ProcessManager.js +0 -109
  198. package/dist/esm/environment/ProcessManager.js.map +0 -6
  199. package/dist/esm/environment/index.js +0 -9
  200. package/dist/esm/environment/index.js.map +0 -6
  201. package/dist/esm/environment/register.js +0 -9
  202. package/dist/esm/environment/register.js.map +0 -6
  203. package/dist/esm/fs/NodeJsDirectory.js +0 -82
  204. package/dist/esm/fs/NodeJsDirectory.js.map +0 -6
  205. package/dist/esm/fs/NodeJsFile.js +0 -232
  206. package/dist/esm/fs/NodeJsFile.js.map +0 -6
  207. package/dist/esm/fs/NodeJsFilesystem.js +0 -63
  208. package/dist/esm/fs/NodeJsFilesystem.js.map +0 -6
  209. package/dist/esm/fs/fs-utils.js +0 -137
  210. package/dist/esm/fs/fs-utils.js.map +0 -6
  211. package/dist/esm/fs/index.js +0 -7
  212. package/dist/esm/fs/index.js.map +0 -6
  213. package/dist/esm/fs/lock-utils.js +0 -112
  214. package/dist/esm/fs/lock-utils.js.map +0 -6
  215. package/dist/esm/index.js +0 -14
  216. package/dist/esm/index.js.map +0 -6
  217. package/dist/esm/log/FileLogger.js +0 -26
  218. package/dist/esm/log/FileLogger.js.map +0 -6
  219. package/dist/esm/log/index.js +0 -7
  220. package/dist/esm/log/index.js.map +0 -6
  221. package/dist/esm/net/NodeJsHttpEndpoint.js +0 -286
  222. package/dist/esm/net/NodeJsHttpEndpoint.js.map +0 -6
  223. package/dist/esm/net/NodeJsNetwork.js +0 -189
  224. package/dist/esm/net/NodeJsNetwork.js.map +0 -6
  225. package/dist/esm/net/NodeJsTcpConnection.js +0 -124
  226. package/dist/esm/net/NodeJsTcpConnection.js.map +0 -6
  227. package/dist/esm/net/NodeJsTcpListener.js +0 -86
  228. package/dist/esm/net/NodeJsTcpListener.js.map +0 -6
  229. package/dist/esm/net/NodeJsUdpSocket.js +0 -385
  230. package/dist/esm/net/NodeJsUdpSocket.js.map +0 -6
  231. package/dist/esm/net/WsAdapter.js +0 -13
  232. package/dist/esm/net/WsAdapter.js.map +0 -6
  233. package/dist/esm/net/index.js +0 -12
  234. package/dist/esm/net/index.js.map +0 -6
  235. package/dist/esm/package.json +0 -6
  236. package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js +0 -140
  237. package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
  238. package/dist/esm/storage/fs/FileStorageDriver.js +0 -323
  239. package/dist/esm/storage/fs/FileStorageDriver.js.map +0 -6
  240. package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js +0 -180
  241. package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
  242. package/dist/esm/storage/fs/JsonFileStorageDriver.js +0 -116
  243. package/dist/esm/storage/fs/JsonFileStorageDriver.js.map +0 -6
  244. package/dist/esm/storage/fs/WalBlobStorageDriver.js +0 -24
  245. package/dist/esm/storage/fs/WalBlobStorageDriver.js.map +0 -6
  246. package/dist/esm/storage/fs/index.js +0 -19
  247. package/dist/esm/storage/fs/index.js.map +0 -6
  248. package/dist/esm/storage/index.js +0 -8
  249. package/dist/esm/storage/index.js.map +0 -6
  250. package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js +0 -197
  251. package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
  252. package/dist/esm/storage/sqlite/SqlitePlatform.js +0 -26
  253. package/dist/esm/storage/sqlite/SqlitePlatform.js.map +0 -6
  254. package/dist/esm/storage/sqlite/SqliteStorageDriver.js +0 -409
  255. package/dist/esm/storage/sqlite/SqliteStorageDriver.js.map +0 -6
  256. package/dist/esm/storage/sqlite/SqliteStorageDriverError.js +0 -21
  257. package/dist/esm/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
  258. package/dist/esm/storage/sqlite/SqliteTypes.js +0 -15
  259. package/dist/esm/storage/sqlite/SqliteTypes.js.map +0 -6
  260. package/dist/esm/storage/sqlite/SqliteUtil.js +0 -44
  261. package/dist/esm/storage/sqlite/SqliteUtil.js.map +0 -6
  262. package/dist/esm/storage/sqlite/index.js +0 -17
  263. package/dist/esm/storage/sqlite/index.js.map +0 -6
  264. package/dist/esm/storage/sqlite/platform/BunSqlite.js +0 -41
  265. package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +0 -6
  266. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +0 -33
  267. package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
  268. package/dist/esm/time/index.js +0 -7
  269. package/dist/esm/time/index.js.map +0 -6
  270. package/dist/esm/time/startup.js +0 -10
  271. package/dist/esm/time/startup.js.map +0 -6
  272. package/dist/esm/util/runtimeChecks.js +0 -25
  273. package/dist/esm/util/runtimeChecks.js.map +0 -6
@@ -1,82 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Directory } from "@matter/general";
7
- import { rename as fsRename, mkdir, rm, stat } from "node:fs/promises";
8
- import { basename, dirname, resolve } from "node:path";
9
- import { nodeCopy, nodeEntries, nodeStat } from "./fs-utils.js";
10
- import { acquireDirectoryLock } from "./lock-utils.js";
11
- import { NodeJsFile } from "./NodeJsFile.js";
12
- class NodeJsDirectory extends Directory {
13
- #fs;
14
- #path;
15
- #name;
16
- #cachedStat;
17
- constructor(fs, path, name, cachedStat) {
18
- super();
19
- this.#fs = fs;
20
- this.#path = path;
21
- this.#name = name;
22
- this.#cachedStat = cachedStat;
23
- }
24
- get fs() {
25
- return this.#fs;
26
- }
27
- get name() {
28
- return this.#name;
29
- }
30
- get path() {
31
- return this.#path;
32
- }
33
- async exists() {
34
- try {
35
- const s = await stat(this.#path);
36
- return s.isDirectory();
37
- } catch (e) {
38
- if (e.code === "ENOENT") {
39
- return false;
40
- }
41
- throw e;
42
- }
43
- }
44
- stat() {
45
- if (this.#cachedStat) {
46
- return this.#cachedStat;
47
- }
48
- return nodeStat(this.#path);
49
- }
50
- async rename(newName) {
51
- const newPath = resolve(dirname(this.#path), newName);
52
- await fsRename(this.#path, newPath);
53
- this.#path = newPath;
54
- this.#name = basename(newPath);
55
- }
56
- async delete() {
57
- await rm(this.#path, { recursive: true, force: true });
58
- }
59
- async *entries() {
60
- yield* nodeEntries(this.#fs, this.#path, NodeJsFile, NodeJsDirectory);
61
- }
62
- file(name) {
63
- return new NodeJsFile(this.#fs, resolve(this.#path, name), name);
64
- }
65
- directory(name) {
66
- return new NodeJsDirectory(this.#fs, resolve(this.#path, name), name);
67
- }
68
- async mkdir() {
69
- await mkdir(this.#path, { recursive: true });
70
- }
71
- async copy(source, target) {
72
- await nodeCopy(this.#path, source, target);
73
- }
74
- async lock() {
75
- await this.mkdir();
76
- return acquireDirectoryLock(this.#path, this.#name);
77
- }
78
- }
79
- export {
80
- NodeJsDirectory
81
- };
82
- //# sourceMappingURL=NodeJsDirectory.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fs/NodeJsDirectory.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAgF;AACzF,SAAS,UAAU,UAAU,OAAO,IAAI,YAAY;AACpD,SAAS,UAAU,SAAS,eAAe;AAC3C,SAAS,UAAU,aAAa,gBAAgB;AAChD,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAEpB,MAAM,wBAAwB,UAAU;AAAA,EAClC;AAAA,EACT;AAAA,EACA;AAAA,EACS;AAAA,EAET,YAAY,IAAgB,MAAc,MAAc,YAAkC;AACtF,UAAM;AACN,SAAK,MAAM;AACX,SAAK,QAAQ;AACb,SAAK,QAAQ;AACb,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAa,KAAK;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAa,OAAO;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,SAA2B;AAC7B,QAAI;AACA,YAAM,IAAI,MAAM,KAAK,KAAK,KAAK;AAC/B,aAAO,EAAE,YAAY;AAAA,IACzB,SAAS,GAAG;AACR,UAAK,EAA4B,SAAS,UAAU;AAChD,eAAO;AAAA,MACX;AACA,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,OAA0C;AACtC,QAAI,KAAK,aAAa;AAClB,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,SAAS,KAAK,KAAK;AAAA,EAC9B;AAAA,EAEA,MAAM,OAAO,SAAgC;AACzC,UAAM,UAAU,QAAQ,QAAQ,KAAK,KAAK,GAAG,OAAO;AACpD,UAAM,SAAS,KAAK,OAAO,OAAO;AAClC,SAAK,QAAQ;AACb,SAAK,QAAQ,SAAS,OAAO;AAAA,EACjC;AAAA,EAEA,MAAM,SAAwB;AAC1B,UAAM,GAAG,KAAK,OAAO,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EACzD;AAAA,EAEA,OAAO,UAA0C;AAC7C,WAAO,YAAY,KAAK,KAAK,KAAK,OAAO,YAAY,eAAe;AAAA,EACxE;AAAA,EAEA,KAAK,MAAoB;AACrB,WAAO,IAAI,WAAW,KAAK,KAAK,QAAQ,KAAK,OAAO,IAAI,GAAG,IAAI;AAAA,EACnE;AAAA,EAEA,UAAU,MAAyB;AAC/B,WAAO,IAAI,gBAAgB,KAAK,KAAK,QAAQ,KAAK,OAAO,IAAI,GAAG,IAAI;AAAA,EACxE;AAAA,EAEA,MAAM,QAAuB;AACzB,UAAM,MAAM,KAAK,OAAO,EAAE,WAAW,KAAK,CAAC;AAAA,EAC/C;AAAA,EAEA,MAAM,KAAK,QAAiC,QAAgD;AACxF,UAAM,SAAS,KAAK,OAAO,QAAQ,MAAM;AAAA,EAC7C;AAAA,EAEA,MAAe,OAAqC;AAChD,UAAM,KAAK,MAAM;AACjB,WAAO,qBAAqB,KAAK,OAAO,KAAK,KAAK;AAAA,EACtD;AACJ;",
5
- "names": []
6
- }
@@ -1,232 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import {
7
- File,
8
- FileHandleTracker,
9
- FileTypeError
10
- } from "@matter/general";
11
- import { createReadStream } from "node:fs";
12
- import { open as fsOpen, rename as fsRename, mkdir, rm } from "node:fs/promises";
13
- import { basename, dirname, resolve } from "node:path";
14
- import { nodeExists, nodeStat, toBytes, writeData } from "./fs-utils.js";
15
- class NodeJsFile extends File {
16
- #fs;
17
- #path;
18
- #name;
19
- #cachedStat;
20
- constructor(fs, path, name, cachedStat) {
21
- super();
22
- this.#fs = fs;
23
- this.#path = path;
24
- this.#name = name;
25
- this.#cachedStat = cachedStat;
26
- }
27
- get fs() {
28
- return this.#fs;
29
- }
30
- get name() {
31
- return this.#name;
32
- }
33
- get path() {
34
- return this.#path;
35
- }
36
- async exists() {
37
- return nodeExists(this.#path);
38
- }
39
- stat() {
40
- if (this.#cachedStat) {
41
- return this.#cachedStat;
42
- }
43
- return nodeStat(this.#path);
44
- }
45
- async *readBytes() {
46
- const s = await nodeStat(this.#path);
47
- if (s.type === "directory") {
48
- throw new FileTypeError("Cannot read bytes from a directory");
49
- }
50
- const stream = createReadStream(this.#path);
51
- try {
52
- for await (const chunk of stream) {
53
- yield chunk;
54
- }
55
- } finally {
56
- stream.destroy();
57
- }
58
- }
59
- async *readText(options) {
60
- const s = await nodeStat(this.#path);
61
- if (s.type === "directory") {
62
- throw new FileTypeError("Cannot read text from a directory");
63
- }
64
- if (options?.lines) {
65
- const stream = createReadStream(this.#path, { encoding: "utf8" });
66
- try {
67
- let carry = "";
68
- for await (const chunk of stream) {
69
- const parts = (carry + chunk).split("\n");
70
- carry = parts.pop();
71
- yield* parts;
72
- }
73
- yield carry;
74
- } finally {
75
- stream.destroy();
76
- }
77
- } else {
78
- const stream = createReadStream(this.#path, { encoding: "utf8" });
79
- try {
80
- for await (const chunk of stream) {
81
- yield chunk;
82
- }
83
- } finally {
84
- stream.destroy();
85
- }
86
- }
87
- }
88
- async write(data) {
89
- await writeData(this.#path, data);
90
- }
91
- async open(purpose, mode) {
92
- const m = mode ?? "r";
93
- const flags = m === "w" ? "w" : m === "a" ? "a" : "r";
94
- if (flags === "w" || flags === "a") {
95
- await mkdir(dirname(this.#path), { recursive: true });
96
- }
97
- const fh = await fsOpen(this.#path, flags);
98
- return new NodeJsFileHandle({ fs: this.#fs, path: this.#path, name: this.#name, purpose, fh });
99
- }
100
- async rename(newName) {
101
- const newPath = resolve(dirname(this.#path), newName);
102
- await fsRename(this.#path, newPath);
103
- this.#path = newPath;
104
- this.#name = basename(newPath);
105
- }
106
- async delete() {
107
- await rm(this.#path, { recursive: true, force: true });
108
- }
109
- }
110
- class NodeJsFileHandle extends File.Handle {
111
- #fs;
112
- #path;
113
- #name;
114
- purpose;
115
- #fh;
116
- constructor(options) {
117
- super();
118
- this.#fs = options.fs;
119
- this.#path = options.path;
120
- this.#name = options.name;
121
- this.purpose = options.purpose;
122
- this.#fh = options.fh;
123
- FileHandleTracker.register(this);
124
- }
125
- get fs() {
126
- return this.#fs;
127
- }
128
- get name() {
129
- return this.#name;
130
- }
131
- get path() {
132
- return this.#path;
133
- }
134
- async exists() {
135
- return nodeExists(this.#path);
136
- }
137
- stat() {
138
- return nodeStat(this.#path);
139
- }
140
- async *readBytes() {
141
- const stream = createReadStream(this.#path);
142
- try {
143
- for await (const chunk of stream) {
144
- yield chunk;
145
- }
146
- } finally {
147
- stream.destroy();
148
- }
149
- }
150
- async *readText(options) {
151
- if (options?.lines) {
152
- const stream = createReadStream(this.#path, { encoding: "utf8" });
153
- try {
154
- let carry = "";
155
- for await (const chunk of stream) {
156
- const parts = (carry + chunk).split("\n");
157
- carry = parts.pop();
158
- yield* parts;
159
- }
160
- yield carry;
161
- } finally {
162
- stream.destroy();
163
- }
164
- } else {
165
- const stream = createReadStream(this.#path, { encoding: "utf8" });
166
- try {
167
- for await (const chunk of stream) {
168
- yield chunk;
169
- }
170
- } finally {
171
- stream.destroy();
172
- }
173
- }
174
- }
175
- async write(data) {
176
- await writeData(this.#path, data);
177
- }
178
- async open(_purpose) {
179
- return this;
180
- }
181
- async writeHandle(data) {
182
- if (typeof data === "string") {
183
- await this.#fh.write(data, void 0, "utf8");
184
- } else {
185
- await this.#fh.write(toBytes(data));
186
- }
187
- }
188
- cursor(max, bufferSize) {
189
- return new NodeJsCursor(this.#fh, max, bufferSize);
190
- }
191
- async truncate(size) {
192
- await this.#fh.truncate(size ?? 0);
193
- }
194
- async fsync() {
195
- await this.#fh.datasync();
196
- }
197
- async close() {
198
- FileHandleTracker.unregister(this);
199
- await this.#fh.close();
200
- }
201
- async rename(newName) {
202
- const newPath = resolve(dirname(this.#path), newName);
203
- await fsRename(this.#path, newPath);
204
- this.#path = newPath;
205
- this.#name = basename(newPath);
206
- }
207
- async delete() {
208
- await rm(this.#path, { recursive: true, force: true });
209
- }
210
- }
211
- class NodeJsCursor extends File.Cursor {
212
- #fh;
213
- #shared;
214
- constructor(fh, max, bufferSize) {
215
- super(max);
216
- this.#fh = fh;
217
- this.#shared = Buffer.alloc(bufferSize ?? 8192);
218
- }
219
- async readAt(position, length, copy) {
220
- if (copy || length > this.#shared.length) {
221
- const buf = Buffer.alloc(length);
222
- const { bytesRead: bytesRead2 } = await this.#fh.read(buf, 0, length, position);
223
- return bytesRead2 < length ? buf.subarray(0, bytesRead2) : buf;
224
- }
225
- const { bytesRead } = await this.#fh.read(this.#shared, 0, length, position);
226
- return this.#shared.subarray(0, bytesRead);
227
- }
228
- }
229
- export {
230
- NodeJsFile
231
- };
232
- //# sourceMappingURL=NodeJsFile.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fs/NodeJsFile.ts"],
4
- "mappings": "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",
5
- "names": ["bytesRead"]
6
- }
@@ -1,63 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { FileTypeError, Filesystem } from "@matter/general";
7
- import { mkdir, rm } from "node:fs/promises";
8
- import { tmpdir } from "node:os";
9
- import { resolve } from "node:path";
10
- import { NodeJsDirectory } from "./NodeJsDirectory.js";
11
- import { NodeJsFile } from "./NodeJsFile.js";
12
- import { nodeCopy, nodeEntries, nodeExists, nodeStat } from "./fs-utils.js";
13
- class NodeJsFilesystem extends Filesystem {
14
- #rootPath;
15
- #tempCounter = 0;
16
- constructor(workingDirectory) {
17
- super();
18
- this.#rootPath = workingDirectory;
19
- }
20
- get name() {
21
- return "";
22
- }
23
- get path() {
24
- return typeof this.#rootPath === "function" ? this.#rootPath() : this.#rootPath;
25
- }
26
- async exists() {
27
- return nodeExists(this.path);
28
- }
29
- stat() {
30
- return nodeStat(this.path);
31
- }
32
- rename() {
33
- throw new FileTypeError("Cannot rename root");
34
- }
35
- async delete() {
36
- await rm(this.path, { recursive: true, force: true });
37
- }
38
- async *entries() {
39
- yield* nodeEntries(this, this.path, NodeJsFile, NodeJsDirectory);
40
- }
41
- file(name) {
42
- return new NodeJsFile(this, resolve(this.path, name), name);
43
- }
44
- directory(name) {
45
- return new NodeJsDirectory(this, resolve(this.path, name), name);
46
- }
47
- async mkdir() {
48
- await mkdir(this.path, { recursive: true });
49
- }
50
- async copy(source, target) {
51
- await nodeCopy(this.path, source, target);
52
- }
53
- tempFilename() {
54
- return resolve(tmpdir(), `matter-${process.pid}-${Date.now()}-${this.#tempCounter++}`);
55
- }
56
- tempDirectory() {
57
- return new NodeJsDirectory(this, this.tempFilename(), "");
58
- }
59
- }
60
- export {
61
- NodeJsFilesystem
62
- };
63
- //# sourceMappingURL=NodeJsFilesystem.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fs/NodeJsFilesystem.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAA0B,eAAe,kBAAuC;AAChF,SAAS,OAAO,UAAU;AAC1B,SAAS,cAAc;AACvB,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,UAAU,aAAa,YAAY,gBAAgB;AAKrD,MAAM,yBAAyB,WAAW;AAAA,EACpC;AAAA,EACT,eAAe;AAAA,EAEf,YAAY,kBAA2C;AACnD,UAAM;AACN,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO;AAAA,EACX;AAAA,EAEA,IAAa,OAAO;AAChB,WAAO,OAAO,KAAK,cAAc,aAAa,KAAK,UAAU,IAAI,KAAK;AAAA,EAC1E;AAAA,EAEA,MAAM,SAA2B;AAC7B,WAAO,WAAW,KAAK,IAAI;AAAA,EAC/B;AAAA,EAEA,OAAqC;AACjC,WAAO,SAAS,KAAK,IAAI;AAAA,EAC7B;AAAA,EAEA,SAAwB;AACpB,UAAM,IAAI,cAAc,oBAAoB;AAAA,EAChD;AAAA,EAEA,MAAM,SAAwB;AAC1B,UAAM,GAAG,KAAK,MAAM,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAAA,EACxD;AAAA,EAEA,OAAO,UAA0C;AAC7C,WAAO,YAAY,MAAM,KAAK,MAAM,YAAY,eAAe;AAAA,EACnE;AAAA,EAEA,KAAK,MAAoB;AACrB,WAAO,IAAI,WAAW,MAAM,QAAQ,KAAK,MAAM,IAAI,GAAG,IAAI;AAAA,EAC9D;AAAA,EAEA,UAAU,MAAyB;AAC/B,WAAO,IAAI,gBAAgB,MAAM,QAAQ,KAAK,MAAM,IAAI,GAAG,IAAI;AAAA,EACnE;AAAA,EAEA,MAAM,QAAuB;AACzB,UAAM,MAAM,KAAK,MAAM,EAAE,WAAW,KAAK,CAAC;AAAA,EAC9C;AAAA,EAEA,MAAM,KAAK,QAAiC,QAAgD;AACxF,UAAM,SAAS,KAAK,MAAM,QAAQ,MAAM;AAAA,EAC5C;AAAA,EAEA,eAAuB;AACnB,WAAO,QAAQ,OAAO,GAAG,UAAU,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AAAA,EACzF;AAAA,EAEA,gBAA2B;AACvB,WAAO,IAAI,gBAAgB,MAAM,KAAK,aAAa,GAAG,EAAE;AAAA,EAC5D;AACJ;",
5
- "names": []
6
- }
@@ -1,137 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import {
7
- FileNotFoundError,
8
- FileTypeError
9
- } from "@matter/general";
10
- import { createWriteStream } from "node:fs";
11
- import { cp, readdir, rm, stat, writeFile } from "node:fs/promises";
12
- import { resolve } from "node:path";
13
- import { finished } from "node:stream/promises";
14
- async function nodeExists(path) {
15
- try {
16
- await stat(path);
17
- return true;
18
- } catch (e) {
19
- if (e.code === "ENOENT") {
20
- return false;
21
- }
22
- throw e;
23
- }
24
- }
25
- async function nodeStat(path) {
26
- let s;
27
- try {
28
- s = await stat(path);
29
- } catch (e) {
30
- if (e.code === "ENOENT") {
31
- throw new FileNotFoundError(`Not found: ${path}`);
32
- }
33
- throw e;
34
- }
35
- return {
36
- size: s.size,
37
- mtime: s.mtime,
38
- type: s.isDirectory() ? "directory" : "file"
39
- };
40
- }
41
- async function* nodeEntries(fs, dirPath, FileClass, DirClass) {
42
- const dirents = await readdir(dirPath, { withFileTypes: true });
43
- for (const dirent of dirents) {
44
- const fullPath = resolve(dirPath, dirent.name);
45
- const s = await stat(fullPath);
46
- const cached = {
47
- size: s.size,
48
- mtime: s.mtime,
49
- type: dirent.isDirectory() ? "directory" : "file"
50
- };
51
- if (dirent.isDirectory()) {
52
- yield new DirClass(fs, fullPath, dirent.name, cached);
53
- } else {
54
- yield new FileClass(fs, fullPath, dirent.name, cached);
55
- }
56
- }
57
- }
58
- function resolveCopyArg(basePath, arg) {
59
- if (typeof arg === "string") {
60
- return resolve(basePath, arg);
61
- }
62
- if ("path" in arg && typeof arg.path === "string") {
63
- return arg.path;
64
- }
65
- throw new FileTypeError("Cannot resolve path for copy argument");
66
- }
67
- async function nodeCopy(basePath, source, target) {
68
- const srcPath = resolveCopyArg(basePath, source);
69
- const dstPath = resolveCopyArg(basePath, target);
70
- await cp(srcPath, dstPath, { recursive: true });
71
- }
72
- async function nodeDelete(path) {
73
- await rm(path, { recursive: true, force: true });
74
- }
75
- function isBytes(value) {
76
- return ArrayBuffer.isView(value) || value instanceof ArrayBuffer || value instanceof SharedArrayBuffer;
77
- }
78
- function toBytes(value) {
79
- return value instanceof Uint8Array ? value : new Uint8Array(ArrayBuffer.isView(value) ? value.buffer : value);
80
- }
81
- async function streamWrite(ws, chunk) {
82
- if (!ws.write(chunk)) {
83
- await new Promise((resolve2) => ws.once("drain", resolve2));
84
- }
85
- }
86
- async function writeData(path, data) {
87
- if (typeof data === "string") {
88
- await writeFile(path, data, "utf8");
89
- return;
90
- }
91
- if (isBytes(data)) {
92
- await writeFile(path, toBytes(data));
93
- return;
94
- }
95
- const iter = Symbol.asyncIterator in data ? data[Symbol.asyncIterator]() : data[Symbol.iterator]();
96
- const first = await iter.next();
97
- if (first.done) {
98
- await writeFile(path, new Uint8Array(0));
99
- return;
100
- }
101
- const isText = typeof first.value === "string";
102
- const ws = createWriteStream(path, isText ? { encoding: "utf8" } : void 0);
103
- try {
104
- if (isText) {
105
- await streamWrite(ws, first.value);
106
- while (true) {
107
- const next = await iter.next();
108
- if (next.done) break;
109
- await streamWrite(ws, "\n" + next.value);
110
- }
111
- } else {
112
- await streamWrite(ws, toBytes(first.value));
113
- while (true) {
114
- const next = await iter.next();
115
- if (next.done) break;
116
- await streamWrite(ws, toBytes(next.value));
117
- }
118
- }
119
- ws.end();
120
- await finished(ws);
121
- } catch (e) {
122
- ws.destroy();
123
- throw e;
124
- }
125
- }
126
- export {
127
- isBytes,
128
- nodeCopy,
129
- nodeDelete,
130
- nodeEntries,
131
- nodeExists,
132
- nodeStat,
133
- resolveCopyArg,
134
- toBytes,
135
- writeData
136
- };
137
- //# sourceMappingURL=fs-utils.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fs/fs-utils.ts"],
4
- "mappings": "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",
5
- "names": ["resolve"]
6
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export * from "./NodeJsFilesystem.js";
7
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/fs/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;",
5
- "names": []
6
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Logger, StorageLockError } from "@matter/general";
7
- import { randomBytes } from "node:crypto";
8
- import { open as fsOpen, readFile, stat, unlink, writeFile } from "node:fs/promises";
9
- import { resolve } from "node:path";
10
- const logger = Logger.get("NodeJsDirectoryLock");
11
- const LOCK_FILE = "matter.lock";
12
- const PID_FILE = "matter.pid";
13
- const PROCESS_TOKEN = randomBytes(8).toString("hex");
14
- async function acquireDirectoryLock(dirPath, dirName) {
15
- const lockPath = resolve(dirPath, LOCK_FILE);
16
- const pidPath = resolve(dirPath, PID_FILE);
17
- if (!await dirExists(dirPath)) {
18
- return async () => {
19
- };
20
- }
21
- await acquireLock(lockPath, pidPath);
22
- await writeFile(pidPath, `${process.pid} ${PROCESS_TOKEN}`);
23
- logger.debug("Acquired storage lock for", dirName, "pid", process.pid);
24
- return async () => {
25
- await safeUnlink(pidPath);
26
- await safeUnlink(lockPath);
27
- logger.debug("Released storage lock for", dirName);
28
- };
29
- }
30
- async function acquireLock(lockPath, pidPath) {
31
- try {
32
- const fd = await fsOpen(lockPath, "wx");
33
- await fd.close();
34
- } catch (error) {
35
- if (error.code !== "EEXIST") {
36
- throw error;
37
- }
38
- const info = await readLockInfo(pidPath);
39
- if (isStale(info)) {
40
- logger.info("Cleaning stale storage lock");
41
- await safeUnlink(pidPath);
42
- await safeUnlink(lockPath);
43
- try {
44
- const fd = await fsOpen(lockPath, "wx");
45
- await fd.close();
46
- } catch (retryError) {
47
- if (retryError.code === "EEXIST") {
48
- throw new StorageLockError("Storage is locked by another process (lock reclaimed during retry)");
49
- }
50
- throw retryError;
51
- }
52
- } else if (info?.pid === process.pid) {
53
- throw new StorageLockError("Storage is already locked by this process");
54
- } else {
55
- throw new StorageLockError(`Storage is locked by another process (pid ${info?.pid})`);
56
- }
57
- }
58
- }
59
- function isStale(info) {
60
- if (info === void 0) {
61
- return true;
62
- }
63
- if (info.pid === process.pid) {
64
- return info.token !== PROCESS_TOKEN;
65
- }
66
- try {
67
- process.kill(info.pid, 0);
68
- return false;
69
- } catch (error) {
70
- if (error.code === "ESRCH") {
71
- return true;
72
- }
73
- return false;
74
- }
75
- }
76
- async function readLockInfo(pidPath) {
77
- try {
78
- const content = await readFile(pidPath, "utf-8");
79
- const parts = content.trim().split(/\s+/);
80
- const pid = parseInt(parts[0], 10);
81
- if (!Number.isFinite(pid) || pid <= 0) {
82
- return void 0;
83
- }
84
- return { pid, token: parts[1] };
85
- } catch {
86
- return void 0;
87
- }
88
- }
89
- async function dirExists(path) {
90
- try {
91
- const s = await stat(path);
92
- return s.isDirectory();
93
- } catch (e) {
94
- if (e.code === "ENOENT") {
95
- return false;
96
- }
97
- throw e;
98
- }
99
- }
100
- async function safeUnlink(path) {
101
- try {
102
- await unlink(path);
103
- } catch (error) {
104
- if (error.code !== "ENOENT") {
105
- throw error;
106
- }
107
- }
108
- }
109
- export {
110
- acquireDirectoryLock
111
- };
112
- //# sourceMappingURL=lock-utils.js.map