Skip to content

Repository files navigation

Serverless Plus CLI

npmNPM downloadsBuild Statussemantic-release

CLI tool for Serverless Plus

Support Cloud Vendors

  • Tencent Cloud
  • AWS
  • Aliyun

Installation

$ npm i @slsplus/cli -g

Usage

$ slsplus -h
Usage: slsplus [options] [command]
Options:
-v, --version output the current version
-h, --help display helpforcommand
Commands:
config Config for slsplus cli
clone <source> [destination] clone a repository into a newly created directory
parse [options] parse serverless config file with costomize and environment variables replacement
faas Operation for faas
app Operation for serverless application
migrate [options] Migrate old serverless config to uniform config
init [options] Initialize commandfor serverless project
bundle [options] Bundle commandfor serverless project
help [command] display helpforcommand
Example call:
$ slsplus --help

Notice: Below examples will use sp instead of slsplus.

config

Config credentils for vendors:

$ sp config

init

Initialize command for serverless project:

$ sp init -u

It will start an UI config server for serverless project.

clone

$ sp clone https://github.com/serverless-plus/cli

faas

Before using faas command, you should run sp config to config tencent cloud credentilas.

faas logs

Get faas logs:

$ sp faas logs --name=scfdemo --limit=1

faas invoke

Invoke faas:

$ sp faas invoke --name=scfdemo

Invoke with event:

$ sp faas invoke --name=scfdemo --event=./event.json

faas warm

Warm up faas:

# name parameter is the name of cloud function
$ sp faas warm --name=scfdemo

bundle

Using bundle command, you can bundle your project with dependencies into one file, so you need not to upload node_modules directory.

$ sp bundle --input=app.js --file=./sls.js

If you do not pass --file option, it will be bundled to sls.prod.js by default.

app

Before using app command, you should run sp config to config tencent cloud credentilas.

app warm

Warm up serverless application:

# name parameter is the name configured in serverless.yml
$ sp app warm --app=appname --name=scfdemo --stage=dev

Parse serverless config file

$ sp parse -o -s '{"src":"./"}'

Parse command will parse serverless config file with costomize and environment variables replacement.

For example, before is:

inputs:
region: ${env:REGION}

If process.env.REGION=ap-guangzhou, after parsing, the serverless.yml will be:

inputs:
src: ./region: ap-guangzhou

Migrate serverless config file

$ slsplus migrate

This command will auto migrate your old yaml config to latest version.

Development

All git commit mesage must follow below syntax:

type(scope?): subject #scope is optional

support type:

  • feat: add new feature
  • fix: fix bug or patch feature
  • ci: CI
  • chore: modify config, nothing to do with production code
  • docs: create or modifiy documents
  • refactor: refactor project
  • revert: revert
  • test: test

Most of time, we just use feat and fix.

Test

For CI test, should copy .env.example to .env.test, then config below environment variables to yours:

# tencent credentialsTENCENT_SECRET_ID=xxxTENCENT_SECRET_KEY=xxx# cos url for project code download in CI environmentCODE_URL_COS=xxx# git ulr for git projectCODE_URL_GIT=xxx# nextjsCODE_URL_COS_NEXTJS=xxxSTATIC_URL_NEXTJS=xxx# nuxtjsCODE_URL_COS_NUXTJS=xxxSTATIC_URL_NUXTJS=xxx

License

MIT License

Copyright (c) 2020 Serverless Plus

About

Serverless Plus Command Line Tool

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages