JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16058
  • Score
    100M100P100Q150032F
  • License MIT

Run linters on committed files in a Branch🔬

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lint-prepush) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    lint-prepush

    npm version npm downloads GitHub license

    Run linters on committed files🔬

    Getting Started 🔮

    lint-prepush will run linters on the commited files while pushing the code to remote.

    Prerequisites🔭

    • This package requires Node.js >=18.18.0.
    • A package to manage git hooks. (a tool like Husky)

    Installing

    npm

    npm install --save-dev lint-prepush

    using yarn:

    yarn add --dev lint-prepush

    Usage

    • Configure the following scripts in package.json to lint your committed files 🔧. You can also follow any of the cosmiconfig methods to configure lint-prepush.

    • pre-push git hook needs to be configured. Husky is a widely used package for managing git hooks.

    {
    + "lint-prepush": {
    +   "base": "main",
    +    "tasks": {
    +      "*.js": [
    +        "eslint"
    +      ]
    +    }
    +  }
    }

    The above scrips will lint the js files while pushing to git. It will terminate the process if there are any errors, otherwise, the changes will be pushed.

    Without Errors

    WithoutErrors

    With Errors

    With Erros

    Concurrent Tasks

    Tasks for a file group will by default run in linear order (eg. "*.js": [ "jest", "eslint"] will run jest first, then after it's done run eslint). If you'd like to run tasks for a file group concurrently instead (eg. jest and eslint in parallel), use the concurrent property like so:

    {
    + "lint-prepush": {
    +    "tasks": {
    +      "*.js": {
    +        concurrent: [ "jest", "eslint" ]
    +      }
    +    }
    +  }
    }

    Verbose

    By default when the tasks succeed, there is no output printed to the console. Sometimes you might need to show linter rules configured for warn which should be displayed even if the tasks succeed. In order to achieve this, you can pass the config verbose: true so that the task output is printed to the console when the tasks succeed.

    "lint-prepush": {
      "verbose": true,
      "tasks": {
        ...
      }
    }

    Built With

    Contributing

    • If you have any ideas, just open an issue and tell us what you think.
    • Pull requests are warmly welcome, If you would like to contribute to this project.

    Versioning

    This package use SemVer for versioning. For the versions available, see the tags on this repository.

    Authors

    See also the list of contributors who participated in this project.

    Acknowledgments

    License

    MIT @ Theena Dayalan