Skip to content

chore(deps-dev): bump the ox group across 1 directory with 4 updates - #953

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/ox-abe07e75cb
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/ox-abe07e75cb

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the ox group with 4 updates in the / directory: @effect/tsgo, oxfmt, oxlint and oxlint-tsgolint.

Updates @effect/tsgo from 0.47.2 to 0.53.2

Release notes

Sourced from @​effect/tsgo's releases.

@​effect/tsgo@​0.53.2

Patch Changes

  • c75c219: Make apiStabilityLeak allocate less. The rule used to create an empty findings map for every type, signature and symbol it inspected, and to copy the stored findings into a new map every time it re-checked an unresolved result. Most results never get a finding, and most re-checks add nothing. A result's map is now created when it gets its first finding, and a re-check that adds nothing keeps the stored map instead of copying it.

    For example, on the Effect monorepo the rule allocated 605 MB in 5.3 M objects before and 496 MB in 3.4 M objects after. Its CPU went from 3.4 s to 3.2 s.

    Reported diagnostics are unchanged.

  • 0076e24: Make apiStabilityLeak faster on namespace exports. The rule checks each member of a namespace export in one shared analysis, and every member used to re-check every unresolved result that earlier members left behind. A namespace with thousands of members did millions of repeated checks. Each member now re-checks only the results its own check reached.

    For example, on the Effect monorepo the Generated namespace export of @effect/ai-openai has 3,603 members. Across the whole repository the rule used 22.8 s of CPU before and 3.4 s after.

    Reported diagnostics are unchanged.

  • 410f21e: Rules now read the type the checker computed for an expression while it checked the file, instead of asking the checker again afterwards. Asking again repeated work, such as flow analysis, and in a few cases gave a different type than the check used. For example, a return literal checked while its enclosing generic call was still resolving:

    export const takeWhileDefined = dual(2, <A>(self: Iterable<A>, f: (input: A) => A | undefined) => ({
      [Symbol.iterator]() {
        const iterator = self[Symbol.iterator]()
        return {
          next() {
            const result = iterator.next()
            if (result.done) {
              // the check typed this as { done: boolean; value: undefined }
              // asking again gave { done: true; value: undefined }
              return { done: true, value: undefined }
            }
            return { done: false, value: f(result.value) }
          }
        }
      }
    }))

    Rules now see { done: boolean; value: undefined }, the type the rest of the check is based on.

  • c5d3d7a: Resolve Effect API references once per symbol. IsNodeReferenceToModuleExport used to answer "is this symbol exported as gen?" one member name at a time, caching each answer in a per-symbol map. It now computes, once per symbol, the names its declaring module exports it under, from a per-module index of exports keyed the way the checker compares symbols, and answers every member name from that list. export = modules keep the direct lookup.

    For example, checking whether a callee is Effect.gen, Effect.fn or Effect.sync now reads one cached list (["gen"] for Effect.gen) instead of hashing three cache keys.

    With 125 rules enabled on the Effect monorepo, wall time, CPU time and peak memory are unchanged within noise, and the reported diagnostics are unchanged.

  • f02bf75: Skip Effect type queries for more expressions that always produce a primitive or a RegExp. NodeCannotBeEffectLibraryType now also rules out true, false, null, regular expression literals, prefix unary expressions such as !x and -x, void x and typeof x. The undefined identifier still goes through the checker, because a local binding can shadow it.

    For example, for return true inside Effect.gen, returnEffectInGen no longer asks the checker for the type of true.

    Reported diagnostics are unchanged.

  • 67d58fc: Add a Perf workflow that compares each pull request against its base for every supported TypeScript channel. Each job runs stock and Effect-patched tsgo on a pinned Effect checkout with every rule executing, and a sticky PR comment reports the change in symbols, types, instantiations, allocations, and check and total time over stock. Run it locally with repoctl perf ci and repoctl perf report.

  • 01f337a: Report each problem once in effectInFailure, anyUnknownInErrorContext and promiseInEffectSuccess. These rules check the type of every node in a file, and the checker gives some pairs of nodes the same type. A declaration and its name share a type, and so do a.b and its name b. The rules now check one node of each pair.

    A variable whose initializer has the problem used to get two warnings, one on the variable name and one on the initializer. Now only the initializer is reported:

... (truncated)

Changelog

Sourced from @​effect/tsgo's changelog.

0.53.2

Patch Changes

  • c75c219: Make apiStabilityLeak allocate less. The rule used to create an empty findings map for every type, signature and symbol it inspected, and to copy the stored findings into a new map every time it re-checked an unresolved result. Most results never get a finding, and most re-checks add nothing. A result's map is now created when it gets its first finding, and a re-check that adds nothing keeps the stored map instead of copying it.

    For example, on the Effect monorepo the rule allocated 605 MB in 5.3 M objects before and 496 MB in 3.4 M objects after. Its CPU went from 3.4 s to 3.2 s.

    Reported diagnostics are unchanged.

  • 0076e24: Make apiStabilityLeak faster on namespace exports. The rule checks each member of a namespace export in one shared analysis, and every member used to re-check every unresolved result that earlier members left behind. A namespace with thousands of members did millions of repeated checks. Each member now re-checks only the results its own check reached.

    For example, on the Effect monorepo the Generated namespace export of @effect/ai-openai has 3,603 members. Across the whole repository the rule used 22.8 s of CPU before and 3.4 s after.

    Reported diagnostics are unchanged.

  • 410f21e: Rules now read the type the checker computed for an expression while it checked the file, instead of asking the checker again afterwards. Asking again repeated work, such as flow analysis, and in a few cases gave a different type than the check used. For example, a return literal checked while its enclosing generic call was still resolving:

    export const takeWhileDefined = dual(2, <A>(self: Iterable<A>, f: (input: A) => A | undefined) => ({
      [Symbol.iterator]() {
        const iterator = self[Symbol.iterator]()
        return {
          next() {
            const result = iterator.next()
            if (result.done) {
              // the check typed this as { done: boolean; value: undefined }
              // asking again gave { done: true; value: undefined }
              return { done: true, value: undefined }
            }
            return { done: false, value: f(result.value) }
          }
        }
      }
    }))

    Rules now see { done: boolean; value: undefined }, the type the rest of the check is based on.

  • c5d3d7a: Resolve Effect API references once per symbol. IsNodeReferenceToModuleExport used to answer "is this symbol exported as gen?" one member name at a time, caching each answer in a per-symbol map. It now computes, once per symbol, the names its declaring module exports it under, from a per-module index of exports keyed the way the checker compares symbols, and answers every member name from that list. export = modules keep the direct lookup.

    For example, checking whether a callee is Effect.gen, Effect.fn or Effect.sync now reads one cached list (["gen"] for Effect.gen) instead of hashing three cache keys.

    With 125 rules enabled on the Effect monorepo, wall time, CPU time and peak memory are unchanged within noise, and the reported diagnostics are unchanged.

  • f02bf75: Skip Effect type queries for more expressions that always produce a primitive or a RegExp. NodeCannotBeEffectLibraryType now also rules out true, false, null, regular expression literals, prefix unary expressions such as !x and -x, void x and typeof x. The undefined identifier still goes through the checker, because a local binding can shadow it.

    For example, for return true inside Effect.gen, returnEffectInGen no longer asks the checker for the type of true.

    Reported diagnostics are unchanged.

  • 67d58fc: Add a Perf workflow that compares each pull request against its base for every supported TypeScript channel. Each job runs stock and Effect-patched tsgo on a pinned Effect checkout with every rule executing, and a sticky PR comment reports the change in symbols, types, instantiations, allocations, and check and total time over stock. Run it locally with repoctl perf ci and repoctl perf report.

  • 01f337a: Report each problem once in effectInFailure, anyUnknownInErrorContext and promiseInEffectSuccess. These rules check the type of every node in a file, and the checker gives some pairs of nodes the same type. A declaration and its name share a type, and so do a.b and its name b. The rules now check one node of each pair.

    A variable whose initializer has the problem used to get two warnings, one on the variable name and one on the initializer. Now only the initializer is reported:

... (truncated)

Commits

Updates oxfmt from 0.71.0 to 0.73.0

Release notes

Sourced from oxfmt's releases.

oxfmt v0.73.0

💥 BREAKING CHANGES

  • 1ef2888 oxfmt: [BREAKING] Improve --migrate prettier (#27444) (leaysgur)
  • c2e6d5f formatter_toml: [BREAKING] Add oxc_formatter_toml crate wrapping oxc-toml (#27365) (leaysgur)

🚀 Features

  • ce4e8dc oxfmt: Support overrides[].parser -> associations[].language migration (#27475) (leaysgur)
  • a495e82 oxfmt: Support associations config to specify language over filepath (#27437) (leaysgur)
  • 77f8156 oxfmt/lsp: Show root config errors to LSP client (#26014) (Sysix)
  • c1adce3 oxfmt/lsp: Support astro language (#27388) (leaysgur)
  • 4f024a1 oxfmt: Support astro plugin in --migrate prettier (#27387) (leaysgur)
  • 5db28fa oxfmt: Support Astro via prettier-plugin-astro@1.x (#27386) (leaysgur)

🐛 Bug Fixes

  • 76ec31b formatter_css: Support css-in-js placeholders in property names and conditions (#27640) (leaysgur)
  • 99bb268 formatter_css: Keep css-in-js placeholder as media type (#27639) (leaysgur)
  • 372849e formatter: Fix crash on css-in-js comment containing interpolation (#27638) (leaysgur)
  • da692b8 formatter: Wrap export default class|function consistently (#27628) (leaysgur)
  • 21dee96 formatter: Keep parens around TSInstantiationExpression before ! and export (#27626) (leaysgur)
  • b6eb914 oxfmt: Normalize symlink targets in CLI snapshots (#27498) (camc314)
  • 5dae56f oxfmt/lsp: Return error on config resolving error (#26003) (Sysix)
  • 676cc60 formatter/jsdoc: Preserve paragraphs by checking @description tag width (#27439) (leaysgur)
  • 2349a31 oxfmt: Follow symlinked configs in discovery (#27389) (leaysgur)
  • db360de oxfmt: Load svelte plugin for svelte-in-mdx-in-md (#27369) (leaysgur)
  • 6e573f9 oxlint,oxfmt: Set stderr blocking (#27363) (leaysgur)
  • d730fdd formatter_core: Leave blank frontmatter without dispatcher (#27359) (leaysgur)

📚 Documentation

  • 4a28c91 formatter_css: Clarify missed-semicolon-accepted divergence (#27433) (leaysgur)
  • 408d87f oxfmt: Simplify oxfmtrc docs (#27432) (leaysgur)
  • 902e188 oxfmt: Update how embeddedLanguageFormatting option works (#27362) (leaysgur)
  • 37b3c48 formatter_markdown: Fix DIVERGENCES.md examples and slug to match behavior (#27358) (leaysgur)

oxfmt v0.72.0

💥 BREAKING CHANGES

  • e2c68b1 oxfmt: [BREAKING] Format parser:markdown files by oxc_formatter_markdown (#27256) (leaysgur)

🚀 Features

  • b538e3c formatter_css: Parse embedded CSS as a block's contents (#27284) (leaysgur)

🐛 Bug Fixes

  • 71e400b formatter_markdown: Fixed remaining issues found by fuzz (#27334) (leaysgur)
  • 7d0e54d formatter_markdown: Preserve line breaks around Chinese/Japanese characters in all proseWrap (#27331) (leaysgur)

... (truncated)

Changelog

Sourced from oxfmt's changelog.

[0.73.0] - 2026-10-13

🚀 Features

  • a495e82 oxfmt: Support associations config to specify language over filepath (#27437) (leaysgur)
  • 5db28fa oxfmt: Support Astro via prettier-plugin-astro@1.x (#27386) (leaysgur)

📚 Documentation

  • 408d87f oxfmt: Simplify oxfmtrc docs (#27432) (leaysgur)
  • 902e188 oxfmt: Update how embeddedLanguageFormatting option works (#27362) (leaysgur)

[0.67.0] - 2026-09-07

🛡️ Security

  • 9a612d5 deps: Update npm packages (#26178) (renovate[bot])

[0.64.0] - 2026-08-18

🚀 Features

  • c07fe7c oxfmt: Support experimentalOperatorPosition (#25643) (leaysgur)

📚 Documentation

  • fed6681 oxfmt: Skip expanding overrides options (#25572) (leaysgur)

[0.62.0] - 2026-08-03

🐛 Bug Fixes

  • e6e584b oxfmt: Type jsdoc. enum options (#25008) (leaysgur)

[0.59.0] - 2026-07-13

🐛 Bug Fixes

  • 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (#24286) (leaysgur)

[0.55.0] - 2026-06-15

🚀 Features

  • 9a2788b linter/unicorn: Implement prefer-export-from rule (#22935) (AliceLanniste)

[0.54.0] - 2026-06-08

📚 Documentation

... (truncated)

Commits
  • 6941b4e release(apps): oxlint v1.88.0 && oxfmt v0.73.0 (#27643)
  • a495e82 feat(oxfmt): support associations config to specify language over filepath ...
  • 408d87f docs(oxfmt): simplify oxfmtrc docs (#27432)
  • 5db28fa feat(oxfmt): support Astro via prettier-plugin-astro@1.x (#27386)
  • 902e188 docs(oxfmt): update how embeddedLanguageFormatting option works (#27362)
  • 2bd08eb release(apps): oxlint v1.87.0 && oxfmt v0.72.0 (#27341)
  • See full diff in compare view

Updates oxlint from 1.86.0 to 1.88.0

Release notes

Sourced from oxlint's releases.

oxlint v1.88.0

💥 BREAKING CHANGES

  • 7730e14 ast: [BREAKING] Refactor comment attachment storage (#27512) (camc314)
  • c904b61 ast: [BREAKING] Add comment attachment storage (#27393) (camc314)

🚀 Features

  • bde9f69 oxlint/lsp: Show config errors to LSP client (#25486) (Sysix)
  • 3c361a7 linter/unicorn/prefer-query-selector: Add allowWithVariables option (#27346) (Mikhail Baev)

🐛 Bug Fixes

  • 82ecc43 linter/sort-keys: Compare natural order like ESLint (#27579) (Dunqing)
  • 598ac03 linter/unicorn/prefer-bigint-literals: Unwrap redundant constructor call; don't auto-fix for lost precision (#25690) (Jacob Bandes-Storch)
  • 2512213 linter: Prevent conflicting type import fixes (#27409) (camc314)
  • 2349a31 oxfmt: Follow symlinked configs in discovery (#27389) (leaysgur)
  • 6e573f9 oxlint,oxfmt: Set stderr blocking (#27363) (leaysgur)

⚡ Performance

  • 91b588c linter/oxc/bad-array-method-on-arguments: Check arguments references once (#26930) (camc314)
  • c5f47ed linter/plugins: Inline firstCommentAtOrAfter into call sites (#27539) (overlookmotel)
  • c5f9235 linter/plugins: Use shift over multiply for powers of 2 (#27536) (overlookmotel)
  • 8c57c5e linter: Share one source per file across type-aware diagnostics (#27462) (Max Schwenk)
  • 19c227d minifier: Use ident when checking specific id names (#27208) (Armano)

📚 Documentation

  • 98cc2b4 linter/plugins: Improve documentation for firstCommentAtOrAfter (#27538) (overlookmotel)
  • 3bb54f6 linter: Update stale comment (#27519) (overlookmotel)
  • 848a4e7 linter: Update fix metadata for tsgolint rules that already provide fixes (#27408) (Mikhail Baev)

oxlint v1.87.0

🚀 Features

  • 42dcfd2 linter/react/no-unescaped-entities: Implement suggestion (#27292) (Mikhail Baev)
  • cd4510d linter/unicorn/no-useless-switch-case: Implement suggestion (#27245) (Mikhail Baev)
  • 1a7c902 linter/react/jsx-no-target-blank: Implement suggestion (#27181) (Mikhail Baev)

🐛 Bug Fixes

  • 176b4b9 linter/jsx-a11y/label-has-associated-control: Validate label attribute values (#27302) (sama Pyb)
  • 7d381c3 linter/jsx-a11y/mouse-events-have-key-events: Handle nullish event handlers (#27306) (sama Pyb)
  • 4e09837 linter/jsx-a11y/lang: Validate lang expression strings (#27304) (sama Pyb)
  • 7d28a66 linter/unicorn/numeric-separators-style: Report misgrouped BigInt literals (#27207) (breken)
  • e928322 linter/unicorn/no-zero-fractions: Parenthesize separator and large integers in fixer (#27206) (breken)
  • 3d61a59 parser: Validate TypeScript type member separators (#27222) (camc314)
  • f08236b linter/eslint/prefer-exponentiation-operator: Preserve autofix precedence (#27150) (camc314)
  • 7d60ae3 linter/valid-title: Continue checks after allowed words (#27146) (Cameron)

... (truncated)

Changelog

Sourced from oxlint's changelog.

[1.88.0] - 2026-10-13

🚀 Features

  • 3c361a7 linter/unicorn/prefer-query-selector: Add allowWithVariables option (#27346) (Mikhail Baev)
Commits
  • 6941b4e release(apps): oxlint v1.88.0 && oxfmt v0.73.0 (#27643)
  • 3c361a7 feat(linter/unicorn/prefer-query-selector): add allowWithVariables option (...
  • 2bd08eb release(apps): oxlint v1.87.0 && oxfmt v0.72.0 (#27341)
  • See full diff in compare view

Updates oxlint-tsgolint from 7.0.2003 to 7.0.2004

Release notes

Sourced from oxlint-tsgolint's releases.

v7.0.2004

What's Changed

New Contributors

Full Changelog: oxc-project/tsgolint@v7.0.2003...v7.0.2004

Commits
  • a612891 fix: restore line disable comments for type-aware diagnostics (#1271)
  • fc7068f chore(deps): update crate-ci/typos action to v1.51.1 (#1269)
  • 8d4c05c chore(deps): update crate-ci/typos action to v1.51.0 (#1268)
  • 6d20f35 fix(no-unnecessary-type-parameters): parenthesize constraint in optional tupl...
  • 322b385 fix(no-deprecated): include reasons for variable declarations (#1266)
  • db76296 fix(no-unsafe-return): avoid panic on JSDoc callbacks without returns (#1264)
  • 24b18b4 fix(no-floating-promises): respect safe-call declaration sources (#1261)
  • c8f5cbc chore(deps): update npm packages (#1259)
  • 93fe3a5 chore(deps): update taiki-e/install-action action to v2.87.22 (#1258)
  • dd0a306 chore(deps): update dprint plugins (#1256)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Cloudflare Pages Deployment

Event Name: pull_request
Environment: preview
Project: cloudflare-pages-action
Built with commit: 04f5e3c
Preview URL: https://ca006e63.cloudflare-pages-action-a5z.pages.dev
Branch Preview URL: https://dependabot-npm-and-yarn-ox-a-jhva.cloudflare-pages-action-a5z.pages.dev

Wrangler Output


 ⛅️ wrangler 4.147.0
────────────────────
Uploading... (3/3)
✨ Success! Uploaded 0 files (3 already uploaded) (0.31 sec)

✨ Uploading _headers
✨ Uploading Functions bundle
🌎 Deploying...
✨ Deployment complete! Take a peek over at https://ca006e63.cloudflare-pages-action-a5z.pages.dev
✨ Deployment alias URL: https://dependabot-npm-and-yarn-ox-a-jhva.cloudflare-pages-action-a5z.pages.dev

Bumps the ox group with 4 updates in the / directory: [@effect/tsgo](https://github.com/Effect-TS/tsgo/tree/HEAD/_packages/tsgo), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt), [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) and [oxlint-tsgolint](https://github.com/oxc-project/tsgolint).


Updates `@effect/tsgo` from 0.47.2 to 0.53.2
- [Release notes](https://github.com/Effect-TS/tsgo/releases)
- [Changelog](https://github.com/Effect-TS/tsgo/blob/main/_packages/tsgo/CHANGELOG.md)
- [Commits](https://github.com/Effect-TS/tsgo/commits/@effect/tsgo@0.53.2/_packages/tsgo)

Updates `oxfmt` from 0.71.0 to 0.73.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.73.0/npm/oxfmt)

Updates `oxlint` from 1.86.0 to 1.88.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.88.0/npm/oxlint)

Updates `oxlint-tsgolint` from 7.0.2003 to 7.0.2004
- [Release notes](https://github.com/oxc-project/tsgolint/releases)
- [Commits](oxc-project/tsgolint@v7.0.2003...v7.0.2004)

---
updated-dependencies:
- dependency-name: "@effect/tsgo"
  dependency-version: 0.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: ox
- dependency-name: oxfmt
  dependency-version: 0.73.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: ox
- dependency-name: oxlint
  dependency-version: 1.88.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: ox
- dependency-name: oxlint-tsgolint
  dependency-version: 7.0.2004
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: ox
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/ox-abe07e75cb branch from 2037e2c to 3200e0f Compare October 23, 2026 13:04
@github-actions

Copy link
Copy Markdown
Contributor

Cloudflare Pages Deployment

Event Name: pull_request
Environment: preview
Project: cloudflare-pages-action
Built with commit: 747ffb4
Preview URL: https://c0060c00.cloudflare-pages-action-a5z.pages.dev
Branch Preview URL: https://dependabot-npm-and-yarn-ox-a-jhva.cloudflare-pages-action-a5z.pages.dev

Wrangler Output


 ⛅️ wrangler 4.150.0
────────────────────
Uploading... (3/3)
✨ Success! Uploaded 0 files (3 already uploaded) (0.40 sec)

✨ Uploading _headers
✨ Uploading Functions bundle
🌎 Deploying...
✨ Deployment complete! Take a peek over at https://c0060c00.cloudflare-pages-action-a5z.pages.dev
✨ Deployment alias URL: https://dependabot-npm-and-yarn-ox-a-jhva.cloudflare-pages-action-a5z.pages.dev

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 99.56% 679 / 682
🔵 Statements 99.56% 692 / 695
🔵 Functions 100% 167 / 167
🔵 Branches 94.51% 293 / 310
File CoverageNo changed files found.
Generated in workflow #2579 for commit 3200e0f by the Vitest Coverage Report Action

This branch was successfully deployed

1 active deployment
preview — 3200e0f4 Deployed Oct 23, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants