Open r34son opened 7 months ago
Для наглядности приложу пример создания архива с кодом функции (использую terraform). Мне приходится исключать package.json
из архива, чтобы не упереться в лимиты (тут проблема возможна не только в лимитах, но и в пакетном менеджере отличном от npm). Не хочется тут еще костыли придумывать, чтобы обойти не понятные ограничения.
Какие вижу варианты:
.mjs
, что является частью стандарта https://nodejs.org/api/esm.html#enabling. И как это сделано в aws https://docs.amazonaws.cn/en_us/lambda/latest/dg/nodejs-handler.html#nodejs-handler-naming. Могу ошибаться, но кмк доработок требуется минимально.
В документации описан процесс управления зависимостями https://yandex.cloud/ru/docs/functions/lang/nodejs/dependencies
В другом ишью выснили, что для поддержки ESM синтаксиса можно обойтись использованием
"type": "module"
вpackage.json
https://github.com/yandex-cloud/docs/pull/282#issuecomment-2017710426Получается неприятная ситуация:
В архиве есть уже все нужные пакеты в папке
node_modules
, но добавив вpackage.json
"type": "module"
- Cloud Functions начинает устанавливать пакеты и упирается в лимит по памяти https://yandex.cloud/ru/docs/functions/concepts/limitsКак вариант можно попробовать вычистить все кроме
"type": "module"
вpackage.json
, но это все танцы с бубном, которых хотелось бы избежать.