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

line-ending-corrector

v1.0.1

Published

Line Ending Corrector - An utility that makes sure your files have consistent line endings.

Downloads

21,085

Readme

line-ending-corrector

Line Ending Corrector - A utility that makes sure your files have consistent line endings.

It converts all those pesky \r\n (a.k.a CRLF) line endings in Microsoft Windows operating systems into the more commonly used and recognized \n (a.k.a LF). Though it lets you do the opposite as well ( converting LF to CRLF ). It supports \r (a.k.a CR) as well for the sake of completion.

You should definitely have this in your build process especially if someone in your team works from a non UNIX system.

Features

  • Supports recusive mode for all files in a directory
  • Can be used from the command line using lec. See Here
  • Has a gulp module
  • Exposes a programmatic API.

Installation

For using programmatically

[sudo] npm install line-ending-corrector

Programmatic Usage

To require

CoffeeScript

{ LineEndingCorrector } = require 'line-ending-corrector'

JavaScript

LineEndingCorrector = require('line-ending-corrector').LineEndingCorrector

Methods

LineEndingCorrector.correctSync(contents, options)

returns [ wasAltered Boolean, modifiedContents String ]

CoffeeScript

contentsOfSomeFile = arbitaryFunctionToLoadFile()
[ wasAltered, modifiedContents ] = LineEndingCorrector.correctSync contentsOfSomeFile
if wasAltered
  arbitaryFunctionToSaveFile modifiedContents

JavaScript

contentsOfSomeFile = arbitaryFunctionToLoadFile();
res = LineEndingCorrector.correctSync(contentsOfSomeFile);
if(res.wasAltered) {
  arbitaryFunctionToSaveFile(res.modifiedContents);
}

ES6

contentsOfSomeFile = arbitaryFunctionToLoadFile();
{ wasAltered, modifiedContents } = LineEndingCorrector.correctSync(contentsOfSomeFile);
if(wasAltered) {
  arbitaryFunctionToSaveFile(modifiedContents);
}

LineEndingCorrector.correctStream(contentStream, options)

returns modifiedContentStream stream.Readable

CoffeeScript

contentStream = arbitaryFunctionToLoadFileAsStream()
modifiedContentStream = LineEndingCorrector.correctStream contentStream, { encoding: 'utf8', eolc: 'LF'}
arbitaryFunctionToSaveFileFromStream modifiedContents

LineEndingCorrector.correct(content, options, callbackFunction)

callbackFunction is called with (err Error, wasAltered boolean, modifiedContent String)

CoffeeScript

content = arbitaryFunctionToLoadFile()
LineEndingCorrector.correct content, { eolc: 'LF' }, (err, wasAltered, modifiedContent)=>
  throw err if err
  if wasAltered
    arbitaryFunctionToSaveFileFromStream modifiedContent

Options

eolc Desired End of Line character. can be CR (\r), LF(\n) (Default), CRLF(\r\n)

encoding Any meaningful encoding that nodejs supports. Default utf8. It is advisable to use utf8 since others are not tested by the devs.

Gulp

See gulp-line-ending-corrector

Testing

You need mocha

npm test

Contributing

We actively check for issues even for the least used repositories (unless explicitly abandoned). All of our opensource repositories are being used in commercial projects by teamO4 or bbsenterprise. So, it is very likely that we will sort out important issues not long after they are posted.

Please create a github issue if you find a bug or have a feature request.

Pull requests are always welcome for any of our public repos.