forked from codinit-dev/codinit-dev
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpath.ts
More file actions
19 lines (18 loc) · 978 Bytes
/
Copy pathpath.ts
File metadata and controls
19 lines (18 loc) · 978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Browser-compatible path utilities
import type { ParsedPath } from 'path';
import pathBrowserify from 'path-browserify';
/**
* A browser-compatible path utility that mimics Node's path module
* Using path-browserify for consistent behavior in browser environments
*/
export const path = {
join: (...paths: string[]): string => pathBrowserify.join(...paths),
dirname: (path: string): string => pathBrowserify.dirname(path),
basename: (path: string, ext?: string): string => pathBrowserify.basename(path, ext),
extname: (path: string): string => pathBrowserify.extname(path),
relative: (from: string, to: string): string => pathBrowserify.relative(from, to),
isAbsolute: (path: string): boolean => pathBrowserify.isAbsolute(path),
normalize: (path: string): string => pathBrowserify.normalize(path),
parse: (path: string): ParsedPath => pathBrowserify.parse(path),
format: (pathObject: ParsedPath): string => pathBrowserify.format(pathObject),
} as const;