Serverless: Opción para eliminar aws-sdk de node_modules locales antes de implementar

Creado en 6 jun. 2017  ·  3Comentarios  ·  Fuente: serverless/serverless

Esta es una (propuesta de característica)

Opción para eliminar aws-sdk de node_modules locales antes de implementar

Descripción

aws-sdk por sí solo es un módulo de nodo enorme (más de 20 MB descomprimidos) y, junto con todas sus dependencias, pesa lo suficiente como para evitar ediciones de código en el navegador en la plataforma lambda.

Un usuario puede querer usar algo que dependa de aws-sdk (por ejemplo @awspilot/dynamodb ), pero funcionará bien con el módulo aws-sdk nativo de lambda.

Actualmente, puede eliminar manualmente aws-sdk y sus dependencias y, por lo tanto, reducir su función package.zip, usando mi caso como ejemplo, un factor de 25.

¿Podría ser una opción para serverless eliminar estos módulos innecesarios antes de empaquetar/implementar?

Problemas similares o dependientes:

Datos adicionales

N / A

feature

Comentario más útil

FWIW: _Ahora_ basta con agregar aws-sdk como devDependency . Luego se excluirá automáticamente y debido a que el tiempo de ejecución de AWS Lambda Node.JS tiene el aws-sdk incrustado, su Lambda aún debería funcionar (el mío funcionó :))

Todos 3 comentarios

Hola @davepwsmith gracias por abrir 👍

Puede usar las reglas exclude / include para definir globs que describirán lo que debe excluirse/incluirse en su paquete de implementación (consulte: https://serverless.com/framework/docs/providers /aws/guide/packaging#exclude--include).

También estamos trabajando en el n.° 2709, que podría estar relacionado.

FWIW: _Ahora_ basta con agregar aws-sdk como devDependency . Luego se excluirá automáticamente y debido a que el tiempo de ejecución de AWS Lambda Node.JS tiene el aws-sdk incrustado, su Lambda aún debería funcionar (el mío funcionó :))

@ChristianUlbrich ¡ Gracias por compartir!
Acabo de reducir 9 mb del tamaño del paquete al mover aws-sdk a devDependency 🔥

¿Fue útil esta página
0 / 5 - 0 calificaciones