1.1.0 • Published 8 months ago

path-browserify-es v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

path-browserify-es

npm GitHub License: MIT

The path module from Node.js for browsers

This implements the Node.js path module for environments that do not have it, like browsers.

However, path-browserify does not work well with ES Module, for example, you cannot use named imports.

This fork aims to enable path-browserify to support the format of ES Module, and additionally add some new methods.

Installation

# npm
npm install path-browserify-es

# yarn
yarn add path-browserify-es

# pnpm
pnpm add path-browserify-es

TypeScript

This is already fully TypeScript based, there is no need to install any additional type packages.

Usage

Basic Usage

import path from "path-browserify-es";

const filename = "logo.png";
const logo = path.join("./assets/img", filename);
document.querySelector("#logo").src = logo;

New Feature: Named Import

You can do it directly like this:

import { resolve } from "path-browserify-es";

console.log(resolve("var/lib", "../", "file")); // "var/file"

Without:

import path from "path-browserify-es";

const { resolve } = path;
console.log(resolve("var/lib", "../", "file")); // "var/file"

// or

console.log(path.resolve("var/lib", "../", "file")); // "var/file"

New Methods

fileRoot

Get the file name without an extension.

console.log(path.basename("path/to/file.txt")); // "file.txt"
console.log(path.fileRoot("path/to/file.txt")); // "file"

Before this, you could only achieve it by parse("path/to/file.txt").name.

The function name comes from this post. It mentioned Vim calls it file root (:help filename-modifiers). I used to name it filenameWithoutExtension, but it was too long.

ext

Get the file extension name but without the leading dot.

console.log(path.extname("path/to/file.txt")); // ".txt"
console.log(path.ext("path/to/file.txt")); // "txt"

I used to name it extnameWithoutDot, but it was too long. And it's more commonly used than extname method. There is currently no widely accepted consensus on whether the extension needs to include the leading dot. If it's not for compatibility, it's best to rename the function that gets the extension with dot to dotExtname.

API

See the Node.js path docs. path-browserify currently matches the Node.js 10.3 API. path-browserify only implements the POSIX functions, not the win32 ones.

License

path-browserify-es is available under the MIT License. See the LICENSE file for more info.

References

1.1.0

8 months ago