@ricsam/isolate-path
v0.1.9
Published
POSIX path utilities (join, resolve, dirname, basename, etc.) for isolated-vm V8 sandbox
Downloads
894
Maintainers
Readme
@ricsam/isolate-path
Node.js-compatible path utilities for POSIX paths in isolated-vm V8 sandbox.
Installation
npm add @ricsam/isolate-pathUsage
import { setupPath } from "@ricsam/isolate-path";
// Default: uses "/" as working directory
const handle = await setupPath(context);
// Custom working directory for path.resolve()
const handle = await setupPath(context, { cwd: "/home/user/project" });Options
cwd- Current working directory forpath.resolve(). Defaults to"/".
Injected Globals
path.join(...paths)- Join path segmentspath.resolve(...paths)- Resolve to absolute path (uses configuredcwdas base)path.normalize(path)- Normalize a pathpath.basename(path, ext?)- Get file namepath.dirname(path)- Get directory namepath.extname(path)- Get file extensionpath.isAbsolute(path)- Check if path is absolutepath.parse(path)- Parse into componentspath.format(obj)- Format from componentspath.relative(from, to)- Get relative pathpath.sep- Path separator (/)path.delimiter- Path delimiter (:)path.posix- Alias topath(POSIX-only implementation)
Usage in Isolate
// Join paths
path.join('/foo', 'bar', 'baz'); // "/foo/bar/baz"
path.join('foo', 'bar', '..', 'baz'); // "foo/baz"
// Resolve to absolute (relative paths use configured cwd)
path.resolve('foo/bar'); // Uses cwd + "/foo/bar"
path.resolve('/foo', 'bar'); // "/foo/bar" (absolute paths ignore cwd)
// Parse and format
const parsed = path.parse('/foo/bar/baz.txt');
// { root: "/", dir: "/foo/bar", base: "baz.txt", ext: ".txt", name: "baz" }
path.format({ dir: '/foo/bar', base: 'baz.txt' }); // "/foo/bar/baz.txt"
// Other utilities
path.basename('/foo/bar/baz.txt'); // "baz.txt"
path.dirname('/foo/bar/baz.txt'); // "/foo/bar"
path.extname('file.tar.gz'); // ".gz"
path.isAbsolute('/foo'); // trueLicense
MIT
