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 🙏

© 2026 – Pkg Stats / Ryan Hefner

depercolator

v0.5.0

Published

Converts coffeescript to idiomatic javascript (supports JSX)

Readme

Depercolator CircleCI

This tool is a swiss army knife for converting coffeescript files to javascript. It relies on several other tools to ease the conversion process and create idiomatic javascript and JSX.

Learn more from our blog on converting our React codebase from CoffeeScript to ES6.

Installation

npm i -g depercolator

or

yarn global add depercolator

Usage

depercolate <file> [options]

Options

  • -o, --output [filepath]: Change path of resulting file (defaults to same path as original with a different extension)
  • --skip-prettier: Do not reformat the file with prettier (default is false)

Decaffeinate options

Most options from decaffeinate can be passed through to the underlying command

  • --modernize-js: Treat the input as JavaScript and only run the JavaScript-to-JavaScript transforms, modifying the file(s) in-place.
  • --literate: Treat the input file as Literate CoffeeScript.
  • --disable-suggestion-comment: Do not include a comment with followup suggestions at the top of the output file.
  • --no-array-includes: Do not use Array.prototype.includes in generated code.
  • --use-optional-chaining: Use the upcoming optional chaining syntax for operators like ?..
  • --use-js-modules: Convert require and module.exports to import and export.
  • --loose-js-modules: Allow named exports when converting to JS modules.
  • --safe-import-function-identifiers: Comma-separated list of function names that may safely be in the import/require section of the file. All other function calls will disqualify later requires from being converted to imports.
  • --prefer-let: Use let instead of const for most variables in output code.
  • --loose: Enable all --loose... options.
  • --loose-default-params: Convert CS default params to JS default params.
  • --loose-for-expressions: Do not wrap expression loop targets in Array.from.
  • --loose-for-of: Do not wrap JS for...of loop targets in Array.from.
  • --loose-includes: Do not wrap in Array.from when converting in to includes.
  • --loose-comparison-negation: Allow unsafe simplifications like !(a > b) to a <= b.
  • --disable-babel-constructor-workaround: Never include the Babel/TypeScript workaround code to allow this before super in constructors.
  • --disallow-invalid-constructors: Give an error when constructors use this before super or omit the super call in a subclass.

Prettier options

Most options from prettier can be passed through to the underlying command

  • --no-bracket-spacing: Do not print spaces between brackets.
  • --jsx-bracket-same-line: Put > on the last line instead of at a new line.
  • --parser <flow|babylon|typescript|css|less|scss|json|graphql|markdown>: Which parser to use
  • --print-width <int>: The line length where Prettier will try wrap.
  • --no-prose-wrap: Do not wrap prose. (markdown)
  • --no-semi: Do not print semicolons, except at the beginning of lines which may need them.
  • --single-quote: Use single quotes instead of double quotes.
  • --tab-width <int>: Number of spaces per indentation level.
  • --trailing-comma <none|es5|all>: Print trailing commas wherever possible when multi-line.
  • --use-tabs: Indent with tabs instead of spaces.