Skip to content

Linter

View on npm

Terminal window
npm install -D @puruslang/linter

Or globally:

Terminal window
npm install -g @puruslang/linter
Terminal window
# Lint specific files
purus-lint src/main.purus
# Lint all files in a directory
purus-lint src
# Lint using config.purus settings
purus-lint

When no files are specified, purus-lint reads config.purus and lints all files in the entry directory.

You can pass files and directories as positional arguments.

OptionAliasDescription
--config <file>Path to config file
--help-hShow help
RuleDefaultDescription
no-varwarnAvoid var; use const or let
no-niloffUse null instead of nil
indent-sizewarn (2)Indentation must be a multiple of N spaces
no-trailing-whitespacewarnNo trailing whitespace
max-line-lengthoff (100)Maximum line length
no-unused-importwarnWarn on unused imports
consistent-namingoff (kebab-case)Naming convention

Linter settings can be configured in config.purus alongside build settings:

-- Linter settings
const lint.no-var be ///warn///
const lint.no-nil be ///off///
const lint.indent-size be 2
const lint.max-line-length be ///off///
const lint.no-trailing-whitespace be ///warn///
const lint.no-unused-import be ///warn///
const lint.consistent-naming be ///off///
const { lint } = require("@puruslang/linter");
const diagnostics = lint("var x be 42");
// [{ rule: "no-var", severity: "warn", line: 1, col: 1, message: "..." }]