@soda-gql/common 0.11.10 → 0.11.11

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 (63) hide show
  1. package/dist/{canonical-id-BJahCcrS.mjs → canonical-id-9alor9gv.mjs} +66 -7
  2. package/dist/canonical-id-9alor9gv.mjs.map +1 -0
  3. package/dist/{canonical-id-CgMNOZyn.cjs → canonical-id-DHdeYIsT.cjs} +76 -5
  4. package/dist/canonical-id-DHdeYIsT.cjs.map +1 -0
  5. package/dist/canonical-id.cjs +5 -3
  6. package/dist/canonical-id.d.cts +2 -2
  7. package/dist/canonical-id.d.mts +2 -2
  8. package/dist/canonical-id.mjs +3 -3
  9. package/dist/{index-Cm2Zwk9m.d.cts → index-AqkJhrm3.d.mts} +53 -3
  10. package/dist/index-AqkJhrm3.d.mts.map +1 -0
  11. package/dist/index-BCu9PNbZ.d.mts +139 -0
  12. package/dist/index-BCu9PNbZ.d.mts.map +1 -0
  13. package/dist/{index-D1tzB3W5.d.cts → index-BMa2_rDb.d.mts} +6 -35
  14. package/dist/index-BMa2_rDb.d.mts.map +1 -0
  15. package/dist/index-BMl8pzFY.d.cts +139 -0
  16. package/dist/index-BMl8pzFY.d.cts.map +1 -0
  17. package/dist/{index-B424kKYS.d.mts → index-CbQyueYV.d.cts} +6 -35
  18. package/dist/index-CbQyueYV.d.cts.map +1 -0
  19. package/dist/{index-CPpVc8Id.d.mts → index-DZSebwar.d.cts} +53 -3
  20. package/dist/index-DZSebwar.d.cts.map +1 -0
  21. package/dist/index-Dit86qkX.d.mts.map +1 -1
  22. package/dist/index.cjs +9 -7
  23. package/dist/index.d.cts +4 -4
  24. package/dist/index.d.mts +4 -4
  25. package/dist/index.mjs +4 -4
  26. package/dist/portable-B3K3IE7E.cjs +239 -0
  27. package/dist/portable-B3K3IE7E.cjs.map +1 -0
  28. package/dist/portable-BFrcBOaX.mjs +196 -0
  29. package/dist/portable-BFrcBOaX.mjs.map +1 -0
  30. package/dist/portable.cjs +2 -5
  31. package/dist/portable.d.cts +2 -2
  32. package/dist/portable.d.mts +2 -2
  33. package/dist/portable.mjs +2 -2
  34. package/dist/utils-Rs7YbafF.cjs +431 -0
  35. package/dist/utils-Rs7YbafF.cjs.map +1 -0
  36. package/dist/utils-ZCE_eqCf.mjs +371 -0
  37. package/dist/utils-ZCE_eqCf.mjs.map +1 -0
  38. package/dist/utils.cjs +4 -1
  39. package/dist/utils.d.cts +2 -2
  40. package/dist/utils.d.mts +2 -2
  41. package/dist/utils.mjs +2 -2
  42. package/dist/{zod-C_6JfuYV.cjs → zod-DjI3IUH3.cjs} +2 -2
  43. package/dist/{zod-C_6JfuYV.cjs.map → zod-DjI3IUH3.cjs.map} +1 -1
  44. package/dist/zod.cjs +1 -1
  45. package/package.json +1 -1
  46. package/dist/canonical-id-BJahCcrS.mjs.map +0 -1
  47. package/dist/canonical-id-CgMNOZyn.cjs.map +0 -1
  48. package/dist/index-B424kKYS.d.mts.map +0 -1
  49. package/dist/index-CPpVc8Id.d.mts.map +0 -1
  50. package/dist/index-Cm2Zwk9m.d.cts.map +0 -1
  51. package/dist/index-D1tzB3W5.d.cts.map +0 -1
  52. package/dist/index-Dv8spPt0.d.mts +0 -61
  53. package/dist/index-Dv8spPt0.d.mts.map +0 -1
  54. package/dist/index-LaXfl_e_.d.cts +0 -61
  55. package/dist/index-LaXfl_e_.d.cts.map +0 -1
  56. package/dist/portable-BT3ahkQN.mjs +0 -391
  57. package/dist/portable-BT3ahkQN.mjs.map +0 -1
  58. package/dist/portable-cJqkfeHw.cjs +0 -451
  59. package/dist/portable-cJqkfeHw.cjs.map +0 -1
  60. package/dist/utils-CsTwS1dw.cjs +0 -148
  61. package/dist/utils-CsTwS1dw.cjs.map +0 -1
  62. package/dist/utils-DLEgAn7q.mjs +0 -106
  63. package/dist/utils-DLEgAn7q.mjs.map +0 -1
@@ -0,0 +1,239 @@
1
+ const require_canonical_id = require('./canonical-id-DHdeYIsT.cjs');
2
+ let node_crypto = require("node:crypto");
3
+
4
+ //#region packages/common/src/portable/fs.ts
5
+ let nodeFsPromises = null;
6
+ const getNodeFS = async () => {
7
+ if (!nodeFsPromises) {
8
+ const fs = await import("node:fs/promises");
9
+ nodeFsPromises = fs;
10
+ }
11
+ return nodeFsPromises;
12
+ };
13
+ let nodeFsSync = null;
14
+ const getNodeFSSync = () => {
15
+ if (!nodeFsSync) {
16
+ nodeFsSync = require("node:fs");
17
+ }
18
+ return nodeFsSync;
19
+ };
20
+ let pathModule = null;
21
+ const getPathModule = () => {
22
+ if (!pathModule) {
23
+ pathModule = require("node:path");
24
+ }
25
+ return pathModule;
26
+ };
27
+ /**
28
+ * Generate a unique temp file path for atomic write.
29
+ */
30
+ const getTempPath = (targetPath) => {
31
+ return `${targetPath}.${process.pid}.${Date.now()}.tmp`;
32
+ };
33
+ function createPortableFS() {
34
+ return {
35
+ async readFile(path) {
36
+ const nodeFS = await getNodeFS();
37
+ return await nodeFS.readFile(path, "utf-8");
38
+ },
39
+ async writeFile(path, content) {
40
+ const nodeFS = await getNodeFS();
41
+ const pathModule$1 = await import("node:path");
42
+ const dir = pathModule$1.dirname(path);
43
+ await nodeFS.mkdir(dir, { recursive: true });
44
+ await nodeFS.writeFile(path, content, "utf-8");
45
+ },
46
+ async writeFileAtomic(path, content) {
47
+ const nodeFS = await getNodeFS();
48
+ const pathMod = await import("node:path");
49
+ const dir = pathMod.dirname(path);
50
+ const tempPath = getTempPath(path);
51
+ try {
52
+ await nodeFS.mkdir(dir, { recursive: true });
53
+ await nodeFS.writeFile(tempPath, content, "utf-8");
54
+ await nodeFS.rename(tempPath, path);
55
+ } catch (error) {
56
+ try {
57
+ await nodeFS.unlink(tempPath);
58
+ } catch {}
59
+ throw error;
60
+ }
61
+ },
62
+ async exists(path) {
63
+ const nodeFS = await getNodeFS();
64
+ try {
65
+ await nodeFS.access(path);
66
+ return true;
67
+ } catch {
68
+ return false;
69
+ }
70
+ },
71
+ async stat(path) {
72
+ const nodeFS = await getNodeFS();
73
+ const stats = await nodeFS.stat(path);
74
+ return {
75
+ mtime: stats.mtime,
76
+ size: stats.size
77
+ };
78
+ },
79
+ async rename(oldPath, newPath) {
80
+ const nodeFS = await getNodeFS();
81
+ await nodeFS.rename(oldPath, newPath);
82
+ },
83
+ async mkdir(path, options) {
84
+ const nodeFS = await getNodeFS();
85
+ await nodeFS.mkdir(path, options);
86
+ },
87
+ writeFileSyncAtomic(path, content) {
88
+ const fsSync = getNodeFSSync();
89
+ const pathMod = getPathModule();
90
+ const tempPath = getTempPath(path);
91
+ const dir = pathMod.dirname(path);
92
+ fsSync.mkdirSync(dir, { recursive: true });
93
+ try {
94
+ fsSync.writeFileSync(tempPath, content, "utf-8");
95
+ fsSync.renameSync(tempPath, path);
96
+ } catch (error) {
97
+ try {
98
+ fsSync.unlinkSync(tempPath);
99
+ } catch {}
100
+ throw error;
101
+ }
102
+ },
103
+ async unlink(path) {
104
+ const nodeFS = await getNodeFS();
105
+ try {
106
+ await nodeFS.unlink(path);
107
+ } catch (error) {
108
+ if (error.code !== "ENOENT") {
109
+ throw error;
110
+ }
111
+ }
112
+ },
113
+ unlinkSync(path) {
114
+ const fsSync = getNodeFSSync();
115
+ try {
116
+ fsSync.unlinkSync(path);
117
+ } catch (error) {
118
+ if (error.code !== "ENOENT") {
119
+ throw error;
120
+ }
121
+ }
122
+ },
123
+ readFileSync(path) {
124
+ const fsSync = getNodeFSSync();
125
+ return fsSync.readFileSync(path, "utf-8");
126
+ }
127
+ };
128
+ }
129
+ let fsInstance = null;
130
+ function getPortableFS() {
131
+ if (!fsInstance) {
132
+ fsInstance = createPortableFS();
133
+ }
134
+ return fsInstance;
135
+ }
136
+ /**
137
+ * Reset the filesystem singleton for testing
138
+ * @internal
139
+ */
140
+ function __resetPortableFSForTests() {
141
+ fsInstance = null;
142
+ }
143
+
144
+ //#endregion
145
+ //#region packages/common/src/portable/hash.ts
146
+ /**
147
+ * Portable hashing API using Node.js crypto
148
+ */
149
+ function createPortableHasher() {
150
+ return { hash(content, algorithm = "xxhash") {
151
+ if (algorithm === "sha256") {
152
+ return (0, node_crypto.createHash)("sha256").update(content).digest("hex");
153
+ }
154
+ const sha256Hash = (0, node_crypto.createHash)("sha256").update(content).digest("hex");
155
+ return sha256Hash.substring(0, 16);
156
+ } };
157
+ }
158
+ let hasherInstance = null;
159
+ function getPortableHasher() {
160
+ if (!hasherInstance) {
161
+ hasherInstance = createPortableHasher();
162
+ }
163
+ return hasherInstance;
164
+ }
165
+ /**
166
+ * Reset the hasher singleton for testing
167
+ * @internal
168
+ */
169
+ function __resetPortableHasherForTests() {
170
+ hasherInstance = null;
171
+ }
172
+
173
+ //#endregion
174
+ //#region packages/common/src/portable/runtime.ts
175
+ /**
176
+ * Runtime detection utilities for portable API implementation
177
+ * Note: Bun-specific code has been removed. Node.js APIs are always used.
178
+ */
179
+ const runtime = {
180
+ isBun: false,
181
+ isNode: typeof process !== "undefined",
182
+ supportsWebCrypto: typeof crypto !== "undefined" && typeof crypto.subtle !== "undefined"
183
+ };
184
+ /**
185
+ * Reset runtime state for testing purposes only
186
+ * @internal
187
+ */
188
+ function resetPortableForTests() {}
189
+
190
+ //#endregion
191
+ Object.defineProperty(exports, '__resetPortableFSForTests', {
192
+ enumerable: true,
193
+ get: function () {
194
+ return __resetPortableFSForTests;
195
+ }
196
+ });
197
+ Object.defineProperty(exports, '__resetPortableHasherForTests', {
198
+ enumerable: true,
199
+ get: function () {
200
+ return __resetPortableHasherForTests;
201
+ }
202
+ });
203
+ Object.defineProperty(exports, 'createPortableFS', {
204
+ enumerable: true,
205
+ get: function () {
206
+ return createPortableFS;
207
+ }
208
+ });
209
+ Object.defineProperty(exports, 'createPortableHasher', {
210
+ enumerable: true,
211
+ get: function () {
212
+ return createPortableHasher;
213
+ }
214
+ });
215
+ Object.defineProperty(exports, 'getPortableFS', {
216
+ enumerable: true,
217
+ get: function () {
218
+ return getPortableFS;
219
+ }
220
+ });
221
+ Object.defineProperty(exports, 'getPortableHasher', {
222
+ enumerable: true,
223
+ get: function () {
224
+ return getPortableHasher;
225
+ }
226
+ });
227
+ Object.defineProperty(exports, 'resetPortableForTests', {
228
+ enumerable: true,
229
+ get: function () {
230
+ return resetPortableForTests;
231
+ }
232
+ });
233
+ Object.defineProperty(exports, 'runtime', {
234
+ enumerable: true,
235
+ get: function () {
236
+ return runtime;
237
+ }
238
+ });
239
+ //# sourceMappingURL=portable-B3K3IE7E.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-B3K3IE7E.cjs","names":["nodeFsPromises: FSPromises | null","nodeFsSync: FSSync | null","pathModule: { dirname: (path: string) => string } | null","pathModule","fsInstance: PortableFS | null","hasherInstance: PortableHasher | null"],"sources":["../src/portable/fs.ts","../src/portable/hash.ts","../src/portable/runtime.ts"],"sourcesContent":["/**\n * Portable filesystem API using Node.js fs\n */\n\nexport interface PortableFS {\n readFile(path: string): Promise<string>;\n writeFile(path: string, content: string): Promise<void>;\n /**\n * Write a file atomically using temp file + rename pattern.\n * This prevents partial/corrupt writes on crash.\n */\n writeFileAtomic(path: string, content: string): Promise<void>;\n exists(path: string): Promise<boolean>;\n stat(path: string): Promise<{ mtime: Date; size: number }>;\n rename(oldPath: string, newPath: string): Promise<void>;\n mkdir(path: string, options?: { recursive?: boolean }): Promise<void>;\n /**\n * Write a file synchronously and atomically using temp file + rename pattern.\n * Safe for use in beforeExit handlers.\n */\n writeFileSyncAtomic(path: string, content: string): void;\n /**\n * Remove a file. Does not throw if file doesn't exist.\n */\n unlink(path: string): Promise<void>;\n /**\n * Remove a file synchronously. Does not throw if file doesn't exist.\n */\n unlinkSync(path: string): void;\n /**\n * Read a file synchronously.\n */\n readFileSync(path: string): string;\n}\n\ninterface FSPromises {\n readFile: (path: string, encoding: string) => Promise<string>;\n writeFile: (path: string, content: string, encoding: string) => Promise<void>;\n access: (path: string) => Promise<void>;\n stat: (path: string) => Promise<{\n mtime: Date;\n size: number;\n isDirectory: () => boolean;\n }>;\n rename: (oldPath: string, newPath: string) => Promise<void>;\n mkdir: (path: string, options?: { recursive?: boolean }) => Promise<void>;\n unlink: (path: string) => Promise<void>;\n}\n\ninterface FSSync {\n writeFileSync: (path: string, content: string, encoding: string) => void;\n renameSync: (oldPath: string, newPath: string) => void;\n unlinkSync: (path: string) => void;\n readFileSync: (path: string, encoding: string) => string;\n mkdirSync: (path: string, options?: { recursive?: boolean }) => void;\n}\n\n// Cache the fs/promises import\nlet nodeFsPromises: FSPromises | null = null;\nconst getNodeFS = async (): Promise<FSPromises> => {\n if (!nodeFsPromises) {\n const fs = await import(\"node:fs/promises\");\n nodeFsPromises = fs as FSPromises;\n }\n return nodeFsPromises;\n};\n\n// Cache the sync fs import\nlet nodeFsSync: FSSync | null = null;\nconst getNodeFSSync = (): FSSync => {\n if (!nodeFsSync) {\n // Use require for sync loading\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n nodeFsSync = require(\"node:fs\") as FSSync;\n }\n return nodeFsSync;\n};\n\n// Cache path module\nlet pathModule: { dirname: (path: string) => string } | null = null;\nconst getPathModule = (): { dirname: (path: string) => string } => {\n if (!pathModule) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n pathModule = require(\"node:path\") as { dirname: (path: string) => string };\n }\n return pathModule;\n};\n\n/**\n * Generate a unique temp file path for atomic write.\n */\nconst getTempPath = (targetPath: string): string => {\n return `${targetPath}.${process.pid}.${Date.now()}.tmp`;\n};\n\nexport function createPortableFS(): PortableFS {\n return {\n async readFile(path) {\n const nodeFS = await getNodeFS();\n return await nodeFS.readFile(path, \"utf-8\");\n },\n\n async writeFile(path, content) {\n const nodeFS = await getNodeFS();\n // Auto-create parent directories like Bun.write does\n const pathModule = await import(\"node:path\");\n const dir = pathModule.dirname(path);\n await nodeFS.mkdir(dir, { recursive: true });\n await nodeFS.writeFile(path, content, \"utf-8\");\n },\n\n async writeFileAtomic(path, content) {\n const nodeFS = await getNodeFS();\n const pathMod = await import(\"node:path\");\n const dir = pathMod.dirname(path);\n const tempPath = getTempPath(path);\n\n try {\n await nodeFS.mkdir(dir, { recursive: true });\n await nodeFS.writeFile(tempPath, content, \"utf-8\");\n await nodeFS.rename(tempPath, path);\n } catch (error) {\n // Clean up temp file on failure\n try {\n await nodeFS.unlink(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n },\n\n async exists(path) {\n const nodeFS = await getNodeFS();\n try {\n await nodeFS.access(path);\n return true;\n } catch {\n return false;\n }\n },\n\n async stat(path) {\n const nodeFS = await getNodeFS();\n const stats = await nodeFS.stat(path);\n return { mtime: stats.mtime, size: stats.size };\n },\n\n async rename(oldPath, newPath) {\n const nodeFS = await getNodeFS();\n await nodeFS.rename(oldPath, newPath);\n },\n\n async mkdir(path, options) {\n const nodeFS = await getNodeFS();\n await nodeFS.mkdir(path, options);\n },\n\n writeFileSyncAtomic(path, content) {\n const fsSync = getNodeFSSync();\n const pathMod = getPathModule();\n const tempPath = getTempPath(path);\n\n // Ensure parent directory exists\n const dir = pathMod.dirname(path);\n fsSync.mkdirSync(dir, { recursive: true });\n\n try {\n fsSync.writeFileSync(tempPath, content, \"utf-8\");\n fsSync.renameSync(tempPath, path);\n } catch (error) {\n // Clean up temp file on failure\n try {\n fsSync.unlinkSync(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n },\n\n async unlink(path) {\n const nodeFS = await getNodeFS();\n try {\n await nodeFS.unlink(path);\n } catch (error) {\n // Ignore ENOENT (file not found)\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") {\n throw error;\n }\n }\n },\n\n unlinkSync(path) {\n const fsSync = getNodeFSSync();\n try {\n fsSync.unlinkSync(path);\n } catch (error) {\n // Ignore ENOENT (file not found)\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") {\n throw error;\n }\n }\n },\n\n readFileSync(path) {\n const fsSync = getNodeFSSync();\n return fsSync.readFileSync(path, \"utf-8\");\n },\n };\n}\n\n// Singleton to avoid recreating instances\nlet fsInstance: PortableFS | null = null;\n\nexport function getPortableFS(): PortableFS {\n if (!fsInstance) {\n fsInstance = createPortableFS();\n }\n return fsInstance;\n}\n\n/**\n * Reset the filesystem singleton for testing\n * @internal\n */\nexport function __resetPortableFSForTests(): void {\n fsInstance = null;\n}\n","/**\n * Portable hashing API using Node.js crypto\n */\n\nimport { createHash } from \"node:crypto\";\n\nexport type HashAlgorithm = \"sha256\" | \"xxhash\";\n\nexport interface PortableHasher {\n hash(content: string, algorithm?: HashAlgorithm): string;\n}\n\nexport function createPortableHasher(): PortableHasher {\n return {\n hash(content, algorithm = \"xxhash\") {\n if (algorithm === \"sha256\") {\n return createHash(\"sha256\").update(content).digest(\"hex\");\n }\n // xxhash fallback: use sha256 truncated to 16 chars\n const sha256Hash = createHash(\"sha256\").update(content).digest(\"hex\");\n return sha256Hash.substring(0, 16);\n },\n };\n}\n\n// Singleton to avoid recreating instances\nlet hasherInstance: PortableHasher | null = null;\n\nexport function getPortableHasher(): PortableHasher {\n if (!hasherInstance) {\n hasherInstance = createPortableHasher();\n }\n return hasherInstance;\n}\n\n/**\n * Reset the hasher singleton for testing\n * @internal\n */\nexport function __resetPortableHasherForTests(): void {\n hasherInstance = null;\n}\n","/**\n * Runtime detection utilities for portable API implementation\n * Note: Bun-specific code has been removed. Node.js APIs are always used.\n */\n\nexport const runtime = {\n isBun: false,\n isNode: typeof process !== \"undefined\",\n supportsWebCrypto: typeof crypto !== \"undefined\" && typeof crypto.subtle !== \"undefined\",\n} as const;\n\n/**\n * Reset runtime state for testing purposes only\n * @internal\n */\nexport function resetPortableForTests(): void {\n // This is a marker function that portable modules can use\n // to reset their singleton state in tests\n}\n"],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ import { createRequire } from "node:module";
2
+ import { createHash } from "node:crypto";
3
+
4
+ //#region rolldown:runtime
5
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
6
+
7
+ //#endregion
8
+ //#region packages/common/src/portable/fs.ts
9
+ let nodeFsPromises = null;
10
+ const getNodeFS = async () => {
11
+ if (!nodeFsPromises) {
12
+ const fs = await import("node:fs/promises");
13
+ nodeFsPromises = fs;
14
+ }
15
+ return nodeFsPromises;
16
+ };
17
+ let nodeFsSync = null;
18
+ const getNodeFSSync = () => {
19
+ if (!nodeFsSync) {
20
+ nodeFsSync = __require("node:fs");
21
+ }
22
+ return nodeFsSync;
23
+ };
24
+ let pathModule = null;
25
+ const getPathModule = () => {
26
+ if (!pathModule) {
27
+ pathModule = __require("node:path");
28
+ }
29
+ return pathModule;
30
+ };
31
+ /**
32
+ * Generate a unique temp file path for atomic write.
33
+ */
34
+ const getTempPath = (targetPath) => {
35
+ return `${targetPath}.${process.pid}.${Date.now()}.tmp`;
36
+ };
37
+ function createPortableFS() {
38
+ return {
39
+ async readFile(path) {
40
+ const nodeFS = await getNodeFS();
41
+ return await nodeFS.readFile(path, "utf-8");
42
+ },
43
+ async writeFile(path, content) {
44
+ const nodeFS = await getNodeFS();
45
+ const pathModule$1 = await import("node:path");
46
+ const dir = pathModule$1.dirname(path);
47
+ await nodeFS.mkdir(dir, { recursive: true });
48
+ await nodeFS.writeFile(path, content, "utf-8");
49
+ },
50
+ async writeFileAtomic(path, content) {
51
+ const nodeFS = await getNodeFS();
52
+ const pathMod = await import("node:path");
53
+ const dir = pathMod.dirname(path);
54
+ const tempPath = getTempPath(path);
55
+ try {
56
+ await nodeFS.mkdir(dir, { recursive: true });
57
+ await nodeFS.writeFile(tempPath, content, "utf-8");
58
+ await nodeFS.rename(tempPath, path);
59
+ } catch (error) {
60
+ try {
61
+ await nodeFS.unlink(tempPath);
62
+ } catch {}
63
+ throw error;
64
+ }
65
+ },
66
+ async exists(path) {
67
+ const nodeFS = await getNodeFS();
68
+ try {
69
+ await nodeFS.access(path);
70
+ return true;
71
+ } catch {
72
+ return false;
73
+ }
74
+ },
75
+ async stat(path) {
76
+ const nodeFS = await getNodeFS();
77
+ const stats = await nodeFS.stat(path);
78
+ return {
79
+ mtime: stats.mtime,
80
+ size: stats.size
81
+ };
82
+ },
83
+ async rename(oldPath, newPath) {
84
+ const nodeFS = await getNodeFS();
85
+ await nodeFS.rename(oldPath, newPath);
86
+ },
87
+ async mkdir(path, options) {
88
+ const nodeFS = await getNodeFS();
89
+ await nodeFS.mkdir(path, options);
90
+ },
91
+ writeFileSyncAtomic(path, content) {
92
+ const fsSync = getNodeFSSync();
93
+ const pathMod = getPathModule();
94
+ const tempPath = getTempPath(path);
95
+ const dir = pathMod.dirname(path);
96
+ fsSync.mkdirSync(dir, { recursive: true });
97
+ try {
98
+ fsSync.writeFileSync(tempPath, content, "utf-8");
99
+ fsSync.renameSync(tempPath, path);
100
+ } catch (error) {
101
+ try {
102
+ fsSync.unlinkSync(tempPath);
103
+ } catch {}
104
+ throw error;
105
+ }
106
+ },
107
+ async unlink(path) {
108
+ const nodeFS = await getNodeFS();
109
+ try {
110
+ await nodeFS.unlink(path);
111
+ } catch (error) {
112
+ if (error.code !== "ENOENT") {
113
+ throw error;
114
+ }
115
+ }
116
+ },
117
+ unlinkSync(path) {
118
+ const fsSync = getNodeFSSync();
119
+ try {
120
+ fsSync.unlinkSync(path);
121
+ } catch (error) {
122
+ if (error.code !== "ENOENT") {
123
+ throw error;
124
+ }
125
+ }
126
+ },
127
+ readFileSync(path) {
128
+ const fsSync = getNodeFSSync();
129
+ return fsSync.readFileSync(path, "utf-8");
130
+ }
131
+ };
132
+ }
133
+ let fsInstance = null;
134
+ function getPortableFS() {
135
+ if (!fsInstance) {
136
+ fsInstance = createPortableFS();
137
+ }
138
+ return fsInstance;
139
+ }
140
+ /**
141
+ * Reset the filesystem singleton for testing
142
+ * @internal
143
+ */
144
+ function __resetPortableFSForTests() {
145
+ fsInstance = null;
146
+ }
147
+
148
+ //#endregion
149
+ //#region packages/common/src/portable/hash.ts
150
+ /**
151
+ * Portable hashing API using Node.js crypto
152
+ */
153
+ function createPortableHasher() {
154
+ return { hash(content, algorithm = "xxhash") {
155
+ if (algorithm === "sha256") {
156
+ return createHash("sha256").update(content).digest("hex");
157
+ }
158
+ const sha256Hash = createHash("sha256").update(content).digest("hex");
159
+ return sha256Hash.substring(0, 16);
160
+ } };
161
+ }
162
+ let hasherInstance = null;
163
+ function getPortableHasher() {
164
+ if (!hasherInstance) {
165
+ hasherInstance = createPortableHasher();
166
+ }
167
+ return hasherInstance;
168
+ }
169
+ /**
170
+ * Reset the hasher singleton for testing
171
+ * @internal
172
+ */
173
+ function __resetPortableHasherForTests() {
174
+ hasherInstance = null;
175
+ }
176
+
177
+ //#endregion
178
+ //#region packages/common/src/portable/runtime.ts
179
+ /**
180
+ * Runtime detection utilities for portable API implementation
181
+ * Note: Bun-specific code has been removed. Node.js APIs are always used.
182
+ */
183
+ const runtime = {
184
+ isBun: false,
185
+ isNode: typeof process !== "undefined",
186
+ supportsWebCrypto: typeof crypto !== "undefined" && typeof crypto.subtle !== "undefined"
187
+ };
188
+ /**
189
+ * Reset runtime state for testing purposes only
190
+ * @internal
191
+ */
192
+ function resetPortableForTests() {}
193
+
194
+ //#endregion
195
+ export { getPortableHasher as a, getPortableFS as c, createPortableHasher as i, runtime as n, __resetPortableFSForTests as o, __resetPortableHasherForTests as r, createPortableFS as s, resetPortableForTests as t };
196
+ //# sourceMappingURL=portable-BFrcBOaX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-BFrcBOaX.mjs","names":["nodeFsPromises: FSPromises | null","nodeFsSync: FSSync | null","pathModule: { dirname: (path: string) => string } | null","pathModule","fsInstance: PortableFS | null","hasherInstance: PortableHasher | null"],"sources":["../src/portable/fs.ts","../src/portable/hash.ts","../src/portable/runtime.ts"],"sourcesContent":["/**\n * Portable filesystem API using Node.js fs\n */\n\nexport interface PortableFS {\n readFile(path: string): Promise<string>;\n writeFile(path: string, content: string): Promise<void>;\n /**\n * Write a file atomically using temp file + rename pattern.\n * This prevents partial/corrupt writes on crash.\n */\n writeFileAtomic(path: string, content: string): Promise<void>;\n exists(path: string): Promise<boolean>;\n stat(path: string): Promise<{ mtime: Date; size: number }>;\n rename(oldPath: string, newPath: string): Promise<void>;\n mkdir(path: string, options?: { recursive?: boolean }): Promise<void>;\n /**\n * Write a file synchronously and atomically using temp file + rename pattern.\n * Safe for use in beforeExit handlers.\n */\n writeFileSyncAtomic(path: string, content: string): void;\n /**\n * Remove a file. Does not throw if file doesn't exist.\n */\n unlink(path: string): Promise<void>;\n /**\n * Remove a file synchronously. Does not throw if file doesn't exist.\n */\n unlinkSync(path: string): void;\n /**\n * Read a file synchronously.\n */\n readFileSync(path: string): string;\n}\n\ninterface FSPromises {\n readFile: (path: string, encoding: string) => Promise<string>;\n writeFile: (path: string, content: string, encoding: string) => Promise<void>;\n access: (path: string) => Promise<void>;\n stat: (path: string) => Promise<{\n mtime: Date;\n size: number;\n isDirectory: () => boolean;\n }>;\n rename: (oldPath: string, newPath: string) => Promise<void>;\n mkdir: (path: string, options?: { recursive?: boolean }) => Promise<void>;\n unlink: (path: string) => Promise<void>;\n}\n\ninterface FSSync {\n writeFileSync: (path: string, content: string, encoding: string) => void;\n renameSync: (oldPath: string, newPath: string) => void;\n unlinkSync: (path: string) => void;\n readFileSync: (path: string, encoding: string) => string;\n mkdirSync: (path: string, options?: { recursive?: boolean }) => void;\n}\n\n// Cache the fs/promises import\nlet nodeFsPromises: FSPromises | null = null;\nconst getNodeFS = async (): Promise<FSPromises> => {\n if (!nodeFsPromises) {\n const fs = await import(\"node:fs/promises\");\n nodeFsPromises = fs as FSPromises;\n }\n return nodeFsPromises;\n};\n\n// Cache the sync fs import\nlet nodeFsSync: FSSync | null = null;\nconst getNodeFSSync = (): FSSync => {\n if (!nodeFsSync) {\n // Use require for sync loading\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n nodeFsSync = require(\"node:fs\") as FSSync;\n }\n return nodeFsSync;\n};\n\n// Cache path module\nlet pathModule: { dirname: (path: string) => string } | null = null;\nconst getPathModule = (): { dirname: (path: string) => string } => {\n if (!pathModule) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n pathModule = require(\"node:path\") as { dirname: (path: string) => string };\n }\n return pathModule;\n};\n\n/**\n * Generate a unique temp file path for atomic write.\n */\nconst getTempPath = (targetPath: string): string => {\n return `${targetPath}.${process.pid}.${Date.now()}.tmp`;\n};\n\nexport function createPortableFS(): PortableFS {\n return {\n async readFile(path) {\n const nodeFS = await getNodeFS();\n return await nodeFS.readFile(path, \"utf-8\");\n },\n\n async writeFile(path, content) {\n const nodeFS = await getNodeFS();\n // Auto-create parent directories like Bun.write does\n const pathModule = await import(\"node:path\");\n const dir = pathModule.dirname(path);\n await nodeFS.mkdir(dir, { recursive: true });\n await nodeFS.writeFile(path, content, \"utf-8\");\n },\n\n async writeFileAtomic(path, content) {\n const nodeFS = await getNodeFS();\n const pathMod = await import(\"node:path\");\n const dir = pathMod.dirname(path);\n const tempPath = getTempPath(path);\n\n try {\n await nodeFS.mkdir(dir, { recursive: true });\n await nodeFS.writeFile(tempPath, content, \"utf-8\");\n await nodeFS.rename(tempPath, path);\n } catch (error) {\n // Clean up temp file on failure\n try {\n await nodeFS.unlink(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n },\n\n async exists(path) {\n const nodeFS = await getNodeFS();\n try {\n await nodeFS.access(path);\n return true;\n } catch {\n return false;\n }\n },\n\n async stat(path) {\n const nodeFS = await getNodeFS();\n const stats = await nodeFS.stat(path);\n return { mtime: stats.mtime, size: stats.size };\n },\n\n async rename(oldPath, newPath) {\n const nodeFS = await getNodeFS();\n await nodeFS.rename(oldPath, newPath);\n },\n\n async mkdir(path, options) {\n const nodeFS = await getNodeFS();\n await nodeFS.mkdir(path, options);\n },\n\n writeFileSyncAtomic(path, content) {\n const fsSync = getNodeFSSync();\n const pathMod = getPathModule();\n const tempPath = getTempPath(path);\n\n // Ensure parent directory exists\n const dir = pathMod.dirname(path);\n fsSync.mkdirSync(dir, { recursive: true });\n\n try {\n fsSync.writeFileSync(tempPath, content, \"utf-8\");\n fsSync.renameSync(tempPath, path);\n } catch (error) {\n // Clean up temp file on failure\n try {\n fsSync.unlinkSync(tempPath);\n } catch {\n // Ignore cleanup errors\n }\n throw error;\n }\n },\n\n async unlink(path) {\n const nodeFS = await getNodeFS();\n try {\n await nodeFS.unlink(path);\n } catch (error) {\n // Ignore ENOENT (file not found)\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") {\n throw error;\n }\n }\n },\n\n unlinkSync(path) {\n const fsSync = getNodeFSSync();\n try {\n fsSync.unlinkSync(path);\n } catch (error) {\n // Ignore ENOENT (file not found)\n if ((error as NodeJS.ErrnoException).code !== \"ENOENT\") {\n throw error;\n }\n }\n },\n\n readFileSync(path) {\n const fsSync = getNodeFSSync();\n return fsSync.readFileSync(path, \"utf-8\");\n },\n };\n}\n\n// Singleton to avoid recreating instances\nlet fsInstance: PortableFS | null = null;\n\nexport function getPortableFS(): PortableFS {\n if (!fsInstance) {\n fsInstance = createPortableFS();\n }\n return fsInstance;\n}\n\n/**\n * Reset the filesystem singleton for testing\n * @internal\n */\nexport function __resetPortableFSForTests(): void {\n fsInstance = null;\n}\n","/**\n * Portable hashing API using Node.js crypto\n */\n\nimport { createHash } from \"node:crypto\";\n\nexport type HashAlgorithm = \"sha256\" | \"xxhash\";\n\nexport interface PortableHasher {\n hash(content: string, algorithm?: HashAlgorithm): string;\n}\n\nexport function createPortableHasher(): PortableHasher {\n return {\n hash(content, algorithm = \"xxhash\") {\n if (algorithm === \"sha256\") {\n return createHash(\"sha256\").update(content).digest(\"hex\");\n }\n // xxhash fallback: use sha256 truncated to 16 chars\n const sha256Hash = createHash(\"sha256\").update(content).digest(\"hex\");\n return sha256Hash.substring(0, 16);\n },\n };\n}\n\n// Singleton to avoid recreating instances\nlet hasherInstance: PortableHasher | null = null;\n\nexport function getPortableHasher(): PortableHasher {\n if (!hasherInstance) {\n hasherInstance = createPortableHasher();\n }\n return hasherInstance;\n}\n\n/**\n * Reset the hasher singleton for testing\n * @internal\n */\nexport function __resetPortableHasherForTests(): void {\n hasherInstance = null;\n}\n","/**\n * Runtime detection utilities for portable API implementation\n * Note: Bun-specific code has been removed. Node.js APIs are always used.\n */\n\nexport const runtime = {\n isBun: false,\n isNode: typeof process !== \"undefined\",\n supportsWebCrypto: typeof crypto !== \"undefined\" && typeof crypto.subtle !== \"undefined\",\n} as const;\n\n/**\n * Reset runtime state for testing purposes only\n * @internal\n */\nexport function resetPortableForTests(): void {\n // This is a marker function that portable modules can use\n // to reset their singleton state in tests\n}\n"],"mappings":"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"}
package/dist/portable.cjs CHANGED
@@ -1,13 +1,10 @@
1
- const require_portable = require('./portable-cJqkfeHw.cjs');
1
+ const require_portable = require('./portable-B3K3IE7E.cjs');
2
2
 
3
3
  exports.__resetPortableFSForTests = require_portable.__resetPortableFSForTests;
4
4
  exports.__resetPortableHasherForTests = require_portable.__resetPortableHasherForTests;
5
5
  exports.createPortableFS = require_portable.createPortableFS;
6
6
  exports.createPortableHasher = require_portable.createPortableHasher;
7
- exports.generateId = require_portable.generateId;
8
7
  exports.getPortableFS = require_portable.getPortableFS;
9
8
  exports.getPortableHasher = require_portable.getPortableHasher;
10
- exports.once = require_portable.once;
11
9
  exports.resetPortableForTests = require_portable.resetPortableForTests;
12
- exports.runtime = require_portable.runtime;
13
- exports.spawn = require_portable.spawn;
10
+ exports.runtime = require_portable.runtime;
@@ -1,2 +1,2 @@
1
- import { a as resetPortableForTests, c as HashAlgorithm, d as createPortableHasher, f as getPortableHasher, g as getPortableFS, h as createPortableFS, i as once, l as PortableHasher, m as __resetPortableFSForTests, n as SpawnResult, o as runtime, p as PortableFS, r as spawn, s as generateId, t as SpawnOptions, u as __resetPortableHasherForTests } from "./index-D1tzB3W5.cjs";
2
- export { HashAlgorithm, PortableFS, PortableHasher, SpawnOptions, SpawnResult, __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, generateId, getPortableFS, getPortableHasher, once, resetPortableForTests, runtime, spawn };
1
+ import { a as __resetPortableHasherForTests, c as PortableFS, d as getPortableFS, i as PortableHasher, l as __resetPortableFSForTests, n as runtime, o as createPortableHasher, r as HashAlgorithm, s as getPortableHasher, t as resetPortableForTests, u as createPortableFS } from "./index-CbQyueYV.cjs";
2
+ export { HashAlgorithm, PortableFS, PortableHasher, __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, getPortableFS, getPortableHasher, resetPortableForTests, runtime };
@@ -1,2 +1,2 @@
1
- import { a as resetPortableForTests, c as HashAlgorithm, d as createPortableHasher, f as getPortableHasher, g as getPortableFS, h as createPortableFS, i as once, l as PortableHasher, m as __resetPortableFSForTests, n as SpawnResult, o as runtime, p as PortableFS, r as spawn, s as generateId, t as SpawnOptions, u as __resetPortableHasherForTests } from "./index-B424kKYS.mjs";
2
- export { HashAlgorithm, PortableFS, PortableHasher, SpawnOptions, SpawnResult, __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, generateId, getPortableFS, getPortableHasher, once, resetPortableForTests, runtime, spawn };
1
+ import { a as __resetPortableHasherForTests, c as PortableFS, d as getPortableFS, i as PortableHasher, l as __resetPortableFSForTests, n as runtime, o as createPortableHasher, r as HashAlgorithm, s as getPortableHasher, t as resetPortableForTests, u as createPortableFS } from "./index-BMa2_rDb.mjs";
2
+ export { HashAlgorithm, PortableFS, PortableHasher, __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, getPortableFS, getPortableHasher, resetPortableForTests, runtime };
package/dist/portable.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as getPortableHasher, c as getPortableFS, d as runtime, i as createPortableHasher, l as once, n as generateId, o as __resetPortableFSForTests, r as __resetPortableHasherForTests, s as createPortableFS, t as spawn, u as resetPortableForTests } from "./portable-BT3ahkQN.mjs";
1
+ import { a as getPortableHasher, c as getPortableFS, i as createPortableHasher, n as runtime, o as __resetPortableFSForTests, r as __resetPortableHasherForTests, s as createPortableFS, t as resetPortableForTests } from "./portable-BFrcBOaX.mjs";
2
2
 
3
- export { __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, generateId, getPortableFS, getPortableHasher, once, resetPortableForTests, runtime, spawn };
3
+ export { __resetPortableFSForTests, __resetPortableHasherForTests, createPortableFS, createPortableHasher, getPortableFS, getPortableHasher, resetPortableForTests, runtime };