Netlify FunctionsでTypeScriptを使って開発する

2018.08.03

この記事は既に内容が古くなっています。最新の内容は「Netlify Functions + TypeScriptのボイラープレートを作った」をご覧ください

先日Netlify Functionsの入門記事を書きましたが、TypeScriptで書きたかったので書けるようにしました。

Netlify公式がホスティングしているFunctions用のCLIであるnetlify-lambdaをフォークしてnpmで公開しました。 https://github.com/mottox2/netlify-lambda https://www.npmjs.com/package/@mottox2/netlify-lambda

使用方法

$ npm install --save-dev @mottox2/netlify-lambda

でパッケージをインストール。

package.jsonに以下の様なnpm scriptsを定義しておきましょう。

{
   "scripts": {
    "serve": "netlify-lambda serve src/",
    "build": "netlify-lambda build src/"
   }
}

あとはnpm run buildなどで実行すれば動くはずです。

実際に利用しているリポジトリも参考にどうぞ!

何をやっているか

Netlify Functionsの中身はAWS lambdaなのでnode 6.10環境用にビルドすればよさそうな雰囲気を感じました。 netlify-lambdaの役割はNetlify特有の環境変数等の設定を読み込みWebpackを走らせるというライブラリになっていました。

なので、ビルド結果はnode6.10向けにしつつTypeScriptが動けばよいので、Webpackのbabel-loaderでbabel7 + baebl-preset-typescriptを読み込めばいけそうでした。目論見通り動いたので、それを名前空間(@mottox2)を付けてnpmに公開した次第です。

一応元のリポジトリに対してbabel7のプルリクエストは投げているのですが、ここ数ヶ月動きがないのであまり期待していません。

快適なNetlify生活をお送りください。