Changelog - 2026-10-17
dev-configs house rules and type-only imports
New Feature Behavior ChangeIn one line. Export houseConfigs from your ESLint config, and lint now fails on a function with more than 5 positional parameters, a new Error, and a value import of a type.
typescript
// .configs/eslint.config.mjs
import { houseConfigs } from '@venizia/dev-configs/linters';
export default houseConfigs; // reactHouseConfigs in a React projectWhat changed
venizia/max-params-own. A function you write takes at most 5 positional parameters; beyond that, one options object. Not counted: a callback passed inline to a call or a JSX prop, a signature a declared type fixes, a constructor whose parameters are all@inject. A hook callback counts.venizia/no-new-error. Throw throughgetError(or anApplicationError), nevernew Error(...). Tests are exempt.typescript/consistent-type-importsin the base oxlint preset. A type is imported withimport type/import { type X }. Under Bun, a value import of a type in a decorated class fails at load withExport named 'X' not found; now lint catches it.oxlint --fixrewrites them.- Builder options.
PreferNullishCoalescingRule.build({ ignorePrimitives })andNoUnusedVarsRule.build({ argsIgnorePattern, ... }).
Who is affected
- Every project on dev-configs. Switch
namingConventionConfigstohouseConfigs(orreactNamingConventionConfigstoreactHouseConfigs), runoxlint --fixonce for the type imports, and replace eachnew ErrorwithgetError. A function over 5 parameters takes an options object. - A project that wants another limit. Override the rule after the preset:
[MaxParamsOwnRule.NAME]: MaxParamsOwnRule.build({ max: 3 }).