Socket
Socket
Sign inDemoInstall

with-staged

Package Overview
Dependencies
37
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    with-staged

run a command (like linting) on git staged files


Version published
Weekly downloads
158
decreased by-56.47%
Maintainers
1
Install size
411 kB
Created
Weekly downloads
 

Changelog

Source

1.0.2

  • Exclude deleted files. (@Gastonite in #1)

Readme

Source

with-staged

run a command (like linting) on git staged files

Install - Usage - Node API - License: Apache-2.0

npm travis standard

Install

npm install with-staged

Usage

with-staged [PATTERNS] -- <COMMAND>
  Run a command on git staged files.

  PATTERNS - only run COMMAND for files matching one of the PATTERNS globs. When
             no PATTERNS are given, run COMMAND on all staged files.
  COMMAND - the command to execute. File names of matching files are appended as
            separate arguments.

Example:

  $ with-staged '**/*.js' -- standard
  runs `standard index.js test.js etc.js`

  $ with-staged '**/*.js' -- prettier --write
  runs `prettier --write index.js test.js etc.js`

You can use it with husky for very lightweight linting on git commit:

{
  "devDependencies": {
    "husky": "^0.14.0",
    "standard": "^11.0.0",
    "with-staged": "^1.0.0"
  },
  "scripts": {
    "lint": "standard",
    "precommit": "with-staged '**/*.js' -- npm run lint --"
  }
}

Node API

withStaged(patterns=['**'], opts={}, cb)

Get a filtered list of staged files.

patterns is an array of micromatch v2 glob patterns.

opts.cwd can be set to use a different working directory. The default is process.cwd().

cb is a Node-style (err, files) callback. files is an array of file names.

lint-staged is the inspiration for this module.

Differences:

  • with-staged is not tested on Windows and probably doesn't work there while lint-staged does
  • with-staged has a tiny dependency tree while lint-staged's is somewhat large
  • with-staged works with older Node versions while lint-staged requires v6+
  • with-staged is configured through command line arguments while lint-staged puts configuration in a separate package.json key
  • with-staged just dumps subprocess output, lint-staged has its own sweet progress UI (may be unnecessary for your use case)

lint-staged

{
  "lint-staged": {
    "**/*.js": [
      "prettier --write",
      "git add"
    ]
  }
}

with-staged

with-staged '**/*.js' -- prettier --write
with-staged '**/*.js' -- git add

License

Apache-2.0

Keywords

FAQs

Last updated on 17 Aug 2019

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc