Linting
Install the ESLint plugin eslint-plugin-warp-drive
pnpm add -E eslint-plugin-warp-drive@latestnpm add -E eslint-plugin-warp-drive@latestyarn add -E eslint-plugin-warp-drive@latestbun add --exact eslint-plugin-warp-drive@latestRules
See the API docs for eslint-plugin-warp-drive
Template Rules
Template rules operate on the Glimmer template AST rather than the JS/TS AST. They require ember-eslint-parser (a dependency of eslint-plugin-warp-drive) to be configured as the parser for the files being linted, since that's what exposes template nodes to ESLint as Glimmer-prefixed selectors (e.g. GlimmerElementNode) for .gjs/.gts files, or ember-eslint-parser/hbs for classic .hbs files. This mirrors the approach eslint-plugin-ember uses for its own template-* rules, and the direction laid out in the First-Class Component Templates RFC for integrating template linting into ESLint.
Usage
Recommended Rules are available as a flat config for easy consumption:
// eslint.config.js (flat config)
const WarpDriveRecommended = require('eslint-plugin-warp-drive/recommended');
module.exports = [
...WarpDriveRecommended,
];