deno_lint Node.js binding
node12 | node14 | node16 | node18 | |
---|---|---|---|---|
Windows x64 | ✓ | ✓ | ✓ | ✓ |
Windows x32 | ✓ | ✓ | ✓ | ✓ |
Windows arm64 | ✓ | ✓ | ✓ | ✓ |
macOS x64 | ✓ | ✓ | ✓ | ✓ |
macOS arm64 | ✓ | ✓ | ✓ | ✓ |
Linux x64 gnu | ✓ | ✓ | ✓ | ✓ |
Linux x64 musl | ✓ | ✓ | ✓ | ✓ |
Linux arm gnu | ✓ | ✓ | ✓ | ✓ |
Linux arm64 gnu | ✓ | ✓ | ✓ | ✓ |
Linux arm64 musl | ✓ | ✓ | ✓ | ✓ |
Android arm64 | ✓ | ✓ | ✓ | ✓ |
Android armv7 | ✓ | ✓ | ✓ | ✓ |
FreeBSD x64 | ✓ | ✓ | ✓ | ✓ |
Model Name: MacBook Pro
Model Identifier: MacBookPro15,1
Processor Name: 6-Core Intel Core i9
Processor Speed: 2.9 GHz
Number of Processors: 1
Total Number of Cores: 6
L2 Cache (per Core): 256 KB
L3 Cache: 12 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
@node-rs/deno-lint x 885 ops/sec ±1.26% (92 runs sampled)
eslint x 118 ops/sec ±4.97% (78 runs sampled)
Lint benchmark bench suite: Fastest is @node-rs/deno-lint
Pass a boolean enableAllRules
to use the recommended (true
, default) or all rules (false
):
import { lint } from '@node-rs/deno-lint'
lint(filepath, source, enableAllRules)
Pass the config file content (as string), to be able to specify what rules should be included or excluded:
import { readFile } from 'fs/promises'
import { lint } from '@node-rs/deno-lint'
const config = await readFile('.denolint.json', 'utf8')
lint(filepath, source, config)
// webpack.config.js
module.exports = {
module: {
rules: [
{
enforce: 'pre',
test: /\.(t|j)s?$/,
loader: '@node-rs/deno-lint/webpack-loader',
exclude: [/node_modules/],
},
],
},
}
You can pass denolint options using standard webpack loader options.
- Type:
Boolean | String
- Default:
false
Whether to enable all rules. If false, denolint
will enable all recommend rules.
Instead of the boolean, a string with the content of .denolint.json
can be passed as a value.
- Type:
Boolean
- Default:
false
Will cause the module build to fail if there are any errors, if option is set to true
.
- Type:
Boolean
- Default:
false
Emit nothing even if there were errors happened.
npx denolint
Config path relative to the lint path. Config file must be a JSON file:
Example:
{
"rules": {
"tags": ["recommended"],
"exclude": [
"no-explicit-any",
"ban-unknown-rule-code",
"no-window-prefix",
"no-empty-interface",
"ban-types",
"ban-untagged-todo",
"no-unused-vars",
"ban-ts-comment",
"no-case-declarations",
"no-this-alias"
]
}
}
Checkout deno_lint rules for all rules.