From 6b0d9a5e19a7c5f90c260d09fbadc4ba9b912fa9 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 22 Apr 2019 15:52:23 -0700 Subject: [PATCH] clean up package files, add super basic tests --- .../botbuilder-adapter-facebook/package.json | 34 ++++++++++++--- .../botbuilder-adapter-hangouts/.gitignore | 3 +- .../botbuilder-adapter-hangouts/package.json | 40 ++++++++++++----- .../tests/HangoutsAdapter.tests.js | 22 ++++++++++ packages/botbuilder-adapter-slack/.gitignore | 3 +- .../botbuilder-adapter-slack/package.json | 8 +--- .../tests/SlackAdapter.tests.js | 28 ++++++++++++ .../botbuilder-adapter-twilio-sms/.gitignore | 3 +- .../package.json | 43 ++++++++++++++----- .../tests/TwilioAdapter.tests.js | 24 +++++++++++ packages/botbuilder-adapter-web/.gitignore | 3 +- packages/botbuilder-adapter-web/package.json | 40 +++++++++++++---- .../tests/WebAdapter.tests.js | 21 +++++++++ packages/botbuilder-adapter-webex/.gitignore | 1 + .../botbuilder-adapter-webex/package.json | 41 ++++++++++++------ .../src/webex_adapter.ts | 40 ++++++++++++----- .../tests/WebexAdapter.tests.js | 24 +++++++++++ packages/botkit-plugin-cms/package.json | 29 +++++++++---- packages/botkit/package.json | 32 +++++++++----- packages/generator-botkit/package.json | 3 +- todo.md | 13 +++--- 21 files changed, 359 insertions(+), 96 deletions(-) create mode 100644 packages/botbuilder-adapter-hangouts/tests/HangoutsAdapter.tests.js create mode 100644 packages/botbuilder-adapter-slack/tests/SlackAdapter.tests.js create mode 100644 packages/botbuilder-adapter-twilio-sms/tests/TwilioAdapter.tests.js create mode 100644 packages/botbuilder-adapter-web/tests/WebAdapter.tests.js create mode 100644 packages/botbuilder-adapter-webex/tests/WebexAdapter.tests.js diff --git a/packages/botbuilder-adapter-facebook/package.json b/packages/botbuilder-adapter-facebook/package.json index b420a6cb2..687429bf1 100644 --- a/packages/botbuilder-adapter-facebook/package.json +++ b/packages/botbuilder-adapter-facebook/package.json @@ -1,18 +1,40 @@ { "name": "botbuilder-adapter-facebook", "version": "1.0.0", - "description": "", + "description": "Connect Botkit or BotBuilder to Facebook Messenger", "main": "lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", "test": "tsc ; nyc mocha tests/*.tests.js", - "eslint": "./node_modules/.bin/eslint --fix src/*", - "start": "node ./index.js" + "eslint": "./node_modules/.bin/eslint --fix src/*" + }, + "author": "Microsoft Corp.", + "license": "MIT", + "keywords": [ + "facebook", + "facebook messenger", + "botkit", + "botbuilder", + "botframework", + "bots", + "chatbots", + "azure" + ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botbuilder-adapter-facebook#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" }, - "author": "", - "license": "ISC", "dependencies": { - "botbuilder": "^4.2.0", + "botbuilder": "^4.3.0", "botkit": "^4.0.0", "debug": "^4.1.0" }, diff --git a/packages/botbuilder-adapter-hangouts/.gitignore b/packages/botbuilder-adapter-hangouts/.gitignore index 0d2701892..82a11986a 100644 --- a/packages/botbuilder-adapter-hangouts/.gitignore +++ b/packages/botbuilder-adapter-hangouts/.gitignore @@ -1,3 +1,4 @@ node_modules/ .env -lib/ \ No newline at end of file +lib/ +.nyc_output/ diff --git a/packages/botbuilder-adapter-hangouts/package.json b/packages/botbuilder-adapter-hangouts/package.json index 04f08404a..6bccaf431 100644 --- a/packages/botbuilder-adapter-hangouts/package.json +++ b/packages/botbuilder-adapter-hangouts/package.json @@ -1,20 +1,40 @@ { "name": "botbuilder-adapter-hangouts", "version": "1.0.0", - "description": "", - "main": "lib/index.js", + "description": "Connect Botkit or BotBuilder to Google Hangouts", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1", - "eslint": "./node_modules/.bin/eslint --fix src/*", - "start": "node ./index.js" + "test": "tsc ; nyc mocha tests/*.tests.js", + "eslint": "./node_modules/.bin/eslint --fix src/*" + }, + "author": "Microsoft Corp.", + "license": "MIT", + "keywords": [ + "google hangouts", + "hangouts", + "botkit", + "botbuilder", + "botframework", + "bots", + "chatbots", + "azure" + ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botbuilder-adapter-hangouts#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" }, - "author": "", - "license": "ISC", "dependencies": { - "botbuilder": "^4.2.0", - "botbuilder-dialogs": "^4.2.0", - "botframework-config": "^4.2.0", + "botbuilder": "^4.3.0", "googleapis": "^34.0.0", "botkit": "^4.0.0", "debug": "^4.1.0" diff --git a/packages/botbuilder-adapter-hangouts/tests/HangoutsAdapter.tests.js b/packages/botbuilder-adapter-hangouts/tests/HangoutsAdapter.tests.js new file mode 100644 index 000000000..2abf3c196 --- /dev/null +++ b/packages/botbuilder-adapter-hangouts/tests/HangoutsAdapter.tests.js @@ -0,0 +1,22 @@ +const assert = require('assert'); +const { HangoutsAdapter } = require('../'); + +describe('HangoutsAdapter', function() { + + let adapter; + + // beforeEach(function () { + // adapter = new HangoutsAdapter({ + // token: '123', + // }); + // }); + + it('should not construct without required parameters', function () { + assert.throws(function () { let adapter = new HangoutsAdapter({}) }, 'Foo'); + }); + + // it('should create a HangoutsAdapter object', function () { + // assert((adapter instanceof HangoutsAdapter), 'Adapter is wrong type'); + // }); + +}); diff --git a/packages/botbuilder-adapter-slack/.gitignore b/packages/botbuilder-adapter-slack/.gitignore index 0d2701892..82a11986a 100644 --- a/packages/botbuilder-adapter-slack/.gitignore +++ b/packages/botbuilder-adapter-slack/.gitignore @@ -1,3 +1,4 @@ node_modules/ .env -lib/ \ No newline at end of file +lib/ +.nyc_output/ diff --git a/packages/botbuilder-adapter-slack/package.json b/packages/botbuilder-adapter-slack/package.json index f53d78696..9384e2555 100644 --- a/packages/botbuilder-adapter-slack/package.json +++ b/packages/botbuilder-adapter-slack/package.json @@ -10,7 +10,7 @@ ], "scripts": { "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1", + "test": "tsc ; nyc mocha tests/*.tests.js", "eslint": "./node_modules/.bin/eslint --fix src/*" }, "author": "Microsoft Corp.", @@ -35,12 +35,8 @@ "dependencies": { "@slack/client": "^4.7.0", "botbuilder": "^4.3.0", - "botbuilder-dialogs": "^4.3.0", - "botframework-config": "^4.3.0", "botkit": "^4.0.0", - "debug": "^4.1.0", - "dotenv": "^6.0.0", - "restify": "^7.2.1" + "debug": "^4.1.0" }, "devDependencies": { "eslint": "^5.5.0", diff --git a/packages/botbuilder-adapter-slack/tests/SlackAdapter.tests.js b/packages/botbuilder-adapter-slack/tests/SlackAdapter.tests.js new file mode 100644 index 000000000..ef03a8265 --- /dev/null +++ b/packages/botbuilder-adapter-slack/tests/SlackAdapter.tests.js @@ -0,0 +1,28 @@ +const assert = require('assert'); +const { SlackAdapter } = require('../'); + +describe('SlackAdapter', function() { + + let adapter; + + beforeEach(function () { + adapter = new SlackAdapter({ + clientSigningSecret: '123', + clientId: '123', + clientSecret: '123', + scopes: ['bot'], + redirectUri: 'https://fake.com/install/auth', + getBotUserByTeam: async(team) => '123', + getTokenForTeam: async(team) => '123', + }); + }); + + it('should not construct without required parameters', function () { + assert.throws(function () { let adapter = new SlackAdapter({}) }, 'Foo'); + }); + + it('should create a SlackAdapter object', function () { + assert((adapter instanceof SlackAdapter), 'Adapter is wrong type'); + }); + +}); diff --git a/packages/botbuilder-adapter-twilio-sms/.gitignore b/packages/botbuilder-adapter-twilio-sms/.gitignore index 0d2701892..82a11986a 100644 --- a/packages/botbuilder-adapter-twilio-sms/.gitignore +++ b/packages/botbuilder-adapter-twilio-sms/.gitignore @@ -1,3 +1,4 @@ node_modules/ .env -lib/ \ No newline at end of file +lib/ +.nyc_output/ diff --git a/packages/botbuilder-adapter-twilio-sms/package.json b/packages/botbuilder-adapter-twilio-sms/package.json index f6ac4c045..a68d9a99e 100644 --- a/packages/botbuilder-adapter-twilio-sms/package.json +++ b/packages/botbuilder-adapter-twilio-sms/package.json @@ -1,20 +1,43 @@ { "name": "botbuilder-adapter-twilio-sms", "version": "1.0.0", - "description": "", - "main": "lib/index.js", + "description": "Connect Botkit or BotBuilder to Twilio SMS", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1", - "eslint": "./node_modules/.bin/eslint --fix src/*", - "start": "node ./index.js" + "test": "tsc ; nyc mocha tests/*.tests.js", + "eslint": "./node_modules/.bin/eslint --fix src/*" + }, + "author": "Microsoft Corp.", + "license": "MIT", + "keywords": [ + "twilio", + "sms", + "twilio sms", + "texting", + "txting", + "botkit", + "botbuilder", + "botframework", + "bots", + "chatbots", + "azure" + ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botbuilder-adapter-twilio-sms#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" }, - "author": "", - "license": "ISC", "dependencies": { - "botbuilder": "^4.2.0", - "botbuilder-dialogs": "^4.2.0", - "botframework-config": "^4.2.0", + "botbuilder": "^4.3.0", "botkit": "^4.0.0", "debug": "^4.1.0", "twilio": "^3.29.2" diff --git a/packages/botbuilder-adapter-twilio-sms/tests/TwilioAdapter.tests.js b/packages/botbuilder-adapter-twilio-sms/tests/TwilioAdapter.tests.js new file mode 100644 index 000000000..edc09f7d6 --- /dev/null +++ b/packages/botbuilder-adapter-twilio-sms/tests/TwilioAdapter.tests.js @@ -0,0 +1,24 @@ +const assert = require('assert'); +const { TwilioAdapter } = require('../'); + +describe('TwilioAdapter', function() { + + let adapter; + + beforeEach(function () { + adapter = new TwilioAdapter({ + twilio_number: '14155551212', + account_sid: 'AC123123', + auth_token: '123123', + }); + }); + + it('should not construct without required parameters', function () { + assert.throws(function () { let adapter = new TwilioAdapter({}) }, 'Foo'); + }); + + it('should create a TwilioAdapter object', function () { + assert((adapter instanceof TwilioAdapter), 'Adapter is wrong type'); + }); + +}); diff --git a/packages/botbuilder-adapter-web/.gitignore b/packages/botbuilder-adapter-web/.gitignore index 0d2701892..82a11986a 100644 --- a/packages/botbuilder-adapter-web/.gitignore +++ b/packages/botbuilder-adapter-web/.gitignore @@ -1,3 +1,4 @@ node_modules/ .env -lib/ \ No newline at end of file +lib/ +.nyc_output/ diff --git a/packages/botbuilder-adapter-web/package.json b/packages/botbuilder-adapter-web/package.json index 4d93d38f7..b6302b48c 100644 --- a/packages/botbuilder-adapter-web/package.json +++ b/packages/botbuilder-adapter-web/package.json @@ -1,21 +1,43 @@ { "name": "botbuilder-adapter-web", "version": "1.0.0", - "description": "", - "main": "lib/web_adapter.js", + "description": "Connect Botkit or BotBuilder to the Web", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src", + "/client" + ], "scripts": { "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1", - "eslint": "./node_modules/.bin/eslint --fix src/*", - "start": "node ./index.js" + "test": "tsc ; nyc mocha tests/*.tests.js", + "eslint": "./node_modules/.bin/eslint --fix src/*" }, - "author": "benbrown@gmail.com", + "author": "Microsoft Corp.", "license": "MIT", + "keywords": [ + "webchat", + "websocket", + "botkit", + "botbuilder", + "botframework", + "bots", + "chatbots", + "azure" + ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botbuilder-adapter-web#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" + }, "dependencies": { "botkit": "^4.0.0", - "botbuilder": "^4.2.0", + "botbuilder": "^4.3.0", "debug": "^4.1.0", - "dotenv": "^6.0.0", "url": "^0.11.0", "ws": "^6.1.3" }, @@ -27,4 +49,4 @@ "eslint-plugin-promise": "^4.0.1", "eslint-plugin-standard": "^4.0.0" } -} +} \ No newline at end of file diff --git a/packages/botbuilder-adapter-web/tests/WebAdapter.tests.js b/packages/botbuilder-adapter-web/tests/WebAdapter.tests.js new file mode 100644 index 000000000..5c1c826ac --- /dev/null +++ b/packages/botbuilder-adapter-web/tests/WebAdapter.tests.js @@ -0,0 +1,21 @@ +const assert = require('assert'); +const { WebAdapter } = require('../'); + +describe('WebAdapter', function() { + + let adapter; + + beforeEach(function () { + adapter = new WebAdapter({ + }); + }); + + it('should contruct without any parameters (none are required)', function () { + assert.doesNotThrow(function () { let adapter = new WebAdapter({}); }, 'Foo'); + }); + + it('should create a WebAdapter object', function () { + assert((adapter instanceof WebAdapter), 'Adapter is wrong type'); + }); + +}); diff --git a/packages/botbuilder-adapter-webex/.gitignore b/packages/botbuilder-adapter-webex/.gitignore index 0d2701892..c4dddd6a8 100644 --- a/packages/botbuilder-adapter-webex/.gitignore +++ b/packages/botbuilder-adapter-webex/.gitignore @@ -1,3 +1,4 @@ +.nyc_output/ node_modules/ .env lib/ \ No newline at end of file diff --git a/packages/botbuilder-adapter-webex/package.json b/packages/botbuilder-adapter-webex/package.json index 41fb4db23..e3b212513 100644 --- a/packages/botbuilder-adapter-webex/package.json +++ b/packages/botbuilder-adapter-webex/package.json @@ -1,25 +1,42 @@ { "name": "botbuilder-adapter-webex", "version": "1.0.0", - "description": "", - "main": "lib/index.js", + "description": "Connect Botkit or BotBuilder to Webex Teams", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", - "test": "echo \"Error: no test specified\" && exit 1", - "eslint": "./node_modules/.bin/eslint --fix src/*", - "start": "node ./index.js" + "test": "tsc ; nyc mocha tests/*.tests.js", + "eslint": "./node_modules/.bin/eslint --fix src/*" }, - "author": "benbrown@gmail.com", + "author": "Microsoft Corp.", "license": "MIT", - "dependencies": { + "keywords": [ + "webex", + "botkit", + "botbuilder", + "botframework", + "bots", + "chatbots", + "azure" + ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botbuilder-adapter-webex#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" + }, + "dependencies": { "botkit": "^4.0.0", - "botbuilder": "^4.2.0", - "botbuilder-dialogs": "^4.2.0", - "botframework-config": "^4.2.0", + "botbuilder": "^4.3.0", "ciscospark": "^1.32.23", "debug": "^4.1.0", - "dotenv": "^6.0.0", - "restify": "^7.2.1", "url": "^0.11.0" }, "devDependencies": { diff --git a/packages/botbuilder-adapter-webex/src/webex_adapter.ts b/packages/botbuilder-adapter-webex/src/webex_adapter.ts index d620d2595..c33c03bbf 100644 --- a/packages/botbuilder-adapter-webex/src/webex_adapter.ts +++ b/packages/botbuilder-adapter-webex/src/webex_adapter.ts @@ -78,11 +78,14 @@ export class WebexAdapter extends BotAdapter { * public_address: process.env.PUBLIC_ADDRESS, // public url of this app https://myapp.com/ * secret: process.env.SECRET // webhook validation secret - you can define this yourself * }); + * * // set up restify... * const server = restify.createServer(); * server.use(restify.plugins.bodyParser()); * // register the webhook subscription to start receiving messages - Botkit does this automatically! * adapter.registerWebhookSubscription('/api/messages'); + * // Load up the bot's identity, otherwise it won't know how to filter messages from itself + * adapter.getIdentity(); * // create an endpoint for receiving messages * server.post('/api/messages', (req, res) => { * adapter.processActivity(req, res, async(context) => { @@ -115,12 +118,7 @@ export class WebexAdapter extends BotAdapter { throw new Error('Could not create the Webex Teams API client'); } - this._api.people.get('me').then((identity) => { - debug('Webex: My identity is', identity); - this._identity = identity; - }).catch(function(err) { - throw new Error(err); - }); + } if (!this._config.public_address) { @@ -151,29 +149,49 @@ export class WebexAdapter extends BotAdapter { }; } + /** + * Load the bot's identity via the Webex API. + * MUST be called by BotBuilder bots in order to filter messages sent by the bot. + */ + public async getIdentity(): Promise { + return new Promise((resolve, reject) => { + this._api.people.get('me').then((identity) => { + debug('Webex: My identity is', identity); + this._identity = identity; + resolve(identity); + }).catch((err) => { + reject(err); + }); + }); + } + /** * Returns the identity of the bot, including {id, emails, displayName, created} and anything else from [this spec](https://webex.github.io/spark-js-sdk/api/#personobject) */ public get identity(): any { - return this._identity; + return this._identity || {}; } /** * Botkit-only: Initialization function called automatically when used with Botkit. * * Calls registerWebhookSubscription() during bootup. + * * Calls getIdentit() to load the bot's identity. */ public init(botkit): void { // when the bot is ready, register the webhook subscription with the Webex API botkit.ready(() => { debug('Registering webhook subscription!'); botkit.adapter.registerWebhookSubscription(botkit.getConfig('webhook_uri')); + this.getIdentity().catch((err) => { + throw new Error(err); + }); }); } /** * Clear out and reset all the webhook subscriptions currently associated with this application. */ - public async resetWebhookSubscriptions(): Promise { + public async resetWebhookSubscriptions(): Promise { return new Promise(async (resolve, reject) => { this._api.webhooks.list().then(async (list) => { for (var i = 0; i < list.items.length; i++) { @@ -353,16 +371,16 @@ export class WebexAdapter extends BotAdapter { }; // this is the bot speaking - if (activity.from.id === this._identity.id) { + if (activity.from.id === this.identity.id) { activity.channelData.botkitEventType = 'self_message'; activity.type = ActivityTypes.Event; } if (decrypted_message.html) { // strip the mention & HTML from the message - let pattern = new RegExp('^(

)?.*?', 'im'); + let pattern = new RegExp('^(

)?.*?', 'im'); if (!decrypted_message.html.match(pattern)) { - var encoded_id = this._identity.id; + var encoded_id = this.identity.id; var decoded = Buffer.from(encoded_id, 'base64').toString('ascii'); // this should look like ciscospark://us/PEOPLE/ diff --git a/packages/botbuilder-adapter-webex/tests/WebexAdapter.tests.js b/packages/botbuilder-adapter-webex/tests/WebexAdapter.tests.js new file mode 100644 index 000000000..3a56538df --- /dev/null +++ b/packages/botbuilder-adapter-webex/tests/WebexAdapter.tests.js @@ -0,0 +1,24 @@ +const assert = require('assert'); +const { WebexAdapter } = require('../'); + +describe('WebexAdapter', function() { + + let adapter; + + beforeEach(function () { + adapter = new WebexAdapter({ + access_token: '123123123', + secret: '123', + public_address: 'https://fakebot.com' + }); + }); + + it('should not construct without required parameters', function () { + assert.throws(function () { let adapter = new WebexAdapter({}) }, 'Foo'); + }); + + it('should create a WebexAdapter object', function () { + assert((adapter instanceof WebexAdapter), 'Adapter is wrong type'); + }); + +}); diff --git a/packages/botkit-plugin-cms/package.json b/packages/botkit-plugin-cms/package.json index de3eddf78..54f1dfa82 100644 --- a/packages/botkit-plugin-cms/package.json +++ b/packages/botkit-plugin-cms/package.json @@ -1,8 +1,13 @@ { "name": "botkit-plugin-cms", "version": "1.0.0", - "description": "extend botkit with access to botkit-cms", - "main": "lib/index.js", + "description": "Extend Botkit with access to botkit-cms", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", "eslint": "./node_modules/.bin/eslint --fix src/*" @@ -14,6 +19,14 @@ "bots", "chatbots" ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botkit-plugin-cms#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" + }, "dependencies": { "botbuilder": "^4.3.0", "botbuilder-dialogs": "^4.3.0", @@ -23,11 +36,11 @@ "devDependencies": { "@types/express": "^4.16.0", "@types/node": "^10.12.18", - "eslint": "^5.5.0", - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-standard": "^4.0.0" + "eslint": "^5.5.0", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0" } } diff --git a/packages/botkit/package.json b/packages/botkit/package.json index b6a5f78f2..bef9a5325 100644 --- a/packages/botkit/package.json +++ b/packages/botkit/package.json @@ -1,8 +1,13 @@ { "name": "botkit", "version": "4.0.0", - "description": "building blocks for building bots", + "description": "Building Blocks for Building Bots", "main": "lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "/lib", + "/src" + ], "scripts": { "build": "tsc", "eslint": "./node_modules/.bin/eslint --fix src/*" @@ -10,22 +15,27 @@ "author": "benbrown@gmail.com", "license": "MIT", "keywords": [ - "slack", "botkit", "botbuilder", "botframework", "bots", "chatbots" ], + "homepage": "https://github.com/howdyai/botkit/blob/packages/botkit#readme", + "bugs": { + "url": "https://github.com/howdyai/botkit/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/howdyai/botkit.git" + }, "dependencies": { "body-parser": "^1.18.3", "botbuilder": "^4.3.0", "botbuilder-dialogs": "^4.3.0", - "botbuilder-dialogs-botkit-cms": "0.0.1", "debug": "^4.1.0", "express": "^4.16.4", - "express-basic-auth": "^1.1.6", - "handlebars": "^4.1.1", + "mustache": "^3.0.1", "hbs": "^4.0.1", "path": "^0.12.7", "ware": "^1.3.0" @@ -33,11 +43,11 @@ "devDependencies": { "@types/express": "^4.16.0", "@types/node": "^10.12.18", - "eslint": "^5.5.0", - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-standard": "^4.0.0" + "eslint": "^5.5.0", + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0" } } diff --git a/packages/generator-botkit/package.json b/packages/generator-botkit/package.json index 4a6cb29dd..7a0674d2d 100644 --- a/packages/generator-botkit/package.json +++ b/packages/generator-botkit/package.json @@ -1,8 +1,7 @@ { "name": "generator-botkit", "version": "4.0.0-prerelease-2", - "description": "automatically generate a botkit application template", - "main": "index.js", + "description": "Automatically generate a Botkit application template for any supported platform", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/todo.md b/todo.md index 1190a1e51..4333a33bb 100644 --- a/todo.md +++ b/todo.md @@ -1,12 +1,7 @@ # packages -* decide on release version numbers and package names - *botbuilder-adapter-web? - * review all package details (author, github, tags, license) -* customize user agent for botframework - * publishing # Teams @@ -25,8 +20,9 @@ # core - * separate botkit CMS stuff from core - * conversation could use some more docs probably + * conversation could use some more reference docs + + ~* separate botkit CMS stuff from core~ # websocket @@ -66,3 +62,6 @@ # Tests! +# DONE STUFF + +~* customize user agent for botframework~