Netlify FunctionsでTypeScriptを使って開発する
この記事は既に内容が古くなっています。最新の内容は「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生活をお送りください。