serverless-heaven / serverless-webpack

Serverless plugin to bundle your lambdas with Webpack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow script execution and management via packagerOptions

HyperBrain opened this issue · comments

This is a Feature Proposal

Description

Currently the webpack plugin does not allow for custom scripts to be executed while packaging the functions/service. The packager part creates a small package.json that only contains the dependencies to make sure that they are bundled correctly.

Issues like #342 show, that there are cases where invoking a script after the packager install might be needed.

A possible approach would be to add a list of inline scripts as packageOptions.scripts[] that are added to the package.json and executed serially with "npm/yarn run" after the install has finshed. The script entries can be anything that is allowed for a package.json script entry. This will give users more power to cover these situations.

Sample for the referenced issue:

# serverless.yml
custom:
  webpack:
    packagerOptions:
      scripts:
        - npm rebuild grpc --target=6.1.0 --target_arch=x64 --target_platform=linux

Similar or dependent issue(s):

Additional Data

N/A

Thank you, @HyperBrain. For others who may be interested, here's a link to a comment on the gRPC project issues page that describes the use case in your sample (and in issue #342 ).

Also, as I was doing research for on this issue, I spent a lot of time going through the Webpack documentation. Is this really a Webpack or serverless-webpack issue, or does it not matter?

It is a serverless-webpack issue. As soon as it allows to execute the rebuild, everything should be fine. On Windows this will happen frequently if you use compiled binaries, because the local "build" will guess that the package is for Windows.

Released with 5.1.0