Google Closure Tools [ 3 ]は、開発者がJavaScriptを使用してリッチなWeb アプリケーションを最適化するのを支援することを目的として構築されたツール群でした。これは、 GoogleがGmail、Google Docs、Google MapsなどのWeb アプリケーションで使用するために開発しました。[ 4 ] Closure Library は、「現代の JavaScript 開発のニーズを満たしていない」という理由で、2024 年 8 月 1 日をもってサポートが終了しました。[ 5 ]
Closure Compilerは、JavaScriptコードを圧縮・最適化することで、人間が読みやすいコードを低下させるツールです。実際のコンパイラとは異なり、JavaScriptから機械語にコンパイルするのではなく、JavaScriptをミニファイ化します。
このプロセスでは、以下の手順が実行されます。
また、構文、変数参照、型をチェックし、 JavaScriptでよくある落とし穴について警告します。
Babelと同様に、最新のECMAScriptコードをECMAScript 5にトランスパイルして、より幅広いブラウザ互換性を実現することをサポートしている。これにより、ES6をES3にトランスパイルする別のプロジェクトであるTraceur Compilerは不要になった。[ 6 ]
Closureコンパイラは、JSDoc型注釈による型チェックもサポートしています。 [ 7 ]
Closure Compilerは、コマンドラインツールを通じて使用できます。
google-closure-compilerネイティブバイナリ実行ファイル(GraalVM経由)、Java、JavaScriptベースの3つのコンパイラを提供するnpmパッケージClosure Compiler Service アプリケーションは、ユーザーが JavaScript ソースを指す URL を入力するか、テキストボックスに JavaScript ソースコードを入力するためのフォームを提供します。Web サイトは、コンパイルされた JavaScript を右側に表示し、ユーザーがコピーできるようにします。[ 8 ]
APIが利用可能で、POSTリクエストでアクセスできます。パラメータには以下が含まれます。
このサービスは非推奨としてマークされており、いずれ削除されます。[ 9 ]
JavaScriptにトランスパイルするプログラミング言語は、ツールチェーンでクロージャコンパイラを使用できます。たとえば、ClojureScriptでは、コンパイルされたJavaScriptを最適化するためにクロージャコンパイラが使用されています。[ 10 ]
Closure Compilerは、 Mozillaが開発したRhino JSエンジンの改良版、 Google Guava、Java標準ライブラリ、Protocol Buffers 、Gson、その他様々なテストツールをベースに構築されています。また、Node.jsの標準APIライブラリ、jQuery、Google Map APIなど、様々な人気プロジェクトに対応したJavaScript JSDocアノテーションも内蔵しています。
Closure Libraryは、モジュール型アーキテクチャに基づき、Closure Compilerを活用するために特別に開発されたJavaScriptライブラリです。DOM操作やイベント、Ajax、JSONなどのクロスブラウザ対応機能に加え、ユーザーインターフェースウィジェットやコントロールといった高レベルなオブジェクトも提供します。
クロージャテンプレートは、Java [ 11 ]とJavaScript [ 12 ]の両方でHTML を動的に生成するためのテンプレートシステムです。
Google 内部ではこの言語を「Soy」と呼んでおり、ドキュメントやクラスの一部にも「Soy」が残っているため、[ 13 ]クロージャ テンプレートは「Soy テンプレート」と呼ばれることがあります。
クロージャスタイルシートはCSSの拡張機能であり、通常のCSSにトランスパイルされます。Google社内では、この拡張版CSSはGSSと呼ばれています。
2021年11月現在、クロージャスタイルシートはSassやPostCSSなどのツールに置き換えられ、非推奨となっています。[ 14 ]