This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@serverless-contracts/plugin
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

@serverless-contracts/plugin

A plugin to safely deploy Serverless microservices.

This plugin is part of the serverless-contracts project. See its documentation for more insights.

Installation

npm install @serverless-contracts/plugin --save-dev

Or if you're using yarn

yarn add -D @serverless-contracts/plugin

Then in your serverless.ts file, add @serverless-contracts/plugin to the list of your plugins.

Configuration

Add a contracts key to your Serverless file:

import { myFirstContract, mySecondContract } from 'my-contracts-package';
import { consumedContract } from 'other-contracts';

const serverlessConfigation = {
    service: 'my-app',
    provider: {
        name: aws
    },
    plugins: ['@serverless-contracts/plugin'],
    functions: {
        ...
    },
    contracts: {
        provides: {
            myFirstContract: myFirstContract.fullContractSchema,
            mySecondContract: mySecondContract.fullContractSchema
        },
        consumes: {
            consumedContract: consumedContract.fullContractSchema,
        },
    },
}

Where all the contracts are defined using serverless-contracts.

Commands

  • serverless localContracts: prints the local version of the contracts
  • serverless remoteContracts: prints the currently deployed version of the contracts
  • serverless safeDeploy --strategy <strategy>: a wrapper around the deploy command of the Serverless Framework, check if the contracts modification is deployable with the chosen strategy. Choices are PROVIDER_FIRST or CONSUMER_FIRST

Typing

This plugin exposes its own types. In order to properly type your Serverless service file:

import { ServerlessContracts } from '@serverless-contracts/plugin';
import { AWS } from '@serverless/typescript';

const serverlessConfiguration: AWS & ServerlessContracts = {
    ...
}

Dependencies (4)

Dev Dependencies (22)

Package Sidebar

Install

npm i @serverless-contracts/plugin

Weekly Downloads

0

Version

0.3.0

License

MIT

Unpacked Size

331 kB

Total Files

83

Last publish

Collaborators

  • adriencaccia
  • fargito