Easily define a base path where your serverless functions are located
npm install serverless-functions-base-path




When a project scaffolded with Serverless framework starts to be large or so you simply want to structure in a specific way your project, your handler paths can be quite long to write. That's where serverless-functions-base-path comes in, this plugin will allow you to define a base path that indicates the location of your lambda function while keeping your handler paths as minimal as possible.
Go to your project directory and install the plugin by running :
for npm users
``bash`
npm i -D serverless-functions-base-path
for yarn users
`bash`
yarn add --dev serverless-functions-base-path
Let's say that our project have the following strucutre :
#### Project structure
``
my-new-serverless-project
├── src
│ └── handlers
│ └── users.js
│ └── lib
├── package.json
└── serverless.yml
#### Configuration
Open your serverless.yml configuration file and :
* add a plugins sectionserverless-functions-base-path
* add our fresh plugin into itcustom
* add a sectionfunctionsBasePath
* add a property with your base path location
`yamlserverless.yml
service: hello-world-service
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: eu-west-1
memorySize: 128
timemout: 10
custom:
functionsBasePath: src/handlers
functions:
hello:
handler: users.hello
events:
- http:
path: hello
method: get
plugins:
- serverless-functions-base-path
`
#### Invoke
Try to invoke your local function with
`bash
serverless invoke locale -f hello
You can find more usage examples in the example folder.
Contributing
1. Fork it!
2. Create your feature branch:
git checkout -b my-new-feature
3. Commit your changes: git commit -am 'Add some feature'
4. Push to the branch: git push origin my-new-feature`MIT