目次

netlify-lambdaの利用をやめて、Zero configurationを導入した


netlify-lambdaとは、AWS Lambda を基盤としたNetlify Functionsサービスで、自作のAPIを稼働させるためのライブラリであり、ローカル開発でも利用するためのライブラリ。

かなり以前から気がついていたが、このライブラリが、Deprecatedとなっており、以下のようなWarが出続けていたので、最新版へのアップデートをしようと思ったら、 アップデート自体が不要だった

netlify-lambdaはサポート終了している

Githubの公式に、

netlify-lambda
Netlify Lambda is deprecated and we do not recommend using it anymore. Most of its functionality was moved to the Netlify CLI.

と記載がある。

GitHub - netlify/netlify-lambda: Helps building and serving lambda functions locally and in CI environments

Helps building and serving lambda functions locally and in CI environments - netlify/netlify-lambda

現在は、Netlify CLIが後継となっているようだ

netlify-lambdaのビルドエラー

netlify-lambda が具体的にどのようなビルドエラーを出すかというと、npm run serveを実行すると以下のようなエラーが発生する。

1
2
WARNING in /opt/build/repo/site/node_modules/keyv/src/index.js 18:14-40
Critical dependency: the request of a dependency is an expression

nelify-lambdaが内部的に利用しているkeyv関連のWarnのようである。

後継のNetlify CLIについて調べていると、Zero configurationなる機能がリリースされていることに気がついた。

Netlify Functions - for an unrivaled serverless workflow

Enjoy a unified development workflow for your UI and your API. And deploy as many functions as you like, as frequently as you like. Just like you would the rest of your site.

Zero configurationについて

公式にも記載があるが

  • 規定のディレクトリ /netlify/functionsにコードを書いて
  • (git) push

するだけでNetlify側がビルドしてFunctionsとして展開してくれる。 なんて素晴らしい機能なんだ

というわけで netlify.tomlから既存のnetlify-lambdaのビルドスクリプトを削除し、netlify/functionsにコードを置き、さらにnpm uninstall netlify-lambdaをしたブランチをマージしてみたところ、(当たり前だが)期待値通り正しく動作することになった。

次は、Netlify CLIの使い方を確認してローカルでの開発をどうするかを確認するだけである。