Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Created by Anthelion using komac v2.16.0
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json

PackageIdentifier: oxc-project.oxfmt
PackageVersion: 0.45.0
InstallerType: zip
NestedInstallerType: portable
Commands:
- oxfmt
ReleaseDate: 2026-04-13
Installers:
- Architecture: x64
NestedInstallerFiles:
- RelativeFilePath: oxfmt-x86_64-pc-windows-msvc.exe
PortableCommandAlias: oxfmt
InstallerUrl: https://github.com/oxc-project/oxc/releases/download/apps_v1.60.0/oxfmt-x86_64-pc-windows-msvc.zip
InstallerSha256: 96634D94668E951D6F02A84B2B2CC141D2C290F9BBB348C8A0EA1A533CECF2E6
- Architecture: arm64
NestedInstallerFiles:
- RelativeFilePath: oxfmt-aarch64-pc-windows-msvc.exe
PortableCommandAlias: oxfmt
InstallerUrl: https://github.com/oxc-project/oxc/releases/download/apps_v1.60.0/oxfmt-aarch64-pc-windows-msvc.zip
InstallerSha256: 3D6FBC11FD0F62900DED60256929011B19A6BCA5311F44EE130E110BC6CB8C84
ManifestType: installer
ManifestVersion: 1.12.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# Created by Anthelion using komac v2.16.0
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json

PackageIdentifier: oxc-project.oxfmt
PackageVersion: 0.45.0
PackageLocale: en-US
Publisher: VoidZero Inc. & Contributors
PublisherUrl: https://voidzero.dev/
PublisherSupportUrl: https://github.com/oxc-project/oxc/issues
Author: VoidZero Inc. & Contributors
PackageName: oxfmt
PackageUrl: https://oxc.rs/docs/guide/usage/formatter.html
License: MIT
LicenseUrl: https://github.com/oxc-project/oxc/blob/HEAD/LICENSE
Copyright: Copyright (c) 2024-present VoidZero Inc. & Contributors
CopyrightUrl: https://github.com/oxc-project/oxc/blob/HEAD/LICENSE
ShortDescription: Oxfmt is a high-performance formatter for the JavaScript ecosystem.
Description: |-
Oxfmt is a high-performance formatter for the JavaScript ecosystem.

- Supported languages
JavaScript, JSX, TypeScript, TSX, JSON, JSONC, JSON5, YAML, TOML, HTML, Angular, Vue, CSS, SCSS, Less, Markdown, MDX, GraphQL, Ember, Handlebars

- Built for scale
Oxfmt targets large codebases and CI environments, with an emphasis on high throughput and predictable performance.
It is built on the Oxc compiler stack and avoids architectural bottlenecks common in existing formatter implementations.
Our benchmarks show Oxfmt to be approximately 30x faster than Prettier and 2x faster than Biome.

- Batteries included
- Oxfmt includes built-in features that typically require external Prettier plugins:
- Import sorting
- Tailwind CSS class sorting
- package.json field sorting
- Embedded formatting (CSS-in-JS, GraphQL, etc.)

- Prettier-compatible
Oxfmt integrates into existing Prettier-based workflows.
The oxfmt CLI behaves similarly to Prettier by default, allowing adoption with minimal changes to scripts and tooling.
Oxfmt matches Prettier’s JavaScript formatting. When migrating from recent versions of Prettier, formatting differences should not occur; any differences are considered bugs.
Oxfmt currently passes approximately 95% of Prettier's JavaScript and TypeScript test suite. The remaining cases are niche scenarios, and we work with the Prettier team to converge on formatting over time.
No additional dependencies or configuration needed.
Moniker: oxfmt
Tags:
- formatter
- javascript
- typescript
ReleaseNotes: |-
Table of Contents
- Oxlint v1.60.0
- Oxfmt v0.45.0

Oxlint v1.60.0

💥 BREAKING CHANGES
- 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#21246) (overlookmotel)
- c4aedfa str: [BREAKING] Add static_ident! macro (#21245) (overlookmotel)
- 7354f3c linter: [BREAKING] Error on no matched files (#21144) (camc314)

🚀 Features
- 94a32b9 linter/jest: Share common pattern expect functions (#21376) (Said Atrahouch)
- bab5c31 linter/jest: Implement prefer-ending-with-an-expect rule (#21372) (Said Atrahouch)
- 91f2c79 linter/eslint-jest-plugin: Implemented prefer-importing-jest-globals rule (#21303) (Said Atrahouch)
- a02f32c linter: Add release version for existing rules (#21363) (camchenry)
- b9e93da linter: Allow tagging rules with release version (#21362) (camchenry)
- f99ecda oxlint: Gate vite.config.ts recognition behind VP_VERSION env var (#21298) (leaysgur)
- cf459d3 linter: Implement suggestion for no-empty-function rule (#21347) (Mikhail Baev)
- 7213d61 linter: Adding pending suggestions fix to valid_expect rules. (#21249) (Said Atrahouch)
- ae45312 linter: Introduce --type-check-only flag (#21184) (camc314)
- 1ce8b90 linter: Implemented valid-expect-in-promise vitest and jest rule (#21170) (Said Atrahouch)
- 39f7fda linter: Add auto-fix to unicorn/prefer-default-parameters (#21166) (yefan)
- 15574bc linter/unicorn: Implement consistent-template-literal-escape (#21126) (AliceLanniste)
- c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (#21114) (camc314)
- 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (#21113) (camc314)
- 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (#21115) (camc314)
- c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (#21112) (camc314)
- 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (#21111) (camc314)

🐛 Bug Fixes
- b577efc linter/unicorn: Handle optional chaining in prefer-array-flat and no-invalid-remove-event-listener (#21299) (Mikhail Baev)
- 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (#21316) (camc314)
- ec7f6ed oxlint, oxfmt: Apply check_for_writer_error to .flush() (#21343) (Craig Morrison)
- a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (#21358) (camc314)
- a0eac12 linter/array-type: Move match to first stmt (#21357) (camc314)
- 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (#21313) (bab)
- ecbcf5e linter: More info to summary output for GitHub formatter (#21330) (Théo LUDWIG)
- a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (#21324) (Josh Cartmell)
- 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (#21259) (camc314)
- 3f80536 linter: Ignore regex flags other than g/u/v in prefer-string-replace-all (#21203) (bab)
- f21d3aa linter/unicorn: Report on optional in require-number-to-fixed-digits-argument rule (#21207) (Mikhail Baev)
- af8e122 linter: Render each config error as a separate diagnostic (#21120) (bab)
- a950f55 linter/unicorn: Do not report on optionals in no-single-promise-in-promise-methods (#21157) (Mikhail Baev)
- 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (#21092) (copilot-swe-agent)
- edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (#21123) (bab)
- 7e8d520 linter/unicorn: Report on optional foo?.postMessage in require-post-message-target-origin rule (#21104) (Mikhail Baev)

⚡ Performance
- addcd02 napi/parser, linter/plugins: Raw transfer deserializer for Vecs use shift instead of multiply where possible (#21142) (overlookmotel)
- 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (#21141) (overlookmotel)
- eb400b8 napi/parser, linter/plugins: Remove uint32 buffer view (#21140) (overlookmotel)
- 7a86613 linter/plugins: Use Int32Arrays for tokens and comments buffers (#21136) (overlookmotel)
- 8c51121 napi/parser, linter/plugins: Raw transfer deserialize Span fields as i32s (#21135) (overlookmotel)
- bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (#21134) (overlookmotel)
- c0278ab napi/parser, linter/plugins: Use Int32Array in raw transfer deserializer (#21132) (overlookmotel)
- 43482c7 linter/plugins: Use >> not >>> in binary search loops (#21129) (overlookmotel)

📚 Documentation
- 7888280 linter: Move config docs for no-restricted-exports (#21360) (camchenry)
- 162d26c linter: Improve docs for typescript/array-type (#21356) (camchenry)
- a2dbaec linter: Add missing docs for options for typescript/class-literal-property-style (#21355) (camchenry)
- 79593eb linter: Improve docs for typescript/consistent-type-assertions (#21353) (camchenry)
- f9d20d2 linter: Move config option docs for typescript/no-empty-object-type (#21352) (camchenry)
- a8f650d linter: Add missing config option docs for prefer-string-start-ends-with (#21332) (camchenry)
- cfd8a4f linter: Don't rely on old eslint doc for available globals (#21334) (Nicolas Le Cam)
- 03865fa linter: Jest/prefer-snapshot-hint: add doc comment for snapshot hint mode (#21290) (camchenry)
- a6fe09b linter: Add missing docs for config options in react plugin (#21289) (camchenry)
- 60eaf47 linter: Add missing docs for config options in unicorn plugin (#21288) (camchenry)
- c3c2055 linter: jsx-a11y/label-has-associated-control: document the assert options (#21287) (camchenry)
- a928ed9 linter: Add missing config docs for vitest plugin rules (#21285) (camchenry)
- 7e07c7c linter: id-length: move enum docs to doc comments (#21281) (camchenry)
- 9746bdf linter: Add missing docs for class-methods-use-this config (#21278) (camchenry)
- 6ffe7a5 linter: Move docs for Target variant onto enum (#21277) (camchenry)
- 305350d linter/plugins: Correct comments (#21130) (overlookmotel)

Oxfmt v0.45.0

💥 BREAKING CHANGES
- 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#21246) (overlookmotel)

🚀 Features
- e3081e1 oxfmt: Gate vite.config.ts recognition behind VP_VERSION env var (#21295) (leaysgur)
- 5b0b573 oxfmt: Update prettier to 3.8.2 (#21294) (leaysgur)
- 0d67834 oxfmt: Show hint for all files are ignored case (#21154) (leaysgur)

🐛 Bug Fixes
- 2871fc2 oxfmt: Non idempotent formatting on comments in TS (#20449) (Cat Chen)
- ec7f6ed oxlint, oxfmt: Apply check_for_writer_error to .flush() (#21343) (Craig Morrison)
- 1a8c225 formatter: Preserve newline between self-closing JSX element and single-char text (#21149) (Justin Mecham)
- 407b725 oxfmt: Indent dangling comments in empty enum with block indent (#21163) (Leonabcd123)
- d13fd37 formatter: Remove extra outer parentheses on return with JSDoc type cast (#21109) (bab)
- 22babde oxfmt: Fix unicode char escaping (#21162) (leaysgur)
- 4da53e5 formatter: Preserve trailing comma in TSX arrow functions with default type params (#21151) (Justin Mecham)
- 94fe774 oxfmt: Handle paths with consecutive leading slashes (#21155) (leaysgur)
- 50c389b oxfmt: Support .editorconfig quote_type (#20989) (leaysgur)

⚡ Performance
- 0ce619f formatter: Use Allocator::alloc_concat_strs_array instead of StringBuilder::from_strs_array_in (#21339) (overlookmotel)
ReleaseNotesUrl: https://github.com/oxc-project/oxc/releases/tag/apps_v1.60.0
Documentations:
- DocumentLabel: Docs
DocumentUrl: https://oxc.rs/docs/guide/usage/formatter.html
ManifestType: defaultLocale
ManifestVersion: 1.12.0
8 changes: 8 additions & 0 deletions manifests/o/oxc-project/oxfmt/0.45.0/oxc-project.oxfmt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Created by Anthelion using komac v2.16.0
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json

PackageIdentifier: oxc-project.oxfmt
PackageVersion: 0.45.0
DefaultLocale: en-US
ManifestType: version
ManifestVersion: 1.12.0