@wasm-fmt/ruff_fmt
TypeScript icon, indicating that this package has built-in type declarations

0.6.1 • Public • Published

Test

Install

npm

npm install @wasm-fmt/ruff_fmt

jsr.io

npx jsr add @fmt/ruff-fmt

Usage

import init, { format } from "@wasm-fmt/ruff_fmt";

await init();

const input = `x = {  'a':37,'b':42,

'c':927}

y = 'hello ''world'
z = 'hello '+'world'
a = 'hello {}'.format('world')
class foo  (     object  ):
  def f    (self   ):
    return       37*-+2
  def g(self, x,y=42):
      return y
def f  (   a ) :
  return      37+-+a[42-x :  y**3]`;

const formatted = format(input);
console.log(formatted);

with custom options:

import init, { format } from "@wasm-fmt/ruff_fmt";

// ...
const formatted = format(input, {
    indent_style: "space",
    indent_width: 4,
    line_width: 88,
    quote_style: "double",
    magic_trailing_comma: "respect",
});
console.log(formatted);

For Vite users:

Add "@wasm-fmt/ruff_fmt" to optimizeDeps.exclude in your vite config:

{
    "optimizeDeps": {
        "exclude": ["@wasm-fmt/ruff_fmt"]
    }
}
If you cannot change the vite config, you can use another import entry
import init, { format } from "@wasm-fmt/ruff_fmt/vite";

// ...

dprint plugin

[!NOTE] dpint plugin is deprecated, please use https://dprint.dev/plugins/ruff instead.

dprint config add wasm-fmt/ruff_fmt

How does it work?

Ruff is an extremely fast Python linter, written in Rust.

This package is a WebAssembly build of Ruff formatter, with a JavaScript wrapper.

/@wasm-fmt/ruff_fmt/

    Package Sidebar

    Install

    npm i @wasm-fmt/ruff_fmt

    Weekly Downloads

    84

    Version

    0.6.1

    License

    MIT

    Unpacked Size

    1.73 MB

    Total Files

    10

    Last publish

    Collaborators

    • magic-akari