Comparing version 9.1.0 to 9.1.1
@@ -1,2 +0,2 @@ | ||
Copyright (c) 2011-2017 GitHub Inc. | ||
Copyright (c) 2011-2023 GitHub Inc. | ||
@@ -3,0 +3,0 @@ Permission is hereby granted, free of charge, to any person obtaining |
{ | ||
"name": "hubot", | ||
"version": "9.1.0", | ||
"version": "9.1.1", | ||
"author": "hubot", | ||
@@ -43,3 +43,5 @@ "keywords": [ | ||
"test:smoke": "node src/**/*.js", | ||
"test:e2e": "bin/e2e-test.sh" | ||
"test:e2e": "bin/e2e-test.sh", | ||
"build:local": "npx @hubot-friends/sfab --folder ./docs --destination ./_site --verbose --serve /hubot/ --watch-path ./docs --scripts ./sfab-hooks", | ||
"build": "npx @hubot-friends/sfab --folder ./docs --destination ./_site --verbose --scripts ./sfab-hooks" | ||
}, | ||
@@ -46,0 +48,0 @@ "release": { |
@@ -0,1 +1,3 @@ | ||
![Pipeline Status](https://github.com/hubotio/hubot/actions/workflows/pipeline.yml/badge.svg) | ||
![Build Status: MacOS](https://github.com/hubotio/hubot/actions/workflows/nodejs-macos.yml/badge.svg) | ||
@@ -8,7 +10,7 @@ ![Build Status: Ubuntu](https://github.com/hubotio/hubot/actions/workflows/nodejs-ubuntu.yml/badge.svg) | ||
Hubot is a framework to build chat bots, modeled after GitHub's Campfire bot of the same name, hubot. | ||
He's pretty cool. He's [extendable with scripts](http://hubot.github.com/docs/#scripts) and can work | ||
on [many different chat services](https://hubot.github.com/docs/adapters/). | ||
He's pretty cool. He's [extendable with scripts](https://hubotio.github.io/hubot/docs#scripts) and can work | ||
on [many different chat services](https://hubotio.github.io/hubot/adapters.html). | ||
This repository provides a library that's distributed by `npm` that you | ||
use for building your own bots. See the [documentation](http://hubot.github.com/docs) | ||
use for building your own bots. See the [documentation](https://hubotio.github.io/hubot/docs.html) | ||
for details on getting up and running with your very own robot friend. | ||
@@ -21,5 +23,5 @@ | ||
This will create a directory called `myhubot` in the current working directory. | ||
```sh | ||
mkdir myhubot | ||
cd myhubot | ||
npx hubot --create myhubot --adapter @hubot-friends/hubot-slack | ||
@@ -26,0 +28,0 @@ ``` |
@@ -40,2 +40,3 @@ 'use strict' | ||
this.adapter = null | ||
this.shouldEnableHttpd = httpd ?? true | ||
this.datastore = null | ||
@@ -59,8 +60,2 @@ this.Response = Response | ||
this.parseVersion() | ||
if (httpd) { | ||
this.setupExpress() | ||
} else { | ||
this.setupNullRouter() | ||
} | ||
this.adapterName = adapter ?? 'shell' | ||
@@ -72,2 +67,3 @@ this.errorHandlers = [] | ||
}) | ||
this.on('listening', this.herokuKeepalive.bind(this)) | ||
} | ||
@@ -413,4 +409,4 @@ | ||
// | ||
// Returns nothing. | ||
setupExpress () { | ||
// Returns Server. | ||
async setupExpress () { | ||
const user = process.env.EXPRESS_USER | ||
@@ -451,23 +447,14 @@ const pass = process.env.EXPRESS_PASSWORD | ||
} | ||
try { | ||
this.server = app.listen(port, address) | ||
this.router = app | ||
} catch (error) { | ||
this.logger.error(`Error trying to start HTTP server: ${error}\n${error.stack}`) | ||
throw error | ||
} | ||
let herokuUrl = process.env.HEROKU_URL | ||
if (herokuUrl) { | ||
if (!/\/$/.test(herokuUrl)) { | ||
herokuUrl += '/' | ||
const p = new Promise((resolve, reject) => { | ||
try { | ||
this.server = app.listen(port, address, () => { | ||
this.router = app | ||
this.emit('listening', this.server) | ||
resolve(this.server) | ||
}) | ||
} catch (err) { | ||
reject(err) | ||
} | ||
this.pingIntervalId = setInterval(() => { | ||
HttpClient.create(`${herokuUrl}hubot/ping`).post()((_err, res, body) => { | ||
this.logger.info('keep alive ping!') | ||
}) | ||
}, 5 * 60 * 1000) | ||
} | ||
}) | ||
return p | ||
} | ||
@@ -653,2 +640,7 @@ | ||
async run () { | ||
if (this.shouldEnableHttpd) { | ||
await this.setupExpress() | ||
} else { | ||
this.setupNullRouter() | ||
} | ||
this.emit('running') | ||
@@ -721,2 +713,16 @@ | ||
} | ||
herokuKeepalive (server) { | ||
let herokuUrl = process.env.HEROKU_URL | ||
if (herokuUrl) { | ||
if (!/\/$/.test(herokuUrl)) { | ||
herokuUrl += '/' | ||
} | ||
this.pingIntervalId = setInterval(() => { | ||
HttpClient.create(`${herokuUrl}hubot/ping`).post()((_err, res, body) => { | ||
this.logger.info('keep alive ping!') | ||
}) | ||
}, 5 * 60 * 1000) | ||
} | ||
} | ||
} | ||
@@ -723,0 +729,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
95883
24
2459
33