Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ben12/eslint-plugin-dprint
An ESLint plugin that fixes code with dprint
https://github.com/ben12/eslint-plugin-dprint
dprint eslint eslint-plugin eslint-rules formatter typescript
Last synced: about 1 month ago
JSON representation
An ESLint plugin that fixes code with dprint
- Host: GitHub
- URL: https://github.com/ben12/eslint-plugin-dprint
- Owner: ben12
- License: mit
- Fork: true (rmobis/eslint-plugin-dprint)
- Created: 2023-09-23T17:31:23.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-09T01:05:37.000Z (9 months ago)
- Last Synced: 2024-06-29T09:12:37.040Z (8 months ago)
- Topics: dprint, eslint, eslint-plugin, eslint-rules, formatter, typescript
- Language: TypeScript
- Homepage: https://eslint-plugin-dprint.ben12.eu/
- Size: 4.17 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eslint-plugin-dprint
[](https://github.com/ben12/eslint-plugin-dprint/blob/master/LICENSE)
[](https://www.npmjs.com/package/@ben_12/eslint-plugin-dprint)
[](http://www.npmtrends.com/@ben_12/eslint-plugin-dprint)\
[](https://nodejs.org)
[](https://www.npmjs.com/package/eslint)
\
[](https://github.com/ben12/eslint-plugin-dprint/actions)
[](https://codecov.io/gh/ben12/eslint-plugin-dprint)
[](https://sonarcloud.io/summary/new_code?id=ben12_eslint-plugin-dprint)
[](https://sonarcloud.io/dashboard?id=ben12_eslint-plugin-dprint)
[](https://sonarcloud.io/dashboard?id=ben12_eslint-plugin-dprint)> 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
```## 📖 Usage
Write your ESLint configuration. For example with typescript code:
From eslint v9 (flat configuration)
```mjs
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)
```js
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]. |
| [@ben_12/dprint/malva] | Format css/scss/less/sass code with [malva]. |
| [@ben_12/dprint/markup] | Format HTML/Vue/Svelte/... code with [markup_fmt]. |### 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. |
| [plugin:@ben_12/dprint/malva-recommended] | Enable the [@ben_12/dprint/malva] rule. |
| [plugin:@ben_12/dprint/markup-recommended] | Enable the [@ben_12/dprint/markup] rule. |- 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](https://github.com/ben12/eslint-plugin-dprint/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 ` ... Bump a new version.[dprint]: https://github.com/dprint/dprint
[@dprint/dockerfile]: https://github.com/dprint/dprint-plugin-dockerfile
[@dprint/json]: https://github.com/dprint/dprint-plugin-json
[@dprint/markdown]: https://github.com/dprint/dprint-plugin-markdown
[@dprint/toml]: https://github.com/dprint/dprint-plugin-toml
[@dprint/typescript]: https://github.com/dprint/dprint-plugin-typescript
[malva]: https://github.com/g-plane/malva
[markup_fmt]: https://github.com/g-plane/markup_fmt
[npm]: https://www.npmjs.com/
[@ben_12/dprint/dockerfile]: docs/rules/dprint-dockerfile.md
[@ben_12/dprint/json]: docs/rules/dprint-json.md
[@ben_12/dprint/markdown]: docs/rules/dprint-markdown.md
[@ben_12/dprint/toml]: docs/rules/dprint-toml.md
[@ben_12/dprint/typescript]: docs/rules/dprint-typescript.md
[@ben_12/dprint/malva]: docs/rules/dprint-malva.md
[@ben_12/dprint/markup]: docs/rules/dprint-markup.md
[plugin:@ben_12/dprint/disable-typescript-conflict-rules]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/disable-typescript-conflict-rules.ts
[plugin:@ben_12/dprint/dockerfile-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L3
[plugin:@ben_12/dprint/json-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L10
[plugin:@ben_12/dprint/markdown-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L17
[plugin:@ben_12/dprint/toml-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L24
[plugin:@ben_12/dprint/typescript-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L31
[plugin:@ben_12/dprint/malva-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L39
[plugin:@ben_12/dprint/markup-recommended]: https://github.com/ben12/eslint-plugin-dprint/blob/master/lib/configs/recommended.ts#L46