diff --git a/osfs/os.go b/osfs/os.go index 9665d27..39d572b 100644 --- a/osfs/os.go +++ b/osfs/os.go @@ -1,4 +1,4 @@ -// +build !js +// +build !js,!tamago // Package osfs provides a billy filesystem for the OS. package osfs // import "github.com/go-git/go-billy/v5/osfs" diff --git a/osfs/os_posix.go b/osfs/os_posix.go index c74d60e..ca8c490 100644 --- a/osfs/os_posix.go +++ b/osfs/os_posix.go @@ -1,4 +1,4 @@ -// +build !plan9,!windows,!js +// +build !plan9,!windows,!js,!tamago package osfs diff --git a/osfs/os_tamago.go b/osfs/os_tamago.go new file mode 100644 index 0000000..a8424ef --- /dev/null +++ b/osfs/os_tamago.go @@ -0,0 +1,21 @@ +// +build tamago + +package osfs + +import ( + "github.com/go-git/go-billy/v5" + "github.com/go-git/go-billy/v5/helper/chroot" + "github.com/go-git/go-billy/v5/memfs" +) + +// globalMemFs is the global memory fs +var globalMemFs = memfs.New() + +// Default Filesystem representing the root of in-memory filesystem for a +// js/wasm environment. +var Default = memfs.New() + +// New returns a new OS filesystem. +func New(baseDir string) billy.Filesystem { + return chroot.New(Default, Default.Join("/", baseDir)) +}