Rome is a unified formatter and linter

Rome unifies your development stack by combining the functionality of separate tools.

Single configuration file, amazing performance, and works with any stack.

Founded by the creator of Babel and Yarn.


Supercharge your workflow

Experience the seamless integration of a vertical toolchain. Full of useful features like formatting and linting, with even more coming soon.

Code


function HelloWorld({greeting = "hello", greeted = '"World"', silent = false, onMouseOver,}) {

  if(!greeting){return null};

      // TODO: Don't use random in render
  let num = Math.floor (Math.random() * 1E+7).toString().replace(/.d+/ig, "")

  return <div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}>

    <strong>{ greeting.slice( 0, 1 ).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
    {greeting.endsWith(",") ? " " : <span style={{color: 'grey'}}>", "</span> }
    <em>
  { greeted }
    </em>
    { (silent)
      ? "."
      : "!"}

    </div>;

}

Output


function HelloWorld({
  greeting = "hello",
  greeted = '"World"',
  silent = false,
  onMouseOver,
}) {
  if (!greeting) {
    return null;
  }

  // TODO: Don't use random in render
  let num = Math.floor(Math.random() * 1E+7)
    .toString()
    .replace(/.d+/gi, "");

  return (
    <div
      className="HelloWorld"
      title={`You are visitor number ${num}`}
      onMouseOver={onMouseOver}
    >
      <strong>
        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
      </strong>
      {greeting.endsWith(",") ? (
        " "
      ) : (
        <span style={{ color: "grey" }}>", "</span>
      )}
      <em>{greeted}</em>
      {silent ? "." : "!"}
    </div>
  );
}

Performance

Rome finished in 0.1s

Prettier finished in 4.3s

~25x

Faster than Prettier when formatting 85,000 lines of code. See benchmark.


Features

Try Rome today

Install Rome using your preferred package manager or get it as a VS Code extension.

Get VS Code Extension
Getting started
$ npm install rome
Added 1 package
$ npx rome check .
Checked 780 files in 12ms.
$ npx rome format .
Checked 650 files in 42ms.