npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

path-browserify-es

v1.1.0

Published

The path module from node core for browsers

Downloads

77

Readme

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