laravel-mix-eslint-config

Laravel eslint-loader extension with configuration options.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
laravel-mix-eslint-config
0.1.75 years ago5 years agoMinified + gzip package size for laravel-mix-eslint-config in KB

Readme

NPM NPM NPM

Laravel Mix Eslint Config
This is a modified/extended version of laravel-mix-eslint -- which allows for more customization, or you can just use the defaults configuration settings.
The original extension could only customize config.options but all other config options were not editable, e.g.: 'compiler', 'enforce', 'exclude', 'include', 'issuer', 'loader', 'loaders', 'oneOf', 'options', 'parser', 'query', 'resolve', 'resource', 'resourceQuery', 'rules', 'sideEffects', 'test', 'type', 'use'.
This extension provides instant Eslint support to your Mix (v2.1 and up) builds, and is configurable for both react and vue.

Usage

First, install the extension.
npm install laravel-mix-eslint-config --save-dev
or
yarn add laravel-mix-eslint-config -D 

Then, require it within your webpack.mix.js file, like so:
let mix = require('laravel-mix');

require('laravel-mix-eslint-config');

mix
    .js('resources/assets/js/app.js', 'public/js').eslint({
        enforce: 'pre',
        test: ['js', 'vue'], // will convert to /\.(js|vue)$/ or you can use /\.(js|vue)$/ by itself. 
        exclude: ['node_modules', 'some/other/dir'], // will convert to regexp and work. or you can use a regular expression like /node_modules/,
        loader: 'eslint-loader',
        options: {
            fix: true,
            cache: false,
            //...
        }
    })
    .less('resources/assets/less/app.less', 'public/css');

You can pass an object with options for the eslint-loader to the mix.eslint() function.
Passing in a config object is optional, if you choose not to go that route, you can just use mix.eslint(), which will use the defaults:
{  
  enforce: 'pre',
  test: /\.(js|vue)$/,
  exclude: /node_modules/,
  loader: 'eslint-loader',
  options: {}
}

And you're done! Compile everything down with npm run dev.