
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@chadfawcett/probot-serverless-now
Advanced tools
A Probot extension to make it easier to run your Probot Apps on Zeit Now v2
A Probot extenstion to make it easier to run your Probot Apps on Zeit Now v2
Zeit Now v2 changes its functionality from long-running processes to functions.
This means v2 deployments can't start probot run
, and instead need direct
access to the App's endpoint.
$ npm install @chadfawcett/probot-serverless-now
// now.js
var { serverless } = require('@chadfawcett/probot-serverless-now')
const appFn = require('./')
module.exports = serverless(appFn)
// index.js
module.exports = app => {
app.on('issues.opened', async context => {
// A new issue was opened, what should we do with it?
context.log(context.payload)
})
}
// now.json
{
"version": 2,
"env": {
"APP_ID": "@app-id",
"WEBHOOK_SECRET": "@webhook-secret",
"PRIVATE_KEY": "@private-key-base64-encoded"
},
"builds": [{ "src": "now.js", "use": "@now/node" }],
"routes": [{ "src": "/", "dest": "/now.js" }]
}
$ now # Deploy using now!
Zeit Now encourages multiple granular
endpoints
instead of one monolithic app, so whenever possible you should separate custom
routing. That being said, there may be cases for wanting to have custom routes
inside of your app using app.route()
. To enable this, simply change the src
path in your now.json
to have a wildcard ending ("src": "/*"
).
{
...
"routes": [{ "src": "/*", "dest": "/now.js" }]
}
As mentioned in using routes, monolithic apps are discouraged.
That being said, there may be a use case for running multiple Probot Apps
together (ie logging, stats, etc). For this reason the serverless
function
also accepts an array of app functions.
var { serverless } = require('@chadfawcett/probot-serverless-now')
const statsApp = require('probot/lib/apps/stats')
const myApp = require('./')
module.exports = serverless([statsApp, myApp])
serverless(appFn[, options])
Create a new instance of Probot and load the supplied App[s].
Name | Type | Required | Description |
---|---|---|---|
appFn | function | array | true | Single or array of of Probot App functions |
options | object | false | Probot config options |
Name | Type | Default | Description |
---|---|---|---|
id | number | process.env.APP_ID | The App ID assigned to your GitHub App |
secret | string | process.env.WEBHOOK_SECRET | The webhook secret used when creating a GitHub App |
cert | string | findPrivateKey() | The contents of the GitHub App private key (multiline or base64) |
Example
With default options
var { serverless } = require('@chadfawcett/probot-serverless-now')
const appFn = require('./')
module.exports = serverless(appFn)
With custom options
var { serverless } = require('@chadfawcett/probot-serverless-now')
const appFn = require('./')
const options = {
id: 123,
secret: process.env.MY_SECRET,
cert: process.env.MY_PRIVATE_KEY
}
module.exports = serverless(appFn, options)
With npm installed, run
$ npm install @chadfawcett/probot-serverless-now
This package is meant to be installed alongside your Probot app, so probot
is
a peer dependency.
@chadfawcett/probot-serverless-now was inspired by probot/serverless-lambda
MIT Copyright Chad Fawcett
FAQs
A Probot extension to make it easier to run your Probot Apps on Zeit Now v2
The npm package @chadfawcett/probot-serverless-now receives a total of 4 weekly downloads. As such, @chadfawcett/probot-serverless-now popularity was classified as not popular.
We found that @chadfawcett/probot-serverless-now demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.