xbintsc 0.3.13 → 0.3.14

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 (72) hide show
  1. package/dist/src/codegen/generator/calls/access.js +13 -0
  2. package/dist/src/codegen/generator/calls/access.js.map +1 -1
  3. package/dist/src/codegen/generator/calls/invocation.js +8 -2
  4. package/dist/src/codegen/generator/calls/invocation.js.map +1 -1
  5. package/dist/src/codegen/generator/context.d.ts +6 -0
  6. package/dist/src/codegen/generator/context.js +24 -2
  7. package/dist/src/codegen/generator/context.js.map +1 -1
  8. package/dist/src/codegen/generator/expressions/primary.js +5 -0
  9. package/dist/src/codegen/generator/expressions/primary.js.map +1 -1
  10. package/dist/src/driver/compiler.js +15 -3
  11. package/dist/src/driver/compiler.js.map +1 -1
  12. package/dist/src/driver/modules.d.ts +1 -1
  13. package/dist/src/driver/modules.js +235 -25
  14. package/dist/src/driver/modules.js.map +1 -1
  15. package/dist/src/extensions/node/fs/fs-ops.d.ts +5 -2
  16. package/dist/src/extensions/node/fs/fs-ops.js +45 -6
  17. package/dist/src/extensions/node/fs/fs-ops.js.map +1 -1
  18. package/dist/src/extensions/node/fs/index.d.ts +6 -2
  19. package/dist/src/extensions/node/fs/index.js +22 -3
  20. package/dist/src/extensions/node/fs/index.js.map +1 -1
  21. package/dist/src/extensions/node/fs-promises/index.d.ts +4 -3
  22. package/dist/src/extensions/node/fs-promises/index.js +31 -3
  23. package/dist/src/extensions/node/fs-promises/index.js.map +1 -1
  24. package/dist/tests/cli/main.test.js +8 -0
  25. package/dist/tests/cli/main.test.js.map +1 -1
  26. package/dist/tests/driver/compiler.test.js +28 -1
  27. package/dist/tests/driver/compiler.test.js.map +1 -1
  28. package/dist/tests/driver/modules.test.js +91 -4
  29. package/dist/tests/driver/modules.test.js.map +1 -1
  30. package/dist/tests/e2e/compile-node.test.js +240 -0
  31. package/dist/tests/e2e/compile-node.test.js.map +1 -1
  32. package/dist/tests/e2e/compile.test.js +12 -0
  33. package/dist/tests/e2e/compile.test.js.map +1 -1
  34. package/dist/tests/e2e/harness.js +11 -8
  35. package/dist/tests/e2e/harness.js.map +1 -1
  36. package/dist/tests/e2e/node-modules.test.js +1 -1
  37. package/dist/tests/e2e/node-modules.test.js.map +1 -1
  38. package/dist/tests/e2e/npm-modules.test.d.ts +9 -0
  39. package/dist/tests/e2e/npm-modules.test.js +55 -0
  40. package/dist/tests/e2e/npm-modules.test.js.map +1 -0
  41. package/dist/tests/e2e/runtime-coverage.test.d.ts +11 -0
  42. package/dist/tests/e2e/runtime-coverage.test.js +646 -0
  43. package/dist/tests/e2e/runtime-coverage.test.js.map +1 -0
  44. package/package.json +1 -1
  45. package/runtime/ext_node/buffer/parts/prototype.inc +7 -0
  46. package/runtime/ext_node/buffer/parts/search.inc +8 -4
  47. package/runtime/ext_node/child_process/child_process.c +5 -0
  48. package/runtime/ext_node/fs/constants.c +113 -0
  49. package/runtime/ext_node/fs/copy_ops.c +145 -0
  50. package/runtime/ext_node/fs/dir.c +101 -0
  51. package/runtime/ext_node/fs/fd_ops.c +405 -0
  52. package/runtime/ext_node/fs/fs_common.h +388 -5
  53. package/runtime/ext_node/fs/fs_ops.c +100 -139
  54. package/runtime/ext_node/fs/glob.c +232 -0
  55. package/runtime/ext_node/fs/link_ops.c +91 -0
  56. package/runtime/ext_node/fs/meta_ops.c +403 -0
  57. package/runtime/ext_node/fs/promises.c +275 -60
  58. package/runtime/ext_node/fs/read_file.c +8 -4
  59. package/runtime/ext_node/fs/watch.c +52 -0
  60. package/runtime/ext_node/fs/write_file.c +20 -11
  61. package/runtime/ext_node/stream/stream.c +19 -2
  62. package/runtime/rt.h +9 -0
  63. package/runtime/xt_io.c +21 -0
  64. package/src/codegen/generator/calls/access.ts +15 -0
  65. package/src/codegen/generator/calls/invocation.ts +8 -2
  66. package/src/codegen/generator/context.ts +30 -2
  67. package/src/codegen/generator/expressions/primary.ts +5 -0
  68. package/src/driver/compiler.ts +16 -3
  69. package/src/driver/modules.ts +251 -26
  70. package/src/extensions/node/fs/fs-ops.ts +48 -6
  71. package/src/extensions/node/fs/index.ts +25 -3
  72. package/src/extensions/node/fs-promises/index.ts +33 -4
@@ -12,31 +12,54 @@
12
12
  * final names, and circular graphs are reported as an error.
13
13
  */
14
14
  import { existsSync, readFileSync, statSync } from "node:fs";
15
- import { dirname, isAbsolute, resolve } from "node:path";
15
+ import { dirname, isAbsolute, join, resolve } from "node:path";
16
16
  import { ModifierKind, SyntaxKind, } from "../ast/nodes.js";
17
17
  import { bind, SymbolKind } from "../binder/binder.js";
18
18
  import { DiagnosticCode } from "../diagnostics/diagnostic.js";
19
19
  import { SourceFile } from "../diagnostics/source.js";
20
20
  import { Parser } from "../parser/parser.js";
21
- const RESOLVE_SUFFIXES = ["", ".ts", ".tsx", ".mts", ".cts", "/index.ts", "/index.tsx"];
22
21
  /**
23
- * Bare module specifiers (`fs`, `node:fs`, `@scope/pkg`) are not files to
24
- * bundle: they are resolved at code generation time against the registered
25
- * extension modules.
22
+ * Source extensions probed for an extension-less specifier. TypeScript suffixes
23
+ * are tried before their JavaScript counterparts so a project that ships both
24
+ * `foo.ts` and a compiled `foo.js` prefers the source it is compiled from.
26
25
  */
27
- function isExternalSpecifier(specifier) {
28
- return !specifier.startsWith(".") && !isAbsolute(specifier);
26
+ const RESOLVE_SUFFIXES = ["", ".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"];
27
+ /** File extensions a directory `index` entry may use. */
28
+ const INDEX_SUFFIXES = [".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"];
29
+ /** Conditions consulted, in order, when reading a package `exports` map. */
30
+ const EXPORT_CONDITIONS = ["import", "module", "default", "node", "require"];
31
+ /** A specifier is a file path (`./x`, `../x`, `/x`) rather than a package. */
32
+ function isRelativeSpecifier(specifier) {
33
+ return specifier.startsWith(".") || isAbsolute(specifier);
29
34
  }
30
- function resolveModule(fromDir, specifier) {
31
- const base = resolve(fromDir, specifier);
32
- // TypeScript sources are imported using their emitted `.js` extension
33
- // (`import ... from "./foo.js"`), so map the extension back to the source
34
- // file before probing the usual suffixes.
35
+ /**
36
+ * Resolve a path on disk, tolerating TypeScript's `.js` import convention
37
+ * (`import "./foo.js"` pointing at `foo.ts`) and Node's directory/`index`
38
+ * conventions.
39
+ */
40
+ function resolvePath(base) {
41
+ // A JavaScript specifier may refer to a TypeScript source that will emit it
42
+ // (`import "./foo.js"` pointing at `foo.ts`). Probe the matching TypeScript
43
+ // extensions after the literal path: `.js`/`.jsx` -> `.ts`/`.tsx`,
44
+ // `.mjs` -> `.mts`, `.cjs` -> `.cts`.
35
45
  const candidates = [base];
36
- const jsExtension = /\.(?:m|c)?jsx?$/.exec(base);
46
+ const jsExtension = /\.((?:m|c)?jsx?)$/.exec(base);
37
47
  if (jsExtension) {
38
48
  const stem = base.slice(0, jsExtension.index);
39
- candidates.push(`${stem}.ts`, `${stem}.tsx`, `${stem}.mts`, `${stem}.cts`);
49
+ switch (jsExtension[1]) {
50
+ case "jsx":
51
+ candidates.push(`${stem}.tsx`, `${stem}.ts`);
52
+ break;
53
+ case "mjs":
54
+ candidates.push(`${stem}.mts`);
55
+ break;
56
+ case "cjs":
57
+ candidates.push(`${stem}.cts`);
58
+ break;
59
+ default:
60
+ candidates.push(`${stem}.ts`, `${stem}.tsx`);
61
+ break;
62
+ }
40
63
  }
41
64
  for (const candidate of candidates) {
42
65
  if (existsSync(candidate) && statSync(candidate).isFile())
@@ -47,8 +70,193 @@ function resolveModule(fromDir, specifier) {
47
70
  if (existsSync(candidate) && statSync(candidate).isFile())
48
71
  return candidate;
49
72
  }
73
+ if (existsSync(base) && statSync(base).isDirectory())
74
+ return resolveDirectory(base);
75
+ return undefined;
76
+ }
77
+ /** Resolve a directory to its package entry or an `index` file. */
78
+ function resolveDirectory(directory) {
79
+ const pkg = readPackageJson(directory);
80
+ if (pkg && typeof pkg.main === "string") {
81
+ const main = resolvePath(resolve(directory, pkg.main));
82
+ if (main)
83
+ return main;
84
+ }
85
+ for (const suffix of INDEX_SUFFIXES) {
86
+ const candidate = join(directory, `index${suffix}`);
87
+ if (existsSync(candidate) && statSync(candidate).isFile())
88
+ return candidate;
89
+ }
90
+ return undefined;
91
+ }
92
+ function resolveModule(fromDir, specifier) {
93
+ return resolvePath(resolve(fromDir, specifier));
94
+ }
95
+ function readPackageJson(directory) {
96
+ const file = join(directory, "package.json");
97
+ if (!existsSync(file) || !statSync(file).isFile())
98
+ return undefined;
99
+ try {
100
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
101
+ return parsed && typeof parsed === "object" ? parsed : undefined;
102
+ }
103
+ catch {
104
+ return undefined;
105
+ }
106
+ }
107
+ /** Split `pkg/sub/path` or `@scope/pkg/sub/path` into package name and subpath. */
108
+ function splitPackageSpecifier(specifier) {
109
+ const parts = specifier.split("/");
110
+ if (specifier.startsWith("@")) {
111
+ return { packageName: parts.slice(0, 2).join("/"), subpath: parts.slice(2).join("/") };
112
+ }
113
+ return { packageName: parts[0] ?? specifier, subpath: parts.slice(1).join("/") };
114
+ }
115
+ /**
116
+ * Resolve a bare specifier against the `node_modules` directories above
117
+ * `fromDir`, following a package's `exports` map and falling back to
118
+ * `module`/`main`/`index`. Packages that only ship CommonJS resolve here too;
119
+ * their `require` calls are then rejected during code generation.
120
+ */
121
+ function resolveNodePackage(fromDir, specifier) {
122
+ const { packageName, subpath } = splitPackageSpecifier(specifier);
123
+ if (!packageName || packageName.startsWith("."))
124
+ return undefined;
125
+ let directory = fromDir;
126
+ for (;;) {
127
+ const packageDir = join(directory, "node_modules", packageName);
128
+ if (existsSync(packageDir) && statSync(packageDir).isDirectory()) {
129
+ const resolved = subpath
130
+ ? resolvePackageSubpath(packageDir, subpath)
131
+ : resolvePackageEntry(packageDir);
132
+ if (resolved)
133
+ return resolved;
134
+ }
135
+ const parent = dirname(directory);
136
+ if (parent === directory)
137
+ return undefined;
138
+ directory = parent;
139
+ }
140
+ }
141
+ function resolvePackageEntry(packageDir) {
142
+ const pkg = readPackageJson(packageDir);
143
+ if (pkg) {
144
+ const exported = resolveExportTarget(subpathValue(pkg.exports, "."));
145
+ if (exported) {
146
+ const resolved = resolvePath(resolve(packageDir, exported));
147
+ if (resolved)
148
+ return resolved;
149
+ }
150
+ if (typeof pkg.module === "string") {
151
+ const resolved = resolvePath(resolve(packageDir, pkg.module));
152
+ if (resolved)
153
+ return resolved;
154
+ }
155
+ if (typeof pkg.main === "string") {
156
+ const resolved = resolvePath(resolve(packageDir, pkg.main));
157
+ if (resolved)
158
+ return resolved;
159
+ }
160
+ }
161
+ return resolveDirectory(packageDir);
162
+ }
163
+ function resolvePackageSubpath(packageDir, subpath) {
164
+ const pkg = readPackageJson(packageDir);
165
+ const exported = resolveExportTarget(subpathValue(pkg?.exports, `./${subpath}`));
166
+ if (exported) {
167
+ const resolved = resolvePath(resolve(packageDir, exported));
168
+ if (resolved)
169
+ return resolved;
170
+ }
171
+ return resolvePath(join(packageDir, subpath));
172
+ }
173
+ /** Pick the export target for a subpath (`"."` or `"./sub"`) from an exports map. */
174
+ function subpathValue(exportsField, subpath) {
175
+ if (exportsField === undefined)
176
+ return undefined;
177
+ if (typeof exportsField === "string" || Array.isArray(exportsField)) {
178
+ return subpath === "." ? exportsField : undefined;
179
+ }
180
+ if (!exportsField || typeof exportsField !== "object")
181
+ return undefined;
182
+ const record = exportsField;
183
+ const keys = Object.keys(record);
184
+ // A map without `.`-prefixed keys is a condition map for the root export.
185
+ if (!keys.some((key) => key.startsWith("."))) {
186
+ return subpath === "." ? exportsField : undefined;
187
+ }
188
+ if (subpath in record)
189
+ return record[subpath];
190
+ // Wildcard patterns such as `"./*": "./dist/*.js"`.
191
+ for (const key of keys) {
192
+ const star = key.indexOf("*");
193
+ if (star === -1)
194
+ continue;
195
+ const prefix = key.slice(0, star);
196
+ const suffix = key.slice(star + 1);
197
+ if (subpath.startsWith(prefix) && subpath.endsWith(suffix)) {
198
+ const matched = subpath.slice(prefix.length, subpath.length - suffix.length);
199
+ return substituteStar(record[key], matched);
200
+ }
201
+ }
50
202
  return undefined;
51
203
  }
204
+ function substituteStar(target, matched) {
205
+ if (typeof target === "string")
206
+ return target.split("*").join(matched);
207
+ if (Array.isArray(target))
208
+ return target.map((entry) => substituteStar(entry, matched));
209
+ if (target && typeof target === "object") {
210
+ const record = {};
211
+ for (const [key, value] of Object.entries(target))
212
+ record[key] = substituteStar(value, matched);
213
+ return record;
214
+ }
215
+ return target;
216
+ }
217
+ /** Pick a runtime string from a (possibly conditional) exports target. */
218
+ function resolveExportTarget(target) {
219
+ if (typeof target === "string")
220
+ return target;
221
+ if (Array.isArray(target)) {
222
+ for (const entry of target) {
223
+ const resolved = resolveExportTarget(entry);
224
+ if (resolved)
225
+ return resolved;
226
+ }
227
+ return undefined;
228
+ }
229
+ if (target && typeof target === "object") {
230
+ const record = target;
231
+ for (const condition of EXPORT_CONDITIONS) {
232
+ if (condition in record) {
233
+ const resolved = resolveExportTarget(record[condition]);
234
+ if (resolved)
235
+ return resolved;
236
+ }
237
+ }
238
+ }
239
+ return undefined;
240
+ }
241
+ /**
242
+ * Classify an import specifier. Known platform modules (extension modules and
243
+ * `node:` builtins) are left for code generation; relative paths and
244
+ * `node_modules` packages are resolved to a source file to bundle; a relative
245
+ * path that does not exist is an error.
246
+ */
247
+ function classifyDependency(fromDir, specifier, externalSpecifiers) {
248
+ if (specifier.startsWith("node:") || externalSpecifiers.has(specifier)) {
249
+ return { kind: "external" };
250
+ }
251
+ const resolved = isRelativeSpecifier(specifier)
252
+ ? resolveModule(fromDir, specifier)
253
+ : resolveNodePackage(fromDir, specifier);
254
+ if (resolved)
255
+ return { kind: "file", path: resolved };
256
+ // A bare specifier that is not a file may still be a platform module the
257
+ // generator knows about (e.g. when the caller passes no extension registry).
258
+ return isRelativeSpecifier(specifier) ? { kind: "missing" } : { kind: "external" };
259
+ }
52
260
  function hasModifier(node, kind) {
53
261
  const modifiers = node.modifiers;
54
262
  return !!modifiers && modifiers.some((modifier) => modifier.modifierKind === kind);
@@ -71,7 +279,7 @@ function declarationName(node) {
71
279
  }
72
280
  }
73
281
  /** Load, parse and bind the entry module and every module it imports. */
74
- function loadGraph(entryPath, diagnostics) {
282
+ function loadGraph(entryPath, diagnostics, externalSpecifiers) {
75
283
  const records = new Map();
76
284
  const order = [];
77
285
  const visiting = new Set();
@@ -112,15 +320,15 @@ function loadGraph(entryPath, diagnostics) {
112
320
  const specifier = moduleSpecifierOf(statement);
113
321
  if (!specifier)
114
322
  continue;
115
- if (isExternalSpecifier(specifier))
323
+ const dependency = classifyDependency(dirname(path), specifier, externalSpecifiers);
324
+ if (dependency.kind === "external")
116
325
  continue;
117
- const dependency = resolveModule(dirname(path), specifier);
118
- if (!dependency) {
326
+ if (dependency.kind === "missing") {
119
327
  diagnostics.error(DiagnosticCode.CodegenError, `Cannot resolve module '${specifier}' from '${path}'`, statement, path);
120
328
  failed = true;
121
329
  continue;
122
330
  }
123
- load(dependency);
331
+ load(dependency.path);
124
332
  }
125
333
  visiting.delete(path);
126
334
  order.push(record);
@@ -170,14 +378,14 @@ function topLevelSymbols(record) {
170
378
  * Merge every module's statements into a single file. Dependencies come first
171
379
  * (post-order over the import graph), the entry module last.
172
380
  */
173
- export function bundleModules(entryPath, diagnostics) {
174
- const records = loadGraph(entryPath, diagnostics);
381
+ export function bundleModules(entryPath, diagnostics, externalSpecifiers = new Set()) {
382
+ const records = loadGraph(entryPath, diagnostics, externalSpecifiers);
175
383
  if (!records)
176
384
  return undefined;
177
385
  const byPath = new Map(records.map((record) => [record.path, record]));
178
386
  const dependencyOf = (record, specifier) => {
179
- const resolved = resolveModule(dirname(record.path), specifier);
180
- return resolved ? byPath.get(resolved) : undefined;
387
+ const resolution = classifyDependency(dirname(record.path), specifier, externalSpecifiers);
388
+ return resolution.kind === "file" ? byPath.get(resolution.path) : undefined;
181
389
  };
182
390
  // Phase 1: record every top-level binding and pick a unique final name.
183
391
  for (const record of records) {
@@ -295,8 +503,10 @@ export function bundleModules(entryPath, diagnostics) {
295
503
  for (const record of records) {
296
504
  for (const statement of record.sourceFile.statements) {
297
505
  if (statement.kind === SyntaxKind.ImportDeclaration) {
298
- // External (extension) imports stay in place for code generation.
299
- if (isExternalSpecifier(statement.moduleSpecifier.value)) {
506
+ // External (extension / built-in) imports stay in place for codegen.
507
+ const declaration = statement;
508
+ const resolution = classifyDependency(dirname(record.path), declaration.moduleSpecifier.value, externalSpecifiers);
509
+ if (resolution.kind === "external") {
300
510
  merged.push(statement);
301
511
  }
302
512
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/driver/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/driver/modules.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /**
2
- * Builtins for the filesystem operations in Node's `fs` module
3
- * (`existsSync`, directory handling, rename/copy, `statSync`, ...).
2
+ * Builtins for the filesystem operations in Node's `fs` module.
3
+ *
4
+ * Every runtime symbol uses the uniform `xt_value fn(int32_t, xt_value *)`
5
+ * ABI. xbintsc has no event loop, so only the synchronous API is exposed
6
+ * (`*Sync`), plus the watcher factories, whose objects never fire events.
4
7
  */
5
8
  import type { BuiltinFunction } from "../../registry.js";
6
9
  export declare const fsOpsBuiltins: Readonly<Record<string, BuiltinFunction>>;
@@ -1,18 +1,57 @@
1
1
  /**
2
- * Builtins for the filesystem operations in Node's `fs` module
3
- * (`existsSync`, directory handling, rename/copy, `statSync`, ...).
2
+ * Builtins for the filesystem operations in Node's `fs` module.
3
+ *
4
+ * Every runtime symbol uses the uniform `xt_value fn(int32_t, xt_value *)`
5
+ * ABI. xbintsc has no event loop, so only the synchronous API is exposed
6
+ * (`*Sync`), plus the watcher factories, whose objects never fire events.
4
7
  */
5
8
  export const fsOpsBuiltins = {
9
+ // Path / metadata -------------------------------------------------------
6
10
  existsSync: { symbol: "xt_node_exists" },
11
+ accessSync: { symbol: "xt_node_access" },
12
+ statSync: { symbol: "xt_node_stat" },
13
+ lstatSync: { symbol: "xt_node_lstat" },
14
+ statfsSync: { symbol: "xt_node_statfs" },
15
+ realpathSync: { symbol: "xt_node_realpath" },
16
+ chmodSync: { symbol: "xt_node_chmod" },
17
+ lchmodSync: { symbol: "xt_node_lchmod" },
18
+ chownSync: { symbol: "xt_node_chown" },
19
+ lchownSync: { symbol: "xt_node_lchown" },
20
+ truncateSync: { symbol: "xt_node_truncate" },
21
+ utimesSync: { symbol: "xt_node_utimes" },
22
+ lutimesSync: { symbol: "xt_node_lutimes" },
23
+ // Directories / entries -------------------------------------------------
7
24
  readdirSync: { symbol: "xt_node_read_dir" },
8
25
  mkdirSync: { symbol: "xt_node_mkdir" },
26
+ mkdtempSync: { symbol: "xt_node_mkdtemp" },
27
+ rmdirSync: { symbol: "xt_node_rmdir" },
9
28
  rmSync: { symbol: "xt_node_rm" },
10
29
  unlinkSync: { symbol: "xt_node_unlink" },
11
- rmdirSync: { symbol: "xt_node_rmdir" },
12
30
  renameSync: { symbol: "xt_node_rename" },
13
31
  copyFileSync: { symbol: "xt_node_copy_file" },
14
- realpathSync: { symbol: "xt_node_realpath" },
15
- statSync: { symbol: "xt_node_stat" },
16
- lstatSync: { symbol: "xt_node_lstat" },
32
+ cpSync: { symbol: "xt_node_cp" },
33
+ linkSync: { symbol: "xt_node_link" },
34
+ symlinkSync: { symbol: "xt_node_symlink" },
35
+ readlinkSync: { symbol: "xt_node_readlink" },
36
+ opendirSync: { symbol: "xt_node_opendir" },
37
+ globSync: { symbol: "xt_node_glob" },
38
+ // File descriptors ------------------------------------------------------
39
+ openSync: { symbol: "xt_node_open" },
40
+ closeSync: { symbol: "xt_node_close" },
41
+ readSync: { symbol: "xt_node_read" },
42
+ writeSync: { symbol: "xt_node_write" },
43
+ readvSync: { symbol: "xt_node_readv" },
44
+ writevSync: { symbol: "xt_node_writev" },
45
+ fstatSync: { symbol: "xt_node_fstat" },
46
+ fsyncSync: { symbol: "xt_node_fsync" },
47
+ fdatasyncSync: { symbol: "xt_node_fdatasync" },
48
+ ftruncateSync: { symbol: "xt_node_ftruncate" },
49
+ fchmodSync: { symbol: "xt_node_fchmod" },
50
+ fchownSync: { symbol: "xt_node_fchown" },
51
+ futimesSync: { symbol: "xt_node_futimes" },
52
+ // Watchers (API-shaped, no events) --------------------------------------
53
+ watch: { symbol: "xt_node_watch" },
54
+ watchFile: { symbol: "xt_node_watch_file" },
55
+ unwatchFile: { symbol: "xt_node_unwatch_file" },
17
56
  };
18
57
  //# sourceMappingURL=fs-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-ops.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/fs-ops.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,aAAa,GAA8C;IACtE,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,WAAW,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC3C,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IAChC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,YAAY,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC7C,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC5C,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IACpC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;CACvC,CAAC"}
1
+ {"version":3,"file":"fs-ops.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/fs-ops.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,aAAa,GAA8C;IACtE,0EAA0E;IAC1E,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IACpC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC5C,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC5C,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAE1C,0EAA0E;IAC1E,WAAW,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC3C,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAC1C,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IAChC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,YAAY,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC7C,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IAChC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IACpC,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAC1C,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC5C,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAC1C,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IAEpC,0EAA0E;IAC1E,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IACpC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;IACpC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACtC,aAAa,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC9C,aAAa,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC9C,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxC,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAE1C,0EAA0E;IAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IAClC,SAAS,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE;IAC3C,WAAW,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;CAChD,CAAC"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * Node's `fs` module: synchronous file and directory operations backed by
3
3
  * `runtime/ext_node/fs`. Asynchronous callbacks are not supported (xbintsc has
4
- * no event loop), so only the `*Sync` API is exposed. Import the functions, e.g.
5
- * `import { readFileSync } from "fs"`.
4
+ * no event loop), so the API is the `*Sync` surface plus `watch`/`watchFile`
5
+ * (which return API-shaped watchers that never emit).
6
+ *
7
+ * `fs.constants` and `fs.promises` are exposed as value getters, so both
8
+ * `import { constants } from "fs"` and the `fs.constants.F_OK` property form
9
+ * work.
6
10
  */
7
11
  import type { NodeModule } from "../module.js";
8
12
  export declare const fsModule: NodeModule;
@@ -1,22 +1,41 @@
1
1
  /**
2
2
  * Node's `fs` module: synchronous file and directory operations backed by
3
3
  * `runtime/ext_node/fs`. Asynchronous callbacks are not supported (xbintsc has
4
- * no event loop), so only the `*Sync` API is exposed. Import the functions, e.g.
5
- * `import { readFileSync } from "fs"`.
4
+ * no event loop), so the API is the `*Sync` surface plus `watch`/`watchFile`
5
+ * (which return API-shaped watchers that never emit).
6
+ *
7
+ * `fs.constants` and `fs.promises` are exposed as value getters, so both
8
+ * `import { constants } from "fs"` and the `fs.constants.F_OK` property form
9
+ * work.
6
10
  */
7
11
  import { resolveFrom } from "../module.js";
8
12
  import { readFileBuiltins } from "./read-file.js";
9
13
  import { writeFileBuiltins } from "./write-file.js";
10
14
  import { fsOpsBuiltins } from "./fs-ops.js";
11
15
  import { fsStreamBuiltins } from "./streams.js";
16
+ const builtins = { ...readFileBuiltins, ...writeFileBuiltins, ...fsOpsBuiltins, ...fsStreamBuiltins };
17
+ const exports = {
18
+ ...builtins,
19
+ constants: { valueSymbol: "xt_fs_constants" },
20
+ promises: { valueSymbol: "xt_fs_promises" },
21
+ };
12
22
  export const fsModule = {
13
23
  name: "fs",
14
24
  runtimeSources: () => [
15
25
  resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/read_file.c"),
16
26
  resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/write_file.c"),
17
27
  resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/fs_ops.c"),
28
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/fd_ops.c"),
29
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/meta_ops.c"),
30
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/link_ops.c"),
31
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/copy_ops.c"),
32
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/dir.c"),
33
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/glob.c"),
34
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/watch.c"),
35
+ resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/constants.c"),
18
36
  resolveFrom(import.meta.url, "../../../../runtime/ext_node/fs/streams.c"),
19
37
  ],
20
- builtins: () => ({ ...readFileBuiltins, ...writeFileBuiltins, ...fsOpsBuiltins, ...fsStreamBuiltins }),
38
+ builtins: () => builtins,
39
+ exports: () => exports,
21
40
  };
22
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,QAAQ,GAAe;IAClC,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,GAAG,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,8CAA8C,CAAC;QAC5E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC;QACxE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC;KAC1E;IACD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;CACvG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/node/fs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAEtG,MAAM,OAAO,GAAkB;IAC7B,GAAG,QAAQ;IACX,SAAS,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC7C,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAe;IAClC,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,GAAG,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,8CAA8C,CAAC;QAC5E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC;QACxE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,0CAA0C,CAAC;QACxE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4CAA4C,CAAC;QAC1E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,uCAAuC,CAAC;QACrE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wCAAwC,CAAC;QACtE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,yCAAyC,CAAC;QACvE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,6CAA6C,CAAC;QAC3E,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,2CAA2C,CAAC;KAC1E;IACD,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC"}
@@ -2,9 +2,10 @@
2
2
  * Node's `fs/promises` module.
3
3
  *
4
4
  * There is no asynchronous I/O scheduler, so each function wraps the matching
5
- * synchronous `fs` implementation in an already-resolved promise. `readFile`,
6
- * `writeFile`, `mkdir`, `readdir`, `stat`, `rm`, ... are therefore importable
7
- * from `fs/promises`, returning promises.
5
+ * synchronous `fs` implementation in an already-settled promise (rejected on
6
+ * failure). `readFile`, `writeFile`, `mkdir`, `readdir`, `stat`, `rm`,
7
+ * `open` (a `FileHandle`), ... are therefore importable from `fs/promises`.
8
+ * `constants` is re-exported as a value getter.
8
9
  */
9
10
  import type { NodeModule } from "../module.js";
10
11
  export declare const fsPromisesModule: NodeModule;