- Serverless V0.5 or newer
- Executes npm install for all the package.json files inside serverless project directory with a single command.
- This plugin also allows to define local shared dependencies in package.json.
npm install --save serverless-dependency-install
Then in s-project.json
add following entry to the plugins array: serverless-dependency-install
e.g "plugins": ["serverless-dependency-install"]
-
Install all the dependencies
sls dependency install
-
Create a new local shared dependency.
sls dynamodb create -n <dependency-name>
This creates the template code for local shared dependency, inside the directory with the nameshared
, in project root.
What if you need to share code, but don't wish to publish packages in NPM Registry? You can use the local shared dependencies.
-
Create a directory(e.g 'local_shared_dependencies') in your serverless root to store shared local dependency(library) code. Create directories for each of the dependencies with a index.js inside, as shown below.
__/local_shared_dependencies |__dependency-a |__index.js |__dependency-b |__index.js |__package.json // Optional if you have other npm dependencies
You can create a dependency-a by executing
sls dependency create -n dependency-a
-
In
s-project.json
addlocal_shared_dependencies
text to override default directoryshared
"custom": { "shared": "local_shared_dependencies" }
-
You can follow either of following steps to add a dependency to a function.
- Open a package.json file in your code base which depends on a local shared dependency (lets say 'dependency-a' and 'dependency-b') and include the section 'customDependencies', as shown below.
{ "dependencies": {}, "customDependencies": { "dependency-a" : "local", "dependency-b" : "local" } }
- Execute following command in command prompt.
sls dependency add
It will ask you for a dependency name. You can enter a dependency name and press enter. Then it will prompt you for a list of available functions. Mark the functions you want to add this dependency and navigate to
Add
and press enter. Then Serverless will alter package.json files appropriately.sls dependency add Serverless: Enter the name of dependency: test Serverless: Dependency root: /your/project/path Serverless: Select the functions you wish to add the dependency: Function - functionA Function - functionB Function - functionC Function - functionD - - - - - > Add Cancel Serverless: Dependency added to the selected functions successfully
-
To install local shared dependencies as well as npm dependencies use the same command
sls dependency install