New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

serverless-runtime-babel

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

serverless-runtime-babel

A Babel runtime for the Serverless framework

latest
Source
npmnpm
Version
0.0.6
Version published
Weekly downloads
15
15.38%
Maintainers
1
Weekly downloads
 
Created
Source

Babel Runtime for Serverless

serverless

Features

  • Runs locally and deploys functions written in ES2015 syntax (via Babel)
  • Classic and Modern JS Style handlers
  • Browserifies, minifies your functions on deployment

Install

Note: Serverless v0.5.0 or higher is required.

  • Install via npm in the root of your Serverless Project: npm install serverless-runtime-babel --save
  • In the plugins array in your s-project.json add "serverless-runtime-babel"
  • All done!

Usage

All you need is to set runtime property of s-function.json to babel. You could use the classic style handler when you need to call context.done() or the modern style when your functions should return a promise.

Classic Style

/* handler.js */
'use strict';

module.exports.handler = function(event, context) {

  /* Everything is the same but better */
  let [name, age, isAdmin] = ['bob', 23, false];
  let user = {name, age};

  return context.done(null, {
    isAdmin,
    userName: user.name,
    userAge: user.age
  });
};

Modern JS Style

/* event.json */
{
  "repos": [
    "serverless/serverless",
    "serverless/serverless-runtime-babel"
  ]
}
/* handler.js */
import "babel-polyfill"
import request from "request-promise"

const headers = {
  'User-Agent': 'Serverless'
};

export default ({repos}) => {

  return Promise.all(repos.map(repo => {
    let uri = `https://api.github.com/repos/${repo}`

    return request({headers, uri, json: true})
      .then(({stargazers_count}) => ({repo, stars: stargazers_count}))
  }))
​
}

Scaffold

You can use serverless function create as usual — it will promt you for a runtime unless you add the -r babel flag.

Examples

Options

Configuration options can be used by setting the custom.runtime of s-function.json. The following options are available:

  • babel — An object with a Babel configuration

  • minify — When set to true, this will enable minification. Default: true.

Browserify Options

Browserify options can be included as normal configuration options to the runtime object. The following options are supported:

  • handlerExt
  • requires
  • plugins
  • transforms
  • exclude
  • ignore (defaults to ["aws-sdk"])
  • extensions

For more information on these options, please visit the Browserify Documentaton.

Example

Example Babel Runtime configuration with default values:

{
  /*s-function.json*/
  /*...*/
  "runtime": "babel",
  "custom": {
    "runtime": {
      "babel": { 
      	"presets": ["es2015"]
      },
      "handlerExt": "js",
      "requires": [],
      "plugins": [],
      "transforms": [],
      "exclude": [],
      "ignore": [
        "aws-sdk"
      ],
      "extensions": [],
      "minify": true
    }
  },
  /*...*/
}

Keywords

serverless

FAQs

Package last updated on 28 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts