diff --git a/packages/xo-server-transport-email/.babelrc b/packages/xo-server-transport-email/.babelrc deleted file mode 100644 index bc055f47f..000000000 --- a/packages/xo-server-transport-email/.babelrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "comments": false, - "compact": true, - "optional": [ - "es7.asyncFunctions", - "es7.decorators", - "es7.exportExtensions", - "es7.functionBind", - "runtime" - ] -} diff --git a/packages/xo-server-transport-email/.gitignore b/packages/xo-server-transport-email/.gitignore index 6959be1cf..55062b172 100644 --- a/packages/xo-server-transport-email/.gitignore +++ b/packages/xo-server-transport-email/.gitignore @@ -1,9 +1,6 @@ /.nyc_output/ -/bower_components/ /dist/ +/node_modules/ npm-debug.log npm-debug.log.* - -!node_modules/* -node_modules/*/ diff --git a/packages/xo-server-transport-email/.mocha.js b/packages/xo-server-transport-email/.mocha.js deleted file mode 100644 index e6d84e403..000000000 --- a/packages/xo-server-transport-email/.mocha.js +++ /dev/null @@ -1,5 +0,0 @@ -Error.stackTraceLimit = 100 - -try { require('trace') } catch (_) {} -try { require('clarify') } catch (_) {} -try { require('source-map-support/register') } catch (_) {} diff --git a/packages/xo-server-transport-email/.mocha.opts b/packages/xo-server-transport-email/.mocha.opts deleted file mode 100644 index 6cfd94898..000000000 --- a/packages/xo-server-transport-email/.mocha.opts +++ /dev/null @@ -1 +0,0 @@ ---require ./.mocha.js diff --git a/packages/xo-server-transport-email/.travis.yml b/packages/xo-server-transport-email/.travis.yml index 502095fce..a9b136ea6 100644 --- a/packages/xo-server-transport-email/.travis.yml +++ b/packages/xo-server-transport-email/.travis.yml @@ -3,7 +3,6 @@ node_js: - 'stable' - '4' - '0.12' - - '0.10' # Use containers. # http://docs.travis-ci.com/user/workers/container-based-infrastructure/ diff --git a/packages/xo-server-transport-email/README.md b/packages/xo-server-transport-email/README.md index a322a0750..22fb7a052 100644 --- a/packages/xo-server-transport-email/README.md +++ b/packages/xo-server-transport-email/README.md @@ -4,21 +4,16 @@ ## Install -Go inside your `xo-server` folder and install it: +Installation of the [npm package](https://npmjs.org/package/xo-server-transport-email): ``` -> npm install xo-server-transport-email +> npm install --global xo-server-auth-email ``` ## Usage -Edit your `xo-server` configuration and add the plugin name in the `plugins` section. - -```yaml -plugins: - - xo-server-transport-email: -``` +Like all other xo-server plugins, it can be configured directly via +the web iterface, see [the plugin documentation](https://xen-orchestra.com/docs/plugins.html). ## Development diff --git a/packages/xo-server-transport-email/package.json b/packages/xo-server-transport-email/package.json index 7a5390e02..1aab41d1b 100644 --- a/packages/xo-server-transport-email/package.json +++ b/packages/xo-server-transport-email/package.json @@ -24,38 +24,46 @@ "files": [ "dist/" ], + "engines": { + "node": ">=0.12" + }, "dependencies": { - "babel-runtime": "^5.8.34", - "nodemailer": "^1.10.0", + "nodemailer": "^2.4.2", "nodemailer-markdown": "^1.0.0", - "pify": "^2.3.0" + "promise-toolbox": "^0.4.0" }, "devDependencies": { - "babel": "^5.8.34", - "babel-eslint": "^4.1.5", - "clarify": "^1.0.5", + "babel-cli": "^6.10.1", + "babel-eslint": "^6.1.0", + "babel-preset-es2015": "^6.9.0", + "babel-preset-stage-0": "^6.5.0", "dependency-check": "^2.5.1", - "mocha": "^2.3.4", - "must": "^0.13.1", - "nyc": "^3.2.2", - "source-map-support": "^0.3.3", - "standard": "^5.4.1", - "trace": "^2.0.1" + "ghooks": "^1.2.4", + "standard": "^7.1.2" }, "scripts": { - "build": "babel --source-maps --out-dir=dist/ src/", - "dev": "babel --watch --source-maps --out-dir=dist/ src/", - "dev-test": "mocha --opts .mocha.opts --watch --reporter=min \"dist/**/*.spec.js\"", - "lint": "standard", + "build": "NODE_ENV=production babel --source-maps --out-dir=dist/ src/", "depcheck": "dependency-check ./package.json", + "dev": "babel --watch --source-maps --out-dir=dist/ src/", + "lint": "standard", "posttest": "npm run lint && npm run depcheck", - "prepublish": "npm run build", - "test": "nyc mocha --opts .mocha.opts \"dist/**/*.spec.js\"" + "prepublish": "npm run build" + }, + "babel": { + "presets": [ + "stage-0", + "es2015" + ] }, "standard": { "ignore": [ - "dist/**" + "dist" ], "parser": "babel-eslint" + }, + "config": { + "ghooks": { + "commit-msg": "npm test" + } } } diff --git a/packages/xo-server-transport-email/src/index.js b/packages/xo-server-transport-email/src/index.js index 0a1831c49..94a546cb8 100644 --- a/packages/xo-server-transport-email/src/index.js +++ b/packages/xo-server-transport-email/src/index.js @@ -1,6 +1,6 @@ -import pify from 'pify' import { createTransport } from 'nodemailer' import { markdown as nodemailerMarkdown } from 'nodemailer-markdown' +import { promisify } from 'promise-toolbox' // =================================================================== @@ -130,7 +130,7 @@ class TransportEmailPlugin { transport.use('compile', markdownCompiler) this._conf = conf - this._send = pify(::transport.sendMail, Promise) + this._send = transport.sendMail::promisify(transport) } load () { @@ -141,15 +141,15 @@ class TransportEmailPlugin { this._unset() } - async _sendEmail ({ - from, + _sendEmail ({ + from = this._conf.from, to, cc, bcc, subject, markdown }) { // TODO: handle errors - await this._send({ - from: from || this._conf.from, + return this._send({ + from, to, cc, bcc, subject, markdown diff --git a/packages/xo-server-transport-email/src/index.spec.js b/packages/xo-server-transport-email/src/index.spec.js deleted file mode 100644 index e69de29bb..000000000