@aligent/serverless-conventions
v1.0.0
Published
A Serverless framework plugin to enforce various formatting conventions to maintain consistency within Serverless applications.
Downloads
461
Keywords
Readme
Serverless Conventions Plugin
A Serverless framework plugin to enforce various formatting conventions to maintain consistency within Serverless applications.
List of conventions
| Convention | Good Example | Bad Example | | --- | --- | --- | | Service name must be dash delimited | this-is-a-good-name | thisIsABadName | | Service name must not contain the word "service" | this-is-a-good-name | this-is-a-bad-service | | Service name must be less than 24 characters | this-is-a-good-name | this-is-a-bad-name-because-its-too-long | | Stage must contains only lower case alphabet characters | dev | Development | | Stage must be exactly 3 characters long | prd | prod | | Handler names must have the same name as the function | functions: thisIsAWellNamedExample: handler: src/this-is-a-well-named-example.handler | functions: thisIsABadlyNamedFunction: handler: src/this-is-a-badly-named-example.handler | | Function names must be in camel case | thisIsAWellNamedExample | ThisIsABadlyNamedExample | | Function names should not be overwritten | functions: exampleFunction: handler: src/example-function.handler | functions: exampleFunction: name: exampleFunction handler: src/example-function.handler | | Handler names must be dash delimited | src/this-is-a-well-named-example.handler | src/ThisIsABadlyNamedExample.handler | | Handler names must end in ".handler" | src/this-is-a-well-named-example.handler | src/this-is-a-badly-named-example | | DynamoDB table names must be in kebab case | example-name-good-table-name | BadTableName | | DynamoDB table names must start with the service name | example-name-good-table-name | bad-table-name |
Serverless configuration
The plugin is configured within the serverless.yaml
by adding the plugin to the list of plugins.
plugins:
- "@aligent/serverless-conventions"
Ignoring specific checks
All checks can be ignored by specifying the check to ignore under a top level property named conventions
in serverless.yaml
.
A list of all the available ignore commands are below:
conventions:
ignore:
serviceName: true
stageName: true
handlerName: true
functionName: true
handlerNameMatchesFunction: true
dynamoDBTableName: true
Running the conventions check
The conventions check will run automatically each time you run a serverless command that compiles the packages. (e.g. serverless package
, serverless deploy
)
Alternatively, the conventions check can be run manually with serverless conventions-check
.