1.3.4 • Published 7 months ago

@ben_12/eslint-plugin-dprint v1.3.4

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

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
$ npm install -D dprint-plugin-malva
$ npm install -D dprint-plugin-markup
$ npm install -D dprint-plugin-yaml
$ npm install -D dprint-plugin-graphql

npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped) npm peer dependency version (scoped)

📖 Usage

Write your ESLint configuration. For example with typescript code:

From eslint v9 (flat configuration)

import tsPlugin from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import dprint from "@ben_12/eslint-plugin-dprint";

module.exports = {
  files: ["**/*.ts", "**/*.js"],

  languageOptions: {
      parser: tsParser
  },

  plugins: {
      "@typescript-eslint": tsPlugin,
      "@ben_12/dprint": dprint,
  },

  rules: {
    ...tsPlugin.configs["eslint-recommended"].rules,
    ...tsPlugin.configs["recommended"].rules,
    ...tsPlugin.configs["strict"].rules,
    ...dprint.configs["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/
        },
      },
    ],
  },
};

For old eslint (eslintrc configuration)

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!

For unparsed eslint file like markdown or dockerfile, you can use @ben_12/eslint-simple-parser as parser.

import dprint from "@ben_12/eslint-plugin-dprint"
import simpleParser from "@ben_12/eslint-simple-parser"

export default [{
    files: ["**/*.md"],
    plugins: {
        "@ben_12/dprint": dprint,
    },
    languageOptions: {
        parser: simpleParser,
    },
    rules: dprint.configs["markdown-recommended"].rules,
}]

Available Rules

RuleDescription
@ben_12/dprint/dockerfileFormat dockerfile code with @dprint/dockerfile.
@ben_12/dprint/jsonFormat json code with @dprint/json.
@ben_12/dprint/markdownFormat markdown code with @dprint/markdown.
@ben_12/dprint/tomlFormat toml code with @dprint/toml.
@ben_12/dprint/typescriptFormat typescript code with @dprint/typescript.
@ben_12/dprint/malvaFormat css/scss/less/sass code with malva.
@ben_12/dprint/markupFormat HTML/Vue/Svelte/... code with markup_fmt.
@ben_12/dprint/yamlFormat YAML code with pretty_yaml.
@ben_12/dprint/graphqlFormat GraphQL code with pretty_graphql.

Available Configs

ConfigDescription
plugin:@ben_12/dprint/disable-typescript-conflict-rulesDisable rules where are conflicted with the @ben_12/dprint/typescript rule.
plugin:@ben_12/dprint/dockerfile-recommendedEnable the @ben_12/dprint/dockerfile rule.
plugin:@ben_12/dprint/json-recommendedEnable the @ben_12/dprint/json rule.
plugin:@ben_12/dprint/markdown-recommendedEnable the @ben_12/dprint/markdown rule.
plugin:@ben_12/dprint/toml-recommendedEnable the @ben_12/dprint/toml rule.
plugin:@ben_12/dprint/typescript-recommendedEnable the @ben_12/dprint/typescript rule along with the plugin:@ben_12/dprint/disable-typescript-conflict-rules preset.
plugin:@ben_12/dprint/malva-recommendedEnable the @ben_12/dprint/malva rule.
plugin:@ben_12/dprint/markup-recommendedEnable the @ben_12/dprint/markup rule.
plugin:@ben_12/dprint/yaml-recommendedEnable the @ben_12/dprint/yaml rule.
plugin:@ben_12/dprint/graphql-recommendedEnable the @ben_12/dprint/graphql rule.

📰 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.
1.2.0

8 months ago

1.0.2

11 months ago

1.0.1

12 months ago

1.0.0

12 months ago

1.2.1

8 months ago

1.0.3

10 months ago

0.15.0

1 year ago

1.1.1

9 months ago

1.1.0

10 months ago

1.3.4

7 months ago

1.3.3

7 months ago

1.3.2

7 months ago

1.3.1

7 months ago

1.3.0

7 months ago

1.1.2

9 months ago

0.14.5

1 year ago

0.14.3

1 year ago

0.14.4

1 year ago

0.14.2

1 year ago

0.14.1

1 year ago

0.13.8

1 year ago

0.13.9

1 year ago

0.14.0

1 year ago

0.13.6

1 year ago

0.13.7

1 year ago

0.13.0

2 years ago

0.13.1

2 years ago

0.13.2

1 year ago

0.13.3

1 year ago

0.13.4

1 year ago

0.13.5

1 year ago

0.12.1

2 years ago

0.12.0

2 years ago

0.11.3

2 years ago

0.11.2

2 years ago

0.11.1

2 years ago

0.11.0

2 years ago

0.10.2

2 years ago

0.10.1

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.8.4

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.2

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago