Rome v12.1.0
Rome v12.1.0 brings support for the new Stage 3 decorators, VCS support and new lint rules!
Rome v12.1.0 brings support for the new Stage 3 decorators, VCS support and new lint rules!
The Rome team is happy to announce Rome version 12. This new version brings JSON support, new lint rules, import sorting and more!
The Rome team is happy to announce Rome version 11. The new version improves stability, usability, Prettier compatibility and introduces some new features in which the community expressed high interest.
We are thrilled to announce Rome v10, the first stable release since the start of the Rust rewrite. Rome is an ambitious project aiming to unify the dozens of frontend language tools into a single easy-to-use tool built from scratch.
This release includes our fast linter and formatter; they require minimal configuration, come with beautiful and descriptive diagnostics, and have built-in support for JavaScript and TypeScript.
Rome’s formatter is Prettier-inspired, allowing most users to migrate with minimal to zero changes. Our linter builds off a recommended ruleset following community standards and strives to be actionable and informative whenever it detects a problem.
This is just the beginning. In the upcoming year we will add support for other frontend languages and build the rest of the Rome stack, including compilation, bundling, testing, and more.
We began a full rewrite of Rome in Rust last year, and we’re excited to announce our first release as a part of this effort with the Rome Formatter, a new formatter for JavaScript and TypeScript. It perfectly expresses our goals of excellent performance, ease-of-use, and first-class IDE integration.
Prettier revolutionized the JavaScript ecosystem by normalizing standards and removing formatting discussions. Teams can more effectively review code, developers don’t need to address formatting nits, and the barrier to onboarding into a codebase is reduced.
With our last update, we announced a complete rewrite in Rust. As many can attest, rewriting can be a rather long, difficult process. Our team has been working extremely hard on this undertaking and has made great progress. We’ll write a more thorough post about our experience with Rust and rewriting in the future, but here’s a short summary of our efforts.
Rome started off written in JavaScript because that is the language of choice for our team and it made it easier for others in the community to join as contributors. We love JavaScript and TypeScript (and HTML and CSS) at Rome, and we want to build the very best tooling possible for these languages. For a number of reasons, we’ve decided that Rust will provide a better foundation for this tooling.
We are also taking the opportunity to explore fundamental shifts in the architecture of Rome. These changes give us more flexibility and will allow us to build tooling JavaScript and the web has not had before.
The JavaScript ecosystem has undergone rapid evolution in the last decade. I started Babel in 2014 not knowing what I was getting myself into, and have been offered a unique perspective watching it grow. Since then we’ve had an explosion in developer tooling and seen the web take an even bigger role in application development.
Our tools haven’t caught up with this evolution though. They struggle to work together, upgrades are painful, configuration is convoluted, errors are confusing, and everything is slow. We don’t need an incremental improvement, we need to fundamentally change how this tooling is built and used.
Rome is an end-to-end development toolchain. We consolidate dozens of separate tools into one, with support for JavaScript, TypeScript, HTML, and CSS. Rome can install your dependencies, check your code for errors, run your tests, bundle your code, and more, all via a single CLI. Rome is not a collection of tools, it has been written from scratch.
Today I’m excited to announce a few changes to the project and the formation of the Rome company.
We’re excited to announce the first beta release and general availability of the Rome linter for JavaScript and TypeScript.
This is the beginning of an entire suite of tools. Rome is not only linter, but also a compiler, bundler, test runner, and more, for JavaScript, TypeScript, HTML, JSON, Markdown, and CSS. We aim to unify the entire frontend development toolchain.