npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

lunte

1.8.2

@mikker

npmHomeRepoSnykSocket
Downloads:5014
$ npm install lunte
DailyWeeklyMonthlyYearly

Lunte

A self-contained JavaScript linter, mostly matching non-formatting rules of Standard.

Installation

npm install --save-dev lunte

Usage

lunte [optional: dir or glob]

Globs are supported:

lunte "src/**/*.js"

By default Lunte skips node_modules/. Manage additional exclusions with .lunteignore (gitignore-style patterns).

Files ending in .json are also linted. Lunte treats them as strict JSON, so invalid syntax is reported and structural rules such as no-dupe-keys still apply.

Configuration

Configuration is optional, but when needed create a .lunterc (or .lunterc.json) at the project root.

{
  "env": ["node"],
  "globals": ["MY_APP"],
  "plugins": ["lunte-plugin-pear"],
  "rules": {
    "no-undef": "off",
    "pear/no-apples": "error"
  },
  "disableHolepunchGlobals": true
}
  • env enables preset global sets (node, browser, es2021).
  • globals adds project-specific globals.
  • rules sets severities per rule ("off", "warn", "error", or 0/1/2).
  • disableHolepunchGlobals skips adding Pear/Bare globals.

Command-line overrides are available for ad-hoc runs:

lunte --env browser --global Pear --rule no-unused-vars=off src/

TypeScript

  • Experimental parser is bundled via vendored @sveltejs/acorn-typescript; no extra install needed.
  • Files ending .ts, .tsx, .mts, .cts, .d.ts (and .jsx when present) automatically switch to the TS parser.
  • Type-aware handling currently exists for no-undef and no-unused-vars; other rules run without type checking.

Plugins

Load third-party rule packs by listing module IDs under plugins. Each plugin should export a rules array (or object) of rule definitions with unique meta.name values.

{
  "plugins": ["./rules/lunte-plugin-pear.js", "lunte-plugin-pear"],
  "rules": {
    "pear/no-apples": "error"
  }
}

For ad-hoc runs, lunte --plugin lunte-plugin-pear --plugin ./rules/lunte-plugin-pear.js src/ applies the same modules.

Inline Ignores

const cached = maybeUndefined() // lunte-disable-line no-undef

// lunte-disable-next-line
useGlobalResource()
  • lunte-disable-line suppresses the listed rules, or all rules when none are listed, on the same line.
  • lunte-disable-next-line applies to the following line.
  • eslint-disable-* directives are also supported for compatibility.

Editor Integration

Lunte ships with a separate LSP package: lunte-lsp.

Repository

Monorepo: https://github.com/holepunchto/lunte

lunte

License

Apache-2.0