0.3.0 • Published 1 year ago

eslint-plugin-dprint-integration v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

eslint-plugin-dprint-integration

NPM version

Make dprint work with eslint. Works perfectly with virtual files (like codeblocks in markdown).

📦 Installation

$ npm install eslint-plugin-dprint-integration -D
$ yarn add eslint-plugin-dprint-integration -D
$ pnpm add eslint-plugin-dprint-integration -D

🚀 Usage

Basic

Add these line to your eslintrc:

// .eslintrc.js
module.exports = {
  plugins: ["dprint-integration"],
  rules: {
    "dprint-integration/dprint": "error",
  },
};

This will use dprint's default config.

Or:

// .eslintrc.js
module.exports = {
  extends: ["plugin:dprint-integration/recommended"],
};

To turn off the conflicting stylish eslint rules (like eslint-config-prettier), just add:

// .eslintrc.js
module.exports = {
  extends: ["plugin:dprint-integration/disable-conflict"],
};

Advanced

You can pass config to the plugin:

// .eslintrc.js
module.exports = {
  plugins: ["dprint-integration"],
  rules: {
    "dprint-integration/dprint": [
      "error",
      // Global Config (will pass to the dprint formatter directly): Available at https://dprint.dev/config/
      {
        lineWidth: 80,
      },
      // Plugin Specific Config (will pass to the dprint plugins): Available at https://dprint.dev/plugins/
      {
        typescript: {
          // This applies to both JavaScript & TypeScript
          "quoteStyle": "preferSingle",
          "binaryExpression.operatorPosition": "sameLine",
        },
        json: {},
        toml: {},
        markdown: {},
        dockerfile: {},
      },
    ],
  },
};

If you want, you can use dprint.json:

// .eslintrc.js
module.exports = {
  plugins: ["dprint-integration"],
  rules: {
    "dprint-integration/dprint": [
      "error",
      // Global Config (will pass to the dprint formatter directly): Available at https://dprint.dev/config/
      {
        // A special option to use dprint.json
        useDprintJson: true,
        // Or a specified path to dprint.json
        // useDprintJson: "path/to/dprint.json",
      },
      // Plugin Specific Config (will pass to the dprint plugins): Available at https://dprint.dev/plugins/
      {},
    ],
  },
};

📝 License

MIT. Made with ❤️ by Ray