1.1.3 • Published 8 months ago

webpack-loader-denolint v1.1.3

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

webpack-loader-denolint

Latest version Dependency status Coverage

A Webpack loader to lint entry points and all imported files with denolint.

A lot faster than eslint-loader, handling both JavaScript and TypeScript sources. Use rollup-plugin-denolint for Rollup. Use esbuild-plugin-denolint for esbuild. Or simpler, just the command-line denolint.

Synopsis

module.exports = {
  // the rest of the configuration
  module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'webpack-loader-denolint'
      },
      // other loaders
    ]
  }
}

Installation

Make sure that you use Node.js 14 or newer and Webpack 5 or newer. Use your favourite package manager - NPM, PNPM or Yarn:

npm i -D webpack-loader-denolint
pnpm i -D webpack-loader-denolint
yarn add -D webpack-loader-denolint

Usage

Create a webpack.config.js configuration file and enable the loader:

module.exports = {
  // the rest of the configuration
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: ['tests'],
        loader: 'webpack-loader-denolint',
        options: {
          rules: {
            exclude: ['no-unused-vars']
          }
        }
      },
      // other loaders
    ]
  }
}

Then call webpack either via the command-line or programmatically.

Options

The following options can be passed in an object to the plugin function to change the default values.

configFile

Type: string Default: '.denolint.json'

Config file to load the tag, rule inclusion and exclusion lists from. File inclusion and exclusion lists are ignored. Use include and exclude options of this plugin.

ignoreConfig

Type: boolean Default: false

Do not look for .denolint.json by default.

rules

Type: object Default: undefined

Rules to include or exclude. If specified, the config file will be ignored. See Rules below.

throwOnWarning

Type: boolean Default: true

Throw an error and abort if any warnings were reported.

throwOnError

Type: boolean Default: true

Throw an error and abort if source file parsing failed fatally.

format

Type: string Default: 'pretty'

Format of the warning messages. Either compact or pretty (default).

formatter

Type: boolean Default: true

Custom warning and error formatter:

(messages: string[], path: string, content: string) => string[]

Rules

The following properties are recognised in the rules object.

all

Type: boolean Default: false

Use all rules if set to true, otherwise only the recommended ones.

include

Type: string[] Default: []

List of rules to include extra, if only recommended rules are enabled.

exclude

Type: string[] Default: []

List of rules to exclude from all or recommended ones.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Lint and test your code.

License

Copyright (C) 2022-2023 Ferdinand Prantl

Licensed under the MIT License.