JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と

今回は「JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と」についてご紹介します。

関連ワード (極力正常、構文、許容型等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


JavaScriptのツールチェインを統一的に提供することを目指した「Rome Tools, Inc.」(以下、Rome Tools)は、JavaScriptおよびTypeScriptのコードの書式を高速に整えるフォーマッター「Rome Formatter」をリリースしました。

Release of the Rome Formatter, a super fast formatter for JavaScript, with a focus on Prettier compatibilityhttps://t.co/2iXq5Gm5K3

— Rome Tools (@rometools) April 5, 2022

Rome Toolsは、フォーマッターや構文チェッカー、トランスパイラ、バンドラーなどの多数のツールを組み合わせて開発環境を構築することが求められる現在のJavaScript開発環境において、これらの機能をすべて統合した1つのツールを提供し、JavaScriptの開発環境を統一してしまおうという野心的な「Rome」プロジェクトを推進しています。

参考:JavaScriptツールチェインの統一を目指す「Rome」開発チームが起業、「Rome Tools, Inc.」を立ち上げ

開発はオープンソースで行われており、今回リリースされたのは、このRomeから最初のツールとして登場したソフトウェアです。

単体で利用可能なRome Formatter

Romeプロジェクトは前述の通り、さまざまなJavaScriptツールの統一的な提供を目指していますが、Romeプロジェクトを構成するツールは単独でも利用可能になります。

今回リリースされたRome Formatterも、コマンドラインから単独で利用できるほか、Visual Studio Codeの拡張機能としても利用可能です。

Rome Formatterの特徴は、高速性、エラーへの耐性、既存のフォーマッタとして普及しているPrettierとの互換性の3つが挙げられます。

Rust製で高速実行、Prettierと比較して9~12倍高速

高速性については、Rust言語を採用することによる効果に加えて、開発初期段階からツールの高速性を意識した開発を進めているとしています。これらの要素により、既存のフォーマッターであるPrettierと比較して9倍から12倍前後高速であるとしています。

fig

エラーのある行以降もフォーマッティング継続

エラー耐性については、従来のフォーマッターではコードに構文エラーなどがある場合、それ以降のフォーマットが正しく行われないことが多いのに対し、Rome Formatterではエラーの行以降も極力正常なフォーマットが行われるようにパーサを開発したとのことです。下記は「Announcing Rome Formatter」からの引用です。

We put a lot of work into building an error tolerant JavaScript/TypeScript parser that could quickly recover from errors, and then extending our formatter to work on this broken code.

私たちはエラーから迅速に回復できるエラー許容型のJavaScript/TypeScriptパーサーを構築し、壊れたコードにも対応できるようフォーマッターを拡張することに、多くの労力を費やしました。

そしてRome Formatterは既存のフォーマッターとしてPrettierが広く使われていることを認識した上で、Prettierのフォーマットルールを可能な限り取り入れたとしています。

ただしルールの完全互換は保証しておらず、今後フォーマットの違いをドキュメント化する予定だとしています。

Rome Formatterは現在のところJavaScriptとTypeScriptのフォーマットにのみ対応していますが、今後はHTML、CSS、JSONなどを含むWeb開発におけるさまざまな言語へも対応するべく拡張されるとともに、Rome Formatterに続く新たなツールの登場も予定されているとのことです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
個人向け銀行ローンマッチングのクラウドローンが自動車遠隔制御IoT活用のFinTechサービスGMSと業務提携
フィンテック
2021-04-27 19:52
第4回:これからの日本企業のためのコンポーザブルERP活用法
IT関連
2023-12-27 06:46
量子コンピューターの時代は意外と早く訪れるかもしれない
IT関連
2022-09-30 18:17
スガノ農機、オラクルのSaaSで営業管理と予実分析をデジタル化
IT関連
2021-01-15 14:26
夷隅小学校、教職員の働き方改革の一環として「LINE WORKS」を導入
IT関連
2023-08-05 06:51
[速報]Microsoft Copilotを誰でもカスタマイズして共有できる新機能を発表
Microsoft
2024-05-22 16:04
Twitter、日本を含むG7の公人と政府機関のアカウントにラベル追加へ
アプリ・Web
2021-02-15 21:00
東証がSREによるレジリエンス向上に挑む理由。過去のシステム障害から何を学んだのか?(前編) ソフトウェア品質シンポジウム2022
SRE
2022-09-28 13:50
Microsoft、Webのリスク管理企業RiskIQを買収 サイバーセキュリティ強化へ
企業・業界動向
2021-07-14 00:44
「Raspberry Pi Pico 2」がリリース–「RP2350」マイクロプロセッサー搭載
IT関連
2024-08-10 12:11
立命館大、テレプレゼンスシステム「窓」で多様な地域との高大連携を加速
IT関連
2024-03-27 16:22
「iPadとMacは統合される」陰謀論、Apple幹部が否定 iPadとMacの違いは「タッチ」
IT関連
2021-04-24 07:28
WebAssembly製のx86仮想マシン、Webブラウザ上でLinux GUIデスクトップ環境を実行可能に。「WebVM 2.0」が登場
Linux
2024-11-18 07:27
SCSK、HPEやレッドハットとクラウドネイティブ化サービスを提供
IT関連
2023-12-15 01:24