@node-rs/deno-lint
Version:
Deno lint binding for Node.js
150 lines (110 loc) • 3.6 kB
Markdown


> 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
```
### Benchmark
```
@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
```
## Usage
Pass a boolean `enableAllRules` to use the recommended (`true`, default) or all rules (`false`):
```ts
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:
```ts
import { readFile } from 'fs/promises'
import { lint } from '@node-rs/deno-lint'
const config = await readFile('.denolint.json', 'utf8')
lint(filepath, source, config)
```
```js
// 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:
```json
{
"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](https://github.com/denoland/deno_lint/tree/main/docs/rules) for all rules.