Skip to content

ben12/eslint-plugin-dprint

 
 

Repository files navigation

eslint-plugin-dprint

GitHub npm version Downloads/month
node-current npm peer dependency version (scoped) npm bundle size
Build Status codecov Quality Gate Status Quality Gate Quality Gate

This is an updated fork of mysticatea/eslint-plugin-dprint. Some things are still being adjusted.

The plugin that runs dprint to format code in ESLint.

💿 Installation

Use npm or a compatible tool.

$ npm install -D eslint @ben_12/eslint-plugin-dprint

Then install dprint plugin for the language to format.

$ npm install -D @dprint/dockerfile
$ npm install -D @dprint/json
$ npm install -D @dprint/markdown
$ npm install -D @dprint/toml
$ npm install -D @dprint/typescript

📖 Usage

Write your ESLint configuration. For example with typescript code:

module.exports = {
  extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@ben_12/dprint/typescript-recommended"],
  rules: {
    "@ben_12/dprint/typescript": [
      "error",
      {
        // Use dprint JSON configuration file (default: "dprint.json")
        // It may be created using `dprint init` command
        // See also https://dprint.dev/config/
        configFile: "dprint.json",
        config: {
          // The TypeScript configuration of dprint
          // See also https://dprint.dev/plugins/typescript/config/
        },
      },
    ],
  },
};

Then run ESLint with --fix!

Available Rules

Rule Description
@ben_12/dprint/dockerfile Format dockerfile code with @dprint/dockerfile.
@ben_12/dprint/json Format json code with @dprint/json.
@ben_12/dprint/markdown Format markdown code with @dprint/markdown.
@ben_12/dprint/toml Format toml code with @dprint/toml.
@ben_12/dprint/typescript Format typescript code with @dprint/typescript.

Available Configs

Config Description
plugin:@ben_12/dprint/disable-typescript-conflict-rules Disable rules where are conflicted with the @ben_12/dprint/typescript rule.
plugin:@ben_12/dprint/dockerfile-recommended Enable the @ben_12/dprint/dockerfile rule.
plugin:@ben_12/dprint/json-recommended Enable the @ben_12/dprint/json rule.
plugin:@ben_12/dprint/markdown-recommended Enable the @ben_12/dprint/markdown rule.
plugin:@ben_12/dprint/toml-recommended Enable the @ben_12/dprint/toml rule.
plugin:@ben_12/dprint/typescript-recommended Enable the @ben_12/dprint/typescript rule along with the plugin:@ben_12/dprint/disable-typescript-conflict-rules preset.
  • Put the [plugin:@ben_12/dprint/recommended] or [plugin:@ben_12/dprint/disable-conflict-rules] config into the last of your extends list in order to ensure disabling conflict rules where came from other base configurations.

📰 Changelog

See GitHub Releases.

❤️ Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

Development Tools

  • npm test ... Run tests. It generates code coverage into coverage directory.
  • npm run watch ... Run tests when files are edited.
  • npm version <patch|minor|major> ... Bump a new version.