Skip to content

chore: version packages - #17

Merged
MurkyTheMurloc merged 1 commit into
mainfrom
changeset-release/main
Sep 6, 2026
Merged

MurkyTheMurloc merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@murky-web/oxlint-plugin-solid@1.2.0

Minor Changes

  • 8fdeefb: Add two rules for Solid 2.0's split effects and unowned ref callbacks, and
    repair two existing ones.

    solid/no-untracked-effect-read reports a reactive read in the apply phase of a
    two-argument createEffect. That phase runs untracked, so
    createEffect(() => roomId(), (id) => connect(id, theme())) never re-runs when
    theme changes. Nothing reported this: reactivity marks the apply phase as a
    tracked scope, and its model has no state for "matches, but does not subscribe".

    solid/no-owned-primitives-in-ref reports createEffect, onCleanup and
    related primitives inside a ref callback. Solid 2.0 ref callbacks are unowned —
    getOwner() returns null — so the effect is never disposed and the cleanup
    never runs. Directive factories, which create these primitives while they still
    have an owner, are unaffected.

    solid/no-setter-in-effect now also reports an async apply phase that awaits and
    writes the result back into a signal. Its existing check requires every
    statement to be a setter call, which an await breaks.

    solid/prefer-class-object matched only the lowercase classlist. JSX prop
    names are case-sensitive and the Solid 1 prop is classList, so the migration
    rule missed every real call site.

    solid/imports now knows createLoadingBoundary, createErrorBoundary and
    createRevealOrder, so importing one from the wrong module is reported like
    every neighbouring primitive.

    solid/jsx-no-duplicate-props recommended classList, which Solid 2.0 removed
    and the neighbouring rule reports. It now points at the object and array forms
    of class.

@murky-web/typebuddy@1.4.0

Minor Changes

  • 6c30131: Repair the oxlint autofixes and close the rules' blind spots.

    Two fixes were producing broken code. prefer-maybe-promise inserted
    return err() directly before a catch block's closing brace, so
    catch { log("boom") } became catch { log("boom") return err(); }, which does
    not parse. require-try-catch rebuilt the function body line by line and
    stripped leading whitespace from every line — including lines inside template
    literals, silently changing string values. It now wraps the body with two
    zero-width insertions and leaves it byte for byte intact.

    Six blind spots closed:

    • The catch branch settles on err(). It was fed to the same code path as the
      try block, so a catch return got two reports with opposite fixes (ok(value)
      and err()), and --fix appended an unreachable return err() after an
      existing return. Returns that hand back a value are now reported without a
      fix — rewriting them to err() would drop the author's fallback, and where
      the default belongs is the author's decision.
    • Returns nested inside an if, loop or switch in a try block are wrapped.
      Only the try block's direct children were, so try { if (flag) return "early"; return "late"; } wrapped just "late".
    • Promise<T> in a type-level signature is reported. TSDeclareFunction,
      TSFunctionType and TSMethodSignature were routed through a check for
      async, which a type signature can never carry, so all three visitors were
      unreachable. Ambient declare context stays exempt: rewriting a third-party
      callback shape would misdescribe that API.
    • MaybePromise and AsyncResult count as awaited return types. Matching only
      Promise meant a bare return; in a MaybePromise<void> function was left
      alone while its Promise<void> twin was fixed — the rule went blind on
      already-migrated code, and on the spelling the package recommends.
    • Expression-bodied async arrows are reported and fixed. async () => fetch(url)
      has no block for the try/catch to live in and escaped entirely.
    • null | undefined is left alone instead of being rewritten to the
      equivalent-but-longer Optional<null>.

    Also fixed: an inserted helper import landed glued to the following statement in
    any file that starts with a comment. Whether to append after an existing import
    was inferred from the anchor's byte offset, which only answers that question in
    a file whose first statement begins at byte zero.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 16ccf01 to 5848817 Compare September 6, 2026 13:07
@MurkyTheMurloc
MurkyTheMurloc merged commit 8f14735 into main Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant