# path-fx

> Path utils which don't necessarily depend on Node.js

Latest version **2.1.2** (published 2021-11-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install path-fx
pnpm add path-fx
yarn add path-fx
bun add path-fx
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.2 |
| Published | 2021-11-18 |
| First published | 2017-11-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 23 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Neek Sandhu |
| Maintainers | sweetslush |
| Keywords | path, utils, browser |

## Links

- npm: https://www.npmjs.com/package/path-fx
- Repository: https://github.com/NeekSandhu/path-fx
- Homepage: https://github.com/NeekSandhu/path-fx#readme
- Issues: https://github.com/NeekSandhu/path-fx/issues
- npm.io page: https://npm.io/package/path-fx

## Dependencies (1)

- [is-relative](https://npm.io/package/is-relative.md) ^1.0.0

## Alternatives

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 2.1.2 (latest) — 2021-11-18
- 2.1.1 — 2019-08-05
- 2.1.0 — 2018-12-30
- 2.0.0 — 2018-12-26
- 1.5.1 — 2018-12-25
- 1.5.0 — 2018-12-25
- 1.4.3 — 2018-12-25
- 1.4.2 — 2018-07-01
- 1.4.1 — 2018-07-01
- 1.4.0 — 2018-01-17
- 1.3.0 — 2018-01-10
- 1.2.0 — 2018-01-10
- 1.1.0 — 2017-11-25
- 1.0.1 — 2017-11-21
- 1.0.0 — 2017-11-20

## README

# Standalone, stateless, bare minimum `path` utils for things

Standalone and stateless imply that this package works without any context, unlike Node's built-in path module
which sometimes will use `process.cwd()` to do its thing.

If you didn't pick up already, this package is intended to be used in web apps only. And for that reason code
size has been kept as little as possible.

Some differences from node's `path` module:
 - `splitPath` exported from this package splits path on each delimeter
 - Leading and trailing slashes are preserved when calling any path operation like `join`, `normalize` or `relative`
 - Trailing slashes can be removed using `removeTrailingSlashes` if you so desire

## Usage

### Install

```bash
npm i path-fx
```

### Use

```javascript
import {
    // platform auto-detected utils
    dirname, extname, // basename, ...
    // platform specific
    win32, unix
} from 'path-fx';

// platform auto-detected utils
console.log(dirname('/etc/ping/pong')); // > /etc/ping
console.log(extname('/etc/ping/pong/foo.js')); // > .js

// notice back slash in the output (unix delimits path(s) only on forward slashes)
console.log(unix.basename('/etc/ping/pong/foo\\bar.js')); // > foo\bar.js

// notice mixed slashes (win32 uses forward AND back slashes as folder separators)
console.log(win32.basename('C:\\etc/ping\\pong/foo\\bar.js')); // > bar.js

```

## API defined in `dist/typings/index.d.ts`

## Important note

This module will use `navigator.platform` to set initial path separator it'll use for exported functions.

~~It is advised that you set it manually with `path.setPathSeparator()` to be sure.~~

Moving from `1.5.1` to `2.0.0`, `setPathSeparator` was removed as it was a global operation and was an opportunity for accidental bugs in your codebase.
Instead, `2.0.0+` now exports `unix` and `win32` objects alongside auto-detected utils.

---
_Source: https://npm.io/package/path-fx · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
