@climatiq/eslint-config

2.0.3 • Public • Published

Climatiq ESLint Config

This package provides Climatiq's ESLint configuration as a base config for any project in Climatiq and requires @next/eslint-plugin-next ,@typescript-eslint/eslint-plugin ,@typescript-eslint/parser ,eslint ,eslint-config-next ,eslint-config-prettier ,eslint-plugin-prettier ,eslint-webpack-plugin ,prettier ,typescript

Installation

To install this config and the peerDependencies (note the npx command). If you are using yarn, the command will detect it and will prompt to use yarn command instead.

yarn add --dev @climatiq/eslint-config

Now create an ESLint configuration file for your project that extends Climatiq's rules:

// eslint.rc.js
module.exports = {
    "extends": ["@climatiq"],
    parserOptions: {
        project: true,
        tsconfigRootDir: __dirname,
  },
}

Or use it directly on the command line:

npx eslint -c @climatiq/eslint-config ./src

Running ESLint while webpack is in development mode

When webpack is running and watching for changes, the eslint-webpack-plugin allows to run ESLint while watching by adding these lines to your webpack.config.js file:

const ESLintPlugin = require('eslint-webpack-plugin');

module.exports = {
  // ...
  plugins: [
      // ...,
      new ESLintPlugin({
        extensions: ['js', 'ts', 'tsx', 'jsx'],
        exclude: ['/node_modules/'],
        failOnError: false,
        files: [], // List of files/folders to run the lint while linting
      })
  ]
}

Next.js configuration

You can extend Next configuration to modify the webpack configuration object in a similar way:

const ESLintPlugin = require('eslint-webpack-plugin');

module.exports = {
    reactStrictMode: true,
    webpack: (config, { dev }) => {
        if (dev) {
            config.plugins.push(
                new ESLintPlugin({
                    extensions: ['js', 'ts', 'tsx', 'jsx'],
                    exclude: ['/node_modules/', '/.next/', '/public/'],
                    failOnError: false,
                    files: [], // List of files/folders to run the lint while linting
                }),
            );
        }
        return config;
    },
};

Dependents (0)

Package Sidebar

Install

npm i @climatiq/eslint-config

Weekly Downloads

101

Version

2.0.3

License

MIT

Unpacked Size

7.06 kB

Total Files

8

Last publish

Collaborators

  • grindcode
  • igmoweb