1.0.0 • Published 2 years ago

@aligent/serverless-conventions v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Serverless Conventions Plugin

serverless npm version

A Serverless framework plugin to enforce various formatting conventions to maintain consistency within Serverless applications.

List of conventions

ConventionGood ExampleBad Example
Service name must be dash delimitedthis-is-a-good-namethisIsABadName
Service name must not contain the word "service"this-is-a-good-namethis-is-a-bad-service
Service name must be less than 24 charactersthis-is-a-good-namethis-is-a-bad-name-because-its-too-long
Stage must contains only lower case alphabet charactersdevDevelopment
Stage must be exactly 3 characters longprdprod
Handler names must have the same name as the functionfunctions: thisIsAWellNamedExample:  handler: src/this-is-a-well-named-example.handlerfunctions: thisIsABadlyNamedFunction:  handler: src/this-is-a-badly-named-example.handler
Function names must be in camel casethisIsAWellNamedExampleThisIsABadlyNamedExample
Function names should not be overwrittenfunctions: exampleFunction:  handler: src/example-function.handlerfunctions: exampleFunction:  name: exampleFunction  handler: src/example-function.handler
Handler names must be dash delimitedsrc/this-is-a-well-named-example.handlersrc/ThisIsABadlyNamedExample.handler
Handler names must end in ".handler"src/this-is-a-well-named-example.handlersrc/this-is-a-badly-named-example
DynamoDB table names must be in kebab caseexample-name-good-table-nameBadTableName
DynamoDB table names must start with the service nameexample-name-good-table-namebad-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.

Example Output

serverless output

1.0.0

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.0

3 years ago

0.2.1

3 years ago

0.1.0

4 years ago

0.2.0

3 years ago

0.1.1

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago