Repository navigation
Bug-fix patch release. Thanks @thedanchez for the detailed reports (#233, #234, #235), @brenelz for #230, and @milomg for #228.
solid/reactivity
dynamic()sources from@solidjs/webare now tracked scopes, likecreateMemo— async sources included (#230 by @brenelz; fixes item 1 of #235).- Optional callback properties wrapped in a conditional or logical expression (
{ onDrag: props.onDrag ? (e) => props.onDrag(e) : undefined }) now classify like the unconditional property form instead of reportingbadUnnamedDerivedSignal(#235 item 2). .then()/.catch()/.finally()callbacks are treated as called functions, like timer callbacks and code afterawait(#235 item 3).
solid/no-unused-signal
- Function-form derived primitives (
createSignal(fn),createStore(fn, seed)) are no longer reported as "never written" — they change through their source function (#234). - The export exemption now applies only to the exported declaration itself, so signals inside
export function Component() {}are checked again;export const [a, setA] = createSignal(0)stays exempt (#234).
Types
- Public exports are now assignable to ESLint's
defineConfig()fromeslint/config: the plugin's rules are declared with a loose structural type at the export boundary (mirroring typescript-eslint's workaround for typescript-eslint#11543), and configs validate against ESLint's ownLinter.Config. Runtime unchanged; a type-level test now guards this in CI (#233).