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

@johnls/whitespace

v1.2.1

Published

Line ending and beginning-of-line whitespace space correction tools

Downloads

13

Readme

Whitespace Tools

Tools to normalize end-of-line (EOL) & beginning-of-line (BOL) whitespace in text files.

Installation

Install the tools with:

npm install whitespace-tools

This will install the spacer and ender tools. Or run the latest version directly from npmjs.org with:

npx -p whitespace-tools spacer ...
npx -p whitespace-tools ender ...

Ender

The ender tool will normalize line endings. Run ender --help for a list of options.

Run with a file name or pipe a file into the tool to get information on current line endings:

ender src/mySourceFile.js
cat someTextFile.txt | ender

To convert a file, supply --new-eol as one of cr, lf, crlf or auto. If no -output-file option is given, the file will go to STDOUT.

Spacer

The spacer tool will normalize line beginnings, up to the first non-whitespace character. Run spacer --help for options.

Run with a file name or pipe a file into the tool to get information on current line beginnings:

spacer src/mySourcFile.js
cat someTextFile.txt | spacer

You can supply the --new-bol argument with either spaces, tabs or auto. If the file has existing tabs, supply the --tab-size argument indicating how many spaces a tab represents. If tabs is supplied as --new-bol, supply the --round flag if you wish extra spaces to be rounded down to a whole tab. Without this flag, the outputted file will still be reported as having mixed BOL's if there are any odd spaces in the BOL's.

About This project

I've implemented this project in C#, Ruby, Python and now Javascript as a way to learn new programming languages, and also because they are really useful tools! A search across projects in GitHub will reveal just how many files have mixtures of tabs & spaces at line BOL's. Line ending problems are a little rarer these days, but they do still occur from time-to-time.

The project is written in ES6 Javascript and cross compiled using Babel. It currently targets Node 8. PR's welcome for any enhancements.