JavaScript

Files
.js .mjs .cjs .jsx
Formats as
Prettier
Lints
Every rule that reads its code
In ur.toml
[format.javascript]

Formatted

cart.js, as written
// What a cart costs.
export function subtotal(items){let sum=0;for(const item of items){sum+=item.price*item.quantity}return sum}
export const label = item => item.name+' x'+item.quantity
ur format --style prettier cart.js
// What a cart costs.
export function subtotal(items) {
  let sum = 0;
  for (const item of items) {
    sum += item.price * item.quantity;
  }
  return sum;
}
export const label = (item) => item.name + " x" + item.quantity;

Try it in the playground →

Versions

Ur reads JavaScript as the profiles below name it. Name the versions a project targets in target; without it, Ur reads ecmascript-2025.

ProfileDialect
ecmascript-2025JavaScript
ecmascript-2025-jsxJavaScript