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

extract-path

v2.0.0

Published

Extract a valid fs path from a string

Downloads

25,033

Readme

extract-path

NPM version Build Status coveralls-image MIT license

Extract a valid fs path from a string.

extract-path is a node library that will attempt to find a possible valid file system path for a given input, validate its existance within the file system and return the matching value upon confirmation.

Table of Contents

About

The main use case for the lib is to be able to take valid path values out of verbose outputs such as those generated by a git status command:

  • modified: src/Router.js resolves to src/Router.js
  • ?? src/utils/__tests__/file.test.js resolves to src/utils/__tests__/file.test.js

This library was primarily put together for usage in iPipeTo which allows for its users to easily extract a path out of a random input value. Some extra effort was made to ensure extract-path works well as a separated lib in the hope that it can be useful for different use cases out there. Feel free to refer to iPipeTo source code as a implementation example if ever needed.

Install

npm install extract-path

Usage

// example.js
const extractPath = require('extract-path');

extractPath('Selected file: ~/Documents/foo.js ...')
	.then(path => {
		console.log(path);
		// ~/Documents/foo.js
	});

API

The API only exposes a single function, that receives a string and returns a Promise which resolves with a single, valid string value or undefined if there was no possible match.

extractPath(str, opts)

  • str string value to be parsed in order to extract a valid fs path
  • opts [optional] object containing the following:
    • validateFileExists boolean wether the module should validate the file exists, defaults to true
    • resolveWithFallback boolean uses a fallback system that matches the entire input if a path couldn't be infered from the input, defaults to true

Credit

extract-path is heavily inspired by the work done in PathPicker parsing algorithm and regular expressions.

Related

iPipeTo - Interactive Pipe To: The missing cli interactive workflow

Contribute

Please do! This is an open source project. If you have a bug or want to discuss something, open an issue.

License

MIT © 2018 Ruy Adorno