1
0
mirror of https://github.com/golang/go synced 2024-11-25 08:57:58 -07:00

syscall, misc/wasm: fix path expansion on non-unix platforms

This commit is contained in:
Zxilly 2024-07-01 16:46:42 +08:00
parent 82c371a307
commit f35ff1a2ee
No known key found for this signature in database
GPG Key ID: 47AB1DEC841BC6A2
3 changed files with 12 additions and 4 deletions

View File

@ -73,6 +73,14 @@
}
}
if (!globalThis.path) {
globalThis.path = {
resolve(...pathSegments) {
return pathSegments.join("/");
}
}
}
if (!globalThis.crypto) {
throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");
}

View File

@ -11,6 +11,7 @@ if (process.argv.length < 3) {
globalThis.require = require;
globalThis.fs = require("fs");
globalThis.path = require("path");
globalThis.TextEncoder = require("util").TextEncoder;
globalThis.TextDecoder = require("util").TextDecoder;

View File

@ -16,6 +16,7 @@ import (
func now() (sec int64, nsec int32)
var jsProcess = js.Global().Get("process")
var jsPath = js.Global().Get("path")
var jsFS = js.Global().Get("fs")
var constants = jsFS.Get("constants")
@ -101,10 +102,8 @@ func Open(path string, openmode int, perm uint32) (int, error) {
}
}
if path[0] != '/' {
cwd := jsProcess.Call("cwd").String()
path = cwd + "/" + path
}
path = jsPath.Call("resolve", path).String()
f := &jsFile{
path: path,
entries: entries,