rollup-plugin-denolint
v1.2.4
Published
A Rollup plugin to lint entry points and all imported files with denolint.
Downloads
9
Maintainers
Readme
rollup-plugin-denolint
A Rollup plugin to lint entry points and all imported files with denolint.
A lot faster than @rollup/plugin-eslint, handling both JavaScript and TypeScript sources. Use esbuild-plugin-denolint for esbuild. Use webpack-loader-denolint for Webpack. Or simpler, just the command-line denolint
.
Synopsis
import { denolint } from 'rollup-plugin-denolint'
export default {
plugins: [denolint()]
// the rest of the configuration
}
Installation
Make sure that you use Node.js 14 or newer and Rollup 2 or newer. Use your favourite package manager - NPM, PNPM or Yarn:
npm i -D rollup-plugin-denolint
pnpm i -D rollup-plugin-denolint
yarn add -D rollup-plugin-denolint
Usage
Create a rollup.config.js
configuration file and import the plugin:
import { denolint } from 'rollup-plugin-denolint'
export default {
input: 'src/index.js',
output: { file: 'dist/main.js', format: 'iife', sourcemap: true },
plugins: [
denolint({
exclude: ['tests'],
rules: {
exclude: ['no-unused-vars']
}
})
]
}
Then call rollup
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.
include
Type: string[] | string
Default: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx']
List of source file patterns to include.
exclude
Type: string[] string | | regex
Default: /node_modules/
List of source file patterns or a regex to exclude.
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[], id: string, source: 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.
Alternative
Instead of checking the source files as they are processed, you can check all sources, when the bundler starts. It resembles more how the command-line denolint
works and you can reuse the files.include
and files.exclude
configuration from .denolint.json
:
import { denolintAll } from 'rollup-plugin-denolint'
export default {
input: 'src/index.js',
output: { file: 'dist/main.js', format: 'iife', sourcemap: true },
plugins: [
denolintAll()
]
}
Options include
, exclude
, configFile
, format
, formatter
, throwOnWarning
, throwOnError
are recognised. Options include
, exclude
override files.include
and files.exclude
from .denolint.json
and have the same meaning. They are not passed to rollup
.
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.