mix volt.js.check --type-aware runs type-aware rules only when they are named explicitly. Categories in config :volt, :lint affect syntax checks, but are removed before the type-aware runner receives the configuration.
As a result, a project using categories must also maintain a separate list of type-aware rules.
Environment
:volt 0.18.1, :oxc 0.17.8, Elixir 1.20.4, Erlang/OTP 29.
Example
With tsgolint installed and the source included in a TypeScript project:
config :volt, :lint,
sources: ["assets/js/**/*.ts"],
plugins: [:typescript],
rules: %{"correctness" => :deny}
// assets/js/app.ts
Promise.resolve(1)
mix volt.js.check --type-aware
The category does not enable typescript/no-floating-promises. Adding "typescript/no-floating-promises" => :deny explicitly enables the check.
Expected behavior
Categories should select both syntax and type-aware rules when --type-aware is enabled. Individual rules and per-file overrides should still take precedence.
Proposed solution
Pass category filters and enabled plugins to OXC's type-aware runner after resolving each file's configuration. Category expansion belongs in OXC, which already contains the native rule registry.
mix volt.js.check --type-awareruns type-aware rules only when they are named explicitly. Categories inconfig :volt, :lintaffect syntax checks, but are removed before the type-aware runner receives the configuration.As a result, a project using categories must also maintain a separate list of type-aware rules.
Environment
:volt0.18.1,:oxc0.17.8, Elixir 1.20.4, Erlang/OTP 29.Example
With
tsgolintinstalled and the source included in a TypeScript project:The category does not enable
typescript/no-floating-promises. Adding"typescript/no-floating-promises" => :denyexplicitly enables the check.Expected behavior
Categories should select both syntax and type-aware rules when
--type-awareis enabled. Individual rules and per-file overrides should still take precedence.Proposed solution
Pass category filters and enabled plugins to OXC's type-aware runner after resolving each file's configuration. Category expansion belongs in OXC, which already contains the native rule registry.