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

compatible-path-parse

v1.0.1

Published

path.parse() from Node.js without unnecessary semver bumps

Downloads

14

Readme

path.parse() from Node.js without unnecessary semver bumps

npm

See packaged-path-parse for documentation, this module just is a re-export of that without unnecessary major- and minor- version bumps.

Why?

packaged-path-parse and compatible-path-parse were designed to come in pair.

packaged-path-parse packages path.parse() from a recent Node.js version under the same version as Node.js that the code originated from — to provide clear understanding of the Node.js version used as the source, to ease updating this module, and to give predictable behavior.

Because of that while packaged-path-parse conforms to semver requirements, it bumps versions more often than it should be done (but no needed bumps are missed).

So, this package provides additional semver goodness on top of that, making sure that minor- and major- versions of this package is not bumped when that is not needed by path.parse() implementation.

I.e. minor- versions of packaged-path-parse that do not actually bring any any additions (where a Node.js version bump was caused was caused by something other than path.parse()) will be included in a patch- release of this package. The same for major- versions of packaged-path-parse that do not bring any incompatibilities (and were just inherited from Node.js) — those will be either a minor- or a patch- versions of this package.

That said, this package conforms to semver and any imcompatible changes in packaged-path-parse will bump the major- version, and new additions will bump the minor- version.

That way you, and your users will get important updates faster, and that will better de-duplicate the code in case of several packages using this one.

Ponyfill

This module fits all definitions of being a ponyfill.

Usage

See path.parse() documentation.

const pathParse = require('compatible-path-parse')
pathParse(path) // platform-dependant, default — posix
pathParse.posix(path) // posix
pathParse.win32(path) // win32

License

MIT. See LICENSE file.