@asd14/serverless-universal-packer
v1.5.0
Published
A Serverless plugin for custom packaging using bash scripts
Downloads
16
Maintainers
Readme
Serverless plugin for custom packaging using BASH scripts with little to no dependencies.
- :hammer_and_wrench: Flexibility: Don't rely on the existence of specialized plugins interfacing bundler X. Easily pivot when a better suited builder comes out.
- :green_square: Low complexity: Specialized plugins mostly just proxy to the underlying bundler. You can do that yourself in a few command lines.
- :repeat: Stay Updated: Keep dependencies updated without waiting for plugin updates.
Table of contents
- :inbox_tray: Install
- :wrench: Custom BASH scripts
- :books: Examples
- :computer: Development
- :scroll: Changelog
:inbox_tray: Install
npm install --save-dev serverless-universal-packer
:wrench: Custom BASH scripts
sls-up_workspace-pack
Currently running npm pack
inside a workspace/monorepo package will not
include dependencies hoisted to the root node_modules
folder. This is a
:bug: known issue.
To get around this limitation, temporary use this script.
Internally it copies missing dependencies from the root node_modules
into
child package node_modules
and runs npm pack
. After the package is created,
the original child node_modules
is restored.
npx sls-up_workspace-pack
# /path/to/package.tgz
sls-up_convert-to-aws-zip
:books: Examples
:package: NPM
Without any additional packages, NPM provides a built-in mechanic to package
your code using npm pack
. This will create a .tgz
file in the root of your project.
files
: string[]
The optional files field is an array of file patterns that describes the entries to be included when your package is installed as a dependency
bundledDependencies
: string[] | boolean
This defines an array of package names that will be bundled when publishing the package.
// package.json
{
"files": ["src"],
"bundledDependencies": true
}
# serverless.yml
plugins:
- serverless-universal-packer
custom:
universalPacker:
script:
- tgz_path=$(npx sls-up_workspace-pack | tail -n 1)
- zip_path=$(npx sls-up_convert-to-aws-zip "$tgz_path" | tail -n 1)
- echo "$zip_path"
:large_blue_diamond: Typescript
:zap: SWC
:computer: Development
git clone [email protected]:asd-xiv/serverless-universal-packer.git asd14.serverless-universal-packer
:scroll: Changelog
See the releases section for details.