@intentic/base 1.315.0 → 1.317.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/fs.d.ts +4 -1
- package/dist/node/fs.d.ts.map +1 -1
- package/dist/node/fs.js +36 -3
- package/dist/node/fs.js.map +1 -1
- package/package.json +1 -1
package/dist/node/fs.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export declare const pathExists: (path: string) => Promise<boolean>;
|
|
2
2
|
export declare const queueOnFile: <T>(path: string, task: () => Promise<T>) => Promise<T>;
|
|
3
|
-
export
|
|
3
|
+
export interface WriteOptions {
|
|
4
|
+
readonly durable?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const writeFileAtomic: (path: string, content: string | Uint8Array, mode?: number, options?: WriteOptions) => Promise<void>;
|
|
4
7
|
export declare const freePort: (host?: string) => Promise<number>;
|
|
5
8
|
//# sourceMappingURL=fs.d.ts.map
|
package/dist/node/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/node/fs.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,SAAgB,MAAM,KAAG,OAAO,CAAC,OAAO,CAI1D,CAAC;AAMN,eAAO,MAAM,WAAW,GAAI,CAAC,QAAQ,MAAM,QAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAe9E,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/node/fs.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,SAAgB,MAAM,KAAG,OAAO,CAAC,OAAO,CAI1D,CAAC;AAMN,eAAO,MAAM,WAAW,GAAI,CAAC,QAAQ,MAAM,QAAQ,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAe9E,CAAC;AAuDF,MAAM,WAAW,YAAY;IAGzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,eAAO,MAAM,eAAe,SAAgB,MAAM,WAAW,MAAM,GAAG,UAAU,SAAS,MAAM,YAAW,YAAY,KAAQ,OAAO,CAAC,IAAI,CAsBzI,CAAC;AAGF,eAAO,MAAM,QAAQ,qBAAyB,OAAO,CAAC,MAAM,CAStD,CAAC"}
|
package/dist/node/fs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { access, chmod, mkdir, rename, rm, writeFile } from "node:fs/promises";
|
|
1
|
+
import { access, chmod, mkdir, open, rename, rm, writeFile } from "node:fs/promises";
|
|
2
2
|
import { createServer } from "node:net";
|
|
3
3
|
import { basename, dirname, join, resolve } from "node:path";
|
|
4
4
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
@@ -35,16 +35,49 @@ const renameOver = async (from, to) => {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
let writes = 0;
|
|
38
|
-
|
|
38
|
+
const writeDurably = async (staging, content, mode) => {
|
|
39
|
+
const handle = await open(staging, "w", mode);
|
|
40
|
+
try {
|
|
41
|
+
await handle.writeFile(content);
|
|
42
|
+
await handle.sync();
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
await handle.close();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const syncDirectory = async (dir) => {
|
|
49
|
+
if (process.platform === "win32") {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
let handle;
|
|
53
|
+
try {
|
|
54
|
+
handle = await open(dir, "r");
|
|
55
|
+
await handle.sync();
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
await handle?.close();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export const writeFileAtomic = async (path, content, mode, options = {}) => {
|
|
39
64
|
writes += 1;
|
|
40
65
|
const staging = join(dirname(path), `.${basename(path)}.${process.pid}.${writes}.tmp`);
|
|
41
66
|
await mkdir(dirname(path), { recursive: true });
|
|
42
67
|
try {
|
|
43
|
-
|
|
68
|
+
if (options.durable === true) {
|
|
69
|
+
await writeDurably(staging, content, mode);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
await writeFile(staging, content, mode === undefined ? undefined : { mode });
|
|
73
|
+
}
|
|
44
74
|
if (mode !== undefined) {
|
|
45
75
|
await chmod(staging, mode);
|
|
46
76
|
}
|
|
47
77
|
await renameOver(staging, path);
|
|
78
|
+
if (options.durable === true) {
|
|
79
|
+
await syncDirectory(dirname(path));
|
|
80
|
+
}
|
|
48
81
|
}
|
|
49
82
|
finally {
|
|
50
83
|
await rm(staging, { force: true });
|
package/dist/node/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/node/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/node/fs.ts"],"names":[],"mappings":"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"}
|