Merge remote-tracking branch 'origin/greenkeeper/update-to-node-10' into release

also remove Kafka
This commit is contained in:
Sabe Jones
2018-11-29 14:51:40 +00:00
7 changed files with 16 additions and 86 deletions

2
.nvmrc
View File

@@ -1 +1 @@
8 10

View File

@@ -1,6 +1,6 @@
language: node_js language: node_js
node_js: node_js:
- '8' - '10'
services: services:
- mongodb - mongodb
cache: cache:

View File

@@ -1,4 +1,4 @@
FROM node:8 FROM node:10
ENV ADMIN_EMAIL admin@habitica.com ENV ADMIN_EMAIL admin@habitica.com
ENV AMAZON_PAYMENTS_CLIENT_ID amzn1.application-oa2-client.68ed9e6904ef438fbc1bf86bf494056e ENV AMAZON_PAYMENTS_CLIENT_ID amzn1.application-oa2-client.68ed9e6904ef438fbc1bf86bf494056e

View File

@@ -1,4 +1,4 @@
FROM node:8 FROM node:10
# Install global packages # Install global packages
RUN npm install -g gulp-cli mocha RUN npm install -g gulp-cli mocha

16
package-lock.json generated
View File

@@ -4969,12 +4969,6 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
"integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg=="
}, },
"bindings": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz",
"integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==",
"optional": true
},
"bl": { "bl": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
@@ -17412,16 +17406,6 @@
"request": ">=2.76.0 <3.0.0" "request": ">=2.76.0 <3.0.0"
} }
}, },
"node-rdkafka": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/node-rdkafka/-/node-rdkafka-2.4.2.tgz",
"integrity": "sha512-sOfVLlLUChJZqmJV5lTdL/psAg4TvkDnSprly6UQenCK8W69ee7Q20v8nzFESsdZWTRgpNHu3WEmz9I+Ef6Bog==",
"optional": true,
"requires": {
"bindings": "1.x",
"nan": "2.x"
}
},
"node-sass": { "node-sass": {
"version": "4.10.0", "version": "4.10.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz",

View File

@@ -33,7 +33,7 @@
"compression": "^1.7.2", "compression": "^1.7.2",
"cookie-session": "^1.2.0", "cookie-session": "^1.2.0",
"coupon-code": "^0.4.5", "coupon-code": "^0.4.5",
"cross-env": "^5.1.5", "cross-env": "^5.2.0",
"css-loader": "^0.28.11", "css-loader": "^0.28.11",
"csv-stringify": "^4.3.1", "csv-stringify": "^4.3.1",
"cwait": "^1.1.1", "cwait": "^1.1.1",
@@ -80,7 +80,7 @@
"ps-tree": "^1.0.0", "ps-tree": "^1.0.0",
"pug": "^2.0.3", "pug": "^2.0.3",
"rimraf": "^2.4.3", "rimraf": "^2.4.3",
"sass-loader": "^7.0.0", "sass-loader": "^7.0.3",
"shelljs": "^0.8.2", "shelljs": "^0.8.2",
"short-uuid": "^3.0.0", "short-uuid": "^3.0.0",
"smartbanner.js": "^1.9.1", "smartbanner.js": "^1.9.1",
@@ -90,7 +90,7 @@
"svg-url-loader": "^2.3.2", "svg-url-loader": "^2.3.2",
"svgo": "^1.0.5", "svgo": "^1.0.5",
"svgo-loader": "^2.1.0", "svgo-loader": "^2.1.0",
"universal-analytics": "^0.4.16", "universal-analytics": "^0.4.17",
"update": "^0.7.4", "update": "^0.7.4",
"upgrade": "^1.1.0", "upgrade": "^1.1.0",
"url-loader": "^1.0.0", "url-loader": "^1.0.0",
@@ -107,15 +107,15 @@
"vuedraggable": "^2.15.0", "vuedraggable": "^2.15.0",
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec", "vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
"webpack": "^3.12.0", "webpack": "^3.12.0",
"webpack-merge": "^4.0.0", "webpack-merge": "^4.1.3",
"winston": "^2.4.2", "winston": "^2.4.3",
"winston-loggly-bulk": "^2.0.2", "winston-loggly-bulk": "^2.0.2",
"xml2js": "^0.4.4" "xml2js": "^0.4.4"
}, },
"private": true, "private": true,
"engines": { "engines": {
"node": "^8.9.4", "node": "^10",
"npm": "^5.6.0" "npm": "^6"
}, },
"scripts": { "scripts": {
"lint": "eslint --ext .js,.vue .", "lint": "eslint --ext .js,.vue .",
@@ -144,13 +144,13 @@
"apidoc": "gulp apidoc" "apidoc": "gulp apidoc"
}, },
"devDependencies": { "devDependencies": {
"@vue/test-utils": "^1.0.0-beta.16", "@vue/test-utils": "^1.0.0-beta.19",
"babel-plugin-istanbul": "^4.1.6", "babel-plugin-istanbul": "^4.1.6",
"babel-plugin-syntax-object-rest-spread": "^6.13.0", "babel-plugin-syntax-object-rest-spread": "^6.13.0",
"chai": "^4.1.2", "chai": "^4.1.2",
"chai-as-promised": "^7.1.1", "chai-as-promised": "^7.1.1",
"chalk": "^2.4.1", "chalk": "^2.4.1",
"chromedriver": "^2.38.3", "chromedriver": "^2.40.0",
"connect-history-api-fallback": "^1.1.0", "connect-history-api-fallback": "^1.1.0",
"coveralls": "^3.0.1", "coveralls": "^3.0.1",
"cross-spawn": "^6.0.5", "cross-spawn": "^6.0.5",
@@ -180,7 +180,7 @@
"mocha": "^5.1.1", "mocha": "^5.1.1",
"monk": "^6.0.6", "monk": "^6.0.6",
"nightwatch": "^0.9.21", "nightwatch": "^0.9.21",
"puppeteer": "^1.4.0", "puppeteer": "^1.5.0",
"require-again": "^2.0.0", "require-again": "^2.0.0",
"selenium-server": "^3.12.0", "selenium-server": "^3.12.0",
"sinon": "^6.3.5", "sinon": "^6.3.5",
@@ -190,7 +190,5 @@
"webpack-dev-middleware": "^2.0.5", "webpack-dev-middleware": "^2.0.5",
"webpack-hot-middleware": "^2.22.2" "webpack-hot-middleware": "^2.22.2"
}, },
"optionalDependencies": { "optionalDependencies": {}
"node-rdkafka": "^2.3.0"
}
} }

View File

@@ -1,59 +1,7 @@
import nconf from 'nconf';
import logger from '../logger';
const GROUP_ID = nconf.get('KAFKA:GROUP_ID');
const CLOUDKARAFKA_BROKERS = nconf.get('KAFKA:CLOUDKARAFKA_BROKERS');
const CLOUDKARAFKA_USERNAME = nconf.get('KAFKA:CLOUDKARAFKA_USERNAME');
const CLOUDKARAFKA_PASSWORD = nconf.get('KAFKA:CLOUDKARAFKA_PASSWORD');
const CLOUDKARAFKA_TOPIC_PREFIX = nconf.get('KAFKA:CLOUDKARAFKA_TOPIC_PREFIX');
const prefix = CLOUDKARAFKA_TOPIC_PREFIX;
const topic = `${prefix}-default`;
let Kafka;
let producer;
try {
Kafka = require('node-rdkafka'); // eslint-disable-line global-require
} catch (er) {
Kafka = null;
}
function createProducer () {
const kafkaConf = {
'group.id': GROUP_ID,
'metadata.broker.list': CLOUDKARAFKA_BROKERS ? CLOUDKARAFKA_BROKERS.split(',') : '',
'socket.keepalive.enable': true,
'security.protocol': 'SASL_SSL',
'sasl.mechanisms': 'SCRAM-SHA-256',
'sasl.username': CLOUDKARAFKA_USERNAME,
'sasl.password': CLOUDKARAFKA_PASSWORD,
debug: 'generic,broker,security',
};
producer = new Kafka.Producer(kafkaConf);
producer.connect();
}
if (Kafka && GROUP_ID && CLOUDKARAFKA_BROKERS && CLOUDKARAFKA_USERNAME && CLOUDKARAFKA_PASSWORD && CLOUDKARAFKA_TOPIC_PREFIX) {
createProducer();
}
process.on('exit', () => {
if (producer && producer.isConnected()) producer.disconnect();
});
const api = {}; const api = {};
api.sendMessage = function sendMessage (message, key) { api.sendMessage = function sendMessage (message, key) {
if (!producer || !producer.isConnected()) return; return;
try {
producer.produce(topic, -1, new Buffer(JSON.stringify(message)), key);
} catch (err) {
logger.error(err);
}
}; };
module.exports = api; module.exports = api;