Skip to content

99x/serverless-dependency-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

serverless-dependency-install

Join the chat at https://gitter.im/99xt/serverless-dependency-install serverless npm version license

This Plugin Requires

  • Serverless V0.5 or newer

Features

  • 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.

Install Plugin

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"]

Using the Plugin

  1. Install all the dependencies sls dependency install

  2. 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 name shared, in project root.

More on local shared dependencies

What if you need to share code, but don't wish to publish packages in NPM Registry? You can use the local shared dependencies.

  1. 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
    
  2. In s-project.json add local_shared_dependencies text to override default directory shared

    "custom": {
      "shared": "local_shared_dependencies"
    }
  3. 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
    
  4. To install local shared dependencies as well as npm dependencies use the same command

    sls dependency install

License

MIT

About

Serverless plugin to manage dependencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •