Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mongodb-js-fmt

Package Overview
Dependencies
Maintainers
36
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongodb-js-fmt

Automatically rewrites our code to a shared spec because style is for tailors.

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
36
Created
Source

:wave: Sunset

If you're seeing this message, it's because your module is still using mongodb-js-fmt which has been sunset. This project has been hanging around for far too long... jsfmt has long been replaced by prettier and editor's are now completely different. It no longer is, it was. :)

mongodb-js-fmt never even made it to a minor release, but it snuck into lots of project templates so I'm including this message to help cleanup.

Here's how to make this go away:

  1. Remove "fmt": "mongodb-js-fmt" from "scripts" in your package.json
  2. npm uninstall --save-dev mongodb-js-fmt
  3. Install prettier for the IDE/Editor of your choice
  4. If you see "mongodb-js-fmt": "0.0.3" in a friend's package.json, send them a PR or this link https://github.com/mongodb-js/fmt

Why?

This project has been hanging around for far too long... jsfmt has long been replaced by prettier and editor's are now completely different.

Install prettier for the IDE/Editor of your choice.

The README below is preserved for future travelers.


mongodb-js-fmt travis npm

Automatically rewrites our code to a shared spec because style is for tailors.

Usage

npm install --save-dev mongodb-js-fmt

Add a new fmt script to your package.json:

{
  "name": "<your-module-name>",
  "scripts": {
    "fmt": "mongodb-js-fmt ./*.js lib/{**/*.js,*.js}"
  }
}

Now run it to have your files rewritten:

npm run fmt

How It Works

mongodb-js-fmt is merely a thin wrapper around a code rewriter and canonical configuration file that defines the rules the rewriter should apply so all of our code looks the same and we never have to waste time on style in code reviews or arguing about which rewriter tool is best.

Currently, we use jsfmt from the Rdio team as the rewriter. It's been an essential part of our daily workflow since mid-2014 and literally saves us each hours of work per month.

@todo: why does this module exist? package everything up in one box, strict control of upstreams, swap out the rewriter seamlessly when something better comes along e.g. want to ditch jsfmt for eslint --autofix + fb's amazing http://npm.im/jscodeshift

Todo

--dry          Display diffs instead of rewriting files  [Default: `false`].
--changed      Populate `<file>...` based on local changes via `git status` [Default: `false`].

--changed

Use git ls-files to populate opts.files

--dry

Display diffs only and don't overwrite files.

Atom Package

Just need to publish to apm? Just want one source of truth and to be able to delete the 100's of duplicate .jsfmtrc files across our projects.

esformatter-collapse-objects

It's really nice, but needs a little time to tweak configs a bit to aggree w/ eslint rules. This allows for:

var res = {formatted: [], unchanged: []};

instead of always forcing:

var res = {
  formatted: [],
  unchanged: []
};

License

Apache 2

FAQs

Package last updated on 15 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc