goscript 0.0.83 → 0.0.84

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.
@@ -3,6 +3,7 @@ import { ErrClosed, ErrInvalid, ErrUnimplemented } from "./error.gs.js";
3
3
  import * as fs from "@goscript/io/fs/index.js";
4
4
  import * as io from "@goscript/io/index.js";
5
5
  import * as time from "@goscript/time/index.js";
6
+ import { HostUnsupportedError, hostRuntime, resetHostRuntimeForTests, } from "@goscript/builtin/hostio.js";
6
7
  import { newRawConn } from "./rawconn_js.gs.js";
7
8
  export function newHostError(err) {
8
9
  const message = err instanceof Error ? err.message
@@ -10,136 +11,89 @@ export function newHostError(err) {
10
11
  : String(err);
11
12
  return { Error: () => message };
12
13
  }
13
- export function getDynamicRequire() {
14
- try {
15
- return Function("return typeof require !== 'undefined' ? require : null")();
16
- }
17
- catch {
18
- return null;
19
- }
20
- }
21
14
  export function getNodeFS() {
22
- const processObj = globalThis.process;
23
- if (processObj && typeof processObj.getBuiltinModule === "function") {
24
- const module = processObj.getBuiltinModule("fs");
25
- if (module && typeof module.readSync === "function" && typeof module.writeSync === "function") {
26
- return module;
27
- }
28
- }
29
- const requireFn = getDynamicRequire();
30
- if (requireFn) {
31
- for (const specifier of ["node:fs", "fs"]) {
32
- try {
33
- const module = requireFn(specifier);
34
- if (module && typeof module.readSync === "function" && typeof module.writeSync === "function") {
35
- return module;
36
- }
37
- }
38
- catch {
39
- // Try the next fallback.
40
- }
41
- }
42
- }
43
- return null;
15
+ return hostRuntime.nodeFS;
44
16
  }
45
17
  export function getDeno() {
46
- return globalThis.Deno ?? null;
18
+ return hostRuntime.deno;
47
19
  }
48
20
  export function getPlatform() {
49
- const denoObj = getDeno();
50
- if (denoObj?.build?.os) {
51
- return denoObj.build.os;
52
- }
53
- const processObj = globalThis.process;
54
- if (processObj?.platform) {
55
- return processObj.platform;
56
- }
57
- return "unknown";
21
+ return hostRuntime.platform;
58
22
  }
59
23
  export function getEnv(name) {
60
- const denoObj = getDeno();
61
- if (denoObj?.env?.get) {
62
- try {
63
- return denoObj.env.get(name) ?? "";
64
- }
65
- catch {
66
- return "";
67
- }
68
- }
69
- const processObj = globalThis.process;
70
- return processObj?.env?.[name] ?? "";
24
+ return hostRuntime.getEnv(name);
71
25
  }
72
26
  export function getDenoStream(fd) {
73
- const denoObj = getDeno();
74
- if (!denoObj) {
75
- return null;
76
- }
77
- switch (fd) {
78
- case 0:
79
- return denoObj.stdin ?? null;
80
- case 1:
81
- return denoObj.stdout ?? null;
82
- case 2:
83
- return denoObj.stderr ?? null;
84
- default:
85
- return null;
86
- }
27
+ return hostRuntime.getStdioHandle(fd);
87
28
  }
88
29
  function readFD(fd, b) {
89
30
  if (b.length === 0) {
90
31
  return [0, null];
91
32
  }
92
- const denoStream = getDenoStream(fd);
93
- if (denoStream && typeof denoStream.readSync === "function") {
94
- try {
95
- const n = denoStream.readSync(b);
96
- if (n === null || n === 0) {
97
- return [0, io.EOF];
98
- }
99
- return [n, null];
100
- }
101
- catch (err) {
102
- return [0, newHostError(err)];
33
+ try {
34
+ const n = hostRuntime.readFD(fd, b);
35
+ if (n === null || n === 0) {
36
+ return [0, io.EOF];
103
37
  }
38
+ return [n, null];
104
39
  }
105
- const nodeFS = getNodeFS();
106
- if (nodeFS) {
107
- try {
108
- const n = nodeFS.readSync(fd, b, 0, b.length, null);
109
- if (n === 0) {
110
- return [0, io.EOF];
111
- }
112
- return [n, null];
113
- }
114
- catch (err) {
115
- return [0, newHostError(err)];
40
+ catch (err) {
41
+ if (err instanceof HostUnsupportedError) {
42
+ return [0, ErrUnimplemented];
116
43
  }
44
+ return [0, newHostError(err)];
117
45
  }
118
- return [0, ErrUnimplemented];
119
46
  }
120
47
  function writeFD(fd, b) {
121
48
  if (b.length === 0) {
122
49
  return [0, null];
123
50
  }
124
- const denoStream = getDenoStream(fd);
125
- if (denoStream && typeof denoStream.writeSync === "function") {
126
- try {
127
- return [denoStream.writeSync(b), null];
128
- }
129
- catch (err) {
130
- return [0, newHostError(err)];
51
+ try {
52
+ return [hostRuntime.writeFD(fd, b), null];
53
+ }
54
+ catch (err) {
55
+ if (err instanceof HostUnsupportedError) {
56
+ return [0, ErrUnimplemented];
131
57
  }
58
+ return [0, newHostError(err)];
132
59
  }
133
- const nodeFS = getNodeFS();
134
- if (nodeFS) {
135
- try {
136
- return [nodeFS.writeSync(fd, b, 0, b.length, null), null];
60
+ }
61
+ function readHandle(handle, b) {
62
+ if (typeof handle.readSync !== "function") {
63
+ return [0, ErrUnimplemented];
64
+ }
65
+ try {
66
+ const n = handle.readSync(b);
67
+ if (n === null || n === 0) {
68
+ return [0, io.EOF];
137
69
  }
138
- catch (err) {
139
- return [0, newHostError(err)];
70
+ return [n, null];
71
+ }
72
+ catch (err) {
73
+ return [0, newHostError(err)];
74
+ }
75
+ }
76
+ function writeHandle(handle, b) {
77
+ if (typeof handle.writeSync !== "function") {
78
+ return [0, ErrUnimplemented];
79
+ }
80
+ try {
81
+ let offset = 0;
82
+ while (offset < b.length) {
83
+ const n = handle.writeSync(b.subarray(offset));
84
+ if (!Number.isFinite(n) || n < 0) {
85
+ throw new Error(`invalid write result: ${n}`);
86
+ }
87
+ if (n === 0) {
88
+ throw new Error("short write");
89
+ }
90
+ offset += n;
140
91
  }
92
+ return [b.length, null];
93
+ }
94
+ catch (err) {
95
+ return [0, newHostError(err)];
141
96
  }
142
- return [0, ErrUnimplemented];
143
97
  }
144
98
  class hostFileInfo {
145
99
  name;
@@ -200,10 +154,11 @@ export function createFileInfo(name, stat) {
200
154
  export function createHostFile(name, fd = -1, handle = null) {
201
155
  return new File({
202
156
  fd,
203
- file: new file({ handle, path: name }),
157
+ file: new file({ handle: handle ?? hostRuntime.getStdioHandle(fd), path: name }),
204
158
  name,
205
159
  });
206
160
  }
161
+ export { resetHostRuntimeForTests };
207
162
  // Export runtime values for ES module compatibility
208
163
  export const Time = null;
209
164
  export const FileInfo = null;
@@ -269,7 +224,10 @@ export class File {
269
224
  return [0, null];
270
225
  }
271
226
  const buf = $.bytesToUint8Array(b);
272
- const [n, err] = readFD(this.fd, buf);
227
+ const handle = this.file?.handle;
228
+ const [n, err] = handle && typeof handle.readSync === "function"
229
+ ? readHandle(handle, buf)
230
+ : readFD(this.fd, buf);
273
231
  if (!(b instanceof Uint8Array) && n > 0) {
274
232
  $.copy(b, buf.subarray(0, n));
275
233
  }
@@ -304,7 +262,11 @@ export class File {
304
262
  if (b === null) {
305
263
  return [0, null];
306
264
  }
307
- return writeFD(this.fd, $.bytesToUint8Array(b));
265
+ const buf = $.bytesToUint8Array(b);
266
+ const handle = this.file?.handle;
267
+ return handle && typeof handle.writeSync === "function"
268
+ ? writeHandle(handle, buf)
269
+ : writeFD(this.fd, buf);
308
270
  }
309
271
  WriteAt(b, off) {
310
272
  const handle = this.file?.handle;
@@ -1 +1 @@
1
- {"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { Slice, SliceProxy } from './slice.js'
2
+ import { writeHostStdoutText } from './hostio.js'
3
+ import { formatPrintedArgs } from './print.js'
2
4
  import { isSliceProxy } from './slice.js'
3
5
 
4
6
  /**
@@ -6,12 +8,8 @@ import { isSliceProxy } from './slice.js'
6
8
  * @param args Arguments to print
7
9
  */
8
10
  export function println(...args: any[]): void {
9
- if (args.length === 0) {
10
- // Bun's console.log() with no args doesn't print a newline, so we explicitly print an empty string
11
- console.log('')
12
- } else {
13
- console.log(...args)
14
- }
11
+ const message = (args.length === 0 ? '' : formatPrintedArgs(args)) + '\n'
12
+ writeHostStdoutText(message)
15
13
  }
16
14
 
17
15
  /**
@@ -0,0 +1,69 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest'
2
+
3
+ import {
4
+ resetHostRuntimeForTests,
5
+ writeHostStderrText,
6
+ writeHostStdoutText,
7
+ } from './hostio.js'
8
+
9
+ const originalDeno = (globalThis as any).Deno
10
+ const originalProcess = (globalThis as any).process
11
+
12
+ afterEach(() => {
13
+ if (originalDeno === undefined) {
14
+ delete (globalThis as any).Deno
15
+ } else {
16
+ ;(globalThis as any).Deno = originalDeno
17
+ }
18
+
19
+ if (originalProcess === undefined) {
20
+ delete (globalThis as any).process
21
+ } else {
22
+ ;(globalThis as any).process = originalProcess
23
+ }
24
+
25
+ resetHostRuntimeForTests()
26
+ })
27
+
28
+ describe('hostio text writes', () => {
29
+ it('uses sync node fs writes for stdout and stderr', () => {
30
+ const writes: Array<{ fd: number; bytes: number[] }> = []
31
+ const writeSync = vi.fn(
32
+ (
33
+ fd: number,
34
+ buffer: Uint8Array,
35
+ _offset?: number,
36
+ length?: number,
37
+ _position?: number | null,
38
+ ) => {
39
+ writes.push({
40
+ bytes: Array.from(buffer.subarray(0, length ?? buffer.length)),
41
+ fd,
42
+ })
43
+ return length ?? buffer.length
44
+ },
45
+ )
46
+
47
+ delete (globalThis as any).Deno
48
+ ;(globalThis as any).process = {
49
+ getBuiltinModule: vi.fn(() => ({
50
+ readSync: vi.fn(),
51
+ writeSync,
52
+ })),
53
+ stderr: { write: vi.fn() },
54
+ stdout: { write: vi.fn() },
55
+ }
56
+ resetHostRuntimeForTests()
57
+
58
+ writeHostStdoutText('ok\n')
59
+ writeHostStderrText('err\n')
60
+
61
+ expect(writeSync).toHaveBeenCalledTimes(2)
62
+ expect(writes).toEqual([
63
+ { bytes: [111, 107, 10], fd: 1 },
64
+ { bytes: [101, 114, 114, 10], fd: 2 },
65
+ ])
66
+ expect((globalThis as any).process.stdout.write).not.toHaveBeenCalled()
67
+ expect((globalThis as any).process.stderr.write).not.toHaveBeenCalled()
68
+ })
69
+ })