TypeScript を使用した Apps Script の開発

TypeScript は、プレーンな Apps Script にコンパイルできる JavaScript の型付きスーパーセットです。Apps Script プロジェクトの開発で TypeScript を使用すると、次のような利点があります。

このガイドでは、TypeScript を使用して Apps Script プロジェクトを開発するための一般的なタスクについて説明します。

要件

TypeScript に詳しくない場合は、TypeScript のドキュメントTypeScript のクイックスタートをお読みになり、このガイドで説明する手順を行う前に、基本的なコンセプトをよく理解してください。

clasp を使用して Apps Script プロジェクトで TypeScript を使用するには、次のツールが必要です。Apps Script で TypeScript を使用できるようにするために clasp を使用することは必須ではありませんが、手順が大幅に簡素化されるため、使用を強くおすすめします。

以下に示すプロセスのいずれかを実行する前に、ローカル開発環境を有効にするために、以下がインストールされていることを確認してください。

clasp を初めて使用する場合は、clasp のドキュメント をよくお読みください。

クラスプ プロジェクトで TypeScript を使用する

clasp を使用すると、簡単に新しいローカル Apps Script プロジェクトを作成できます。このコマンドにより、Apps Script プロジェクトのベースである appsscript.jsonCode.gs が作成されます。

App Script ファイルで TypeScript を使用するには、ファイル拡張子を gs から ts に変更するだけです。

ローカルの TypeScript ファイルを編集する

任意のエディタを使用して、ローカルの TypeScript ファイルを .ts ファイルとしてプロジェクトのフォルダに書き込むことができます。

たとえば、index.ts という名前のファイルに次の TypeScript コードが含まれているとします。

const greeter = (person: string) => {
  return `Hello, ${person}!`;
}

let user = 'Grant';
Logger.log(greeter(user));

矢印関数や文字列補間(${var})などの ES6+ 機能を使用して TypeScript を記述できます。これらのファイルは、プロジェクトを Apps Script サーバーに push すると Apps Script 構造にトランスパイルされます。

TypeScript を使用するローカルの Apps Script プロジェクトをアップロードする

ローカルの TypeScript ファイルと Apps Script ファイルの編集が完了したら、次の clasp コマンドを使用してローカル ファイルを Google ドライブにアップロードできます。

clasp push --watch

このコマンドは TypeScript ファイルの変更を監視し、typescript を使用してコードをコンパイルし、clasp を使用してプロジェクトを Google ドライブにアップロードします。

問題の報告、機能リクエストの提出

clasp ツールで問題が発生した場合は、GitHub で報告できます。

TypeScript 自体で問題やバグが発生した場合は、TypeScript の GitHub リポジトリで報告できます。