Skip to content

Commit 539924d

Browse files
WardormeurDanielBrierton
authored andcommitted
Support for node 8 (CoderDojo#175)
* Support for node 8 * Add update for lab to avoid global as a leak * Fix circle config for node 8, fix package.json to use . instead of source * Arrow functions
1 parent 43ffaa4 commit 539924d

File tree

6 files changed

+21
-11
lines changed

6 files changed

+21
-11
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ jobs:
44
build:
55
working_directory: ~/cp-events-service
66
docker:
7-
- image: nodesource/node:0.10.45
7+
- image: node:8
88
environment:
99
NODE_ENV: testing
1010
steps:

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM mhart/alpine-node:0.10.48
1+
FROM node:8-alpine
22
MAINTAINER butlerx <[email protected]>
33
ENV NODE_ENV=production
44
ARG DEP_VERSION=latest

config/config.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
var path = require('path');
2+
var camelCase = require('camelcase'); // Lodash functions for that are stripping $ which we use for special keys
3+
var decamelize = require('decamelize');
24

35
module.exports = function (options) {
46
function pgConfig () {
@@ -7,7 +9,10 @@ module.exports = function (options) {
79
host: process.env.POSTGRES_HOST || '127.0.0.1',
810
port: process.env.POSTGRES_PORT || 5432,
911
username: process.env.POSTGRES_USERNAME,
10-
password: process.env.POSTGRES_PASSWORD
12+
password: process.env.POSTGRES_PASSWORD,
13+
nolimit: true,
14+
fromColumnName: (attr) => camelCase(attr),
15+
toColumnName: (attr) => decamelize(attr)
1116
};
1217
}
1318
function kueConfig () {

dev.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM mhart/alpine-node:0.10.48
1+
FROM node:8-alpine
22
MAINTAINER butlerx <[email protected]>
33
ENV NODE_ENV=development
44
RUN apk add --update git build-base python postgresql-client && \

package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"scripts": {
77
"lint": "semistandard *.js config/config.js",
88
"testdata": "node test/lib/service.js",
9-
"test": "sh -c 'source ./config/development.env; npm run lint && lab lib/controllers -P spec --ignore __core-js_shared__ '",
10-
"coverage": "sh -c 'source ./config/development.env; lab --threshold 68 -r html -o ./coverage/coverage.html -r lcov -o ./coverage/lcov.info -r json -o ./coverage/coverage.json -r console -o stdout'",
9+
"test": "sh -c '. ./config/development.env; npm run lint && lab lib/controllers -P spec --ignore __core-js_shared__ '",
10+
"coverage": "sh -c '. ./config/development.env; lab --threshold 68 -r html -o ./coverage/coverage.html -r lcov -o ./coverage/lcov.info -r json -o ./coverage/coverage.json -r console -o stdout'",
1111
"start": "node service.js",
1212
"dev": "nodemon service.js"
1313
},
@@ -25,7 +25,7 @@
2525
},
2626
"devDependencies": {
2727
"chai": "^4.0",
28-
"lab": "5.15.2",
28+
"lab": "14.x",
2929
"nodemon": "1.11.0",
3030
"pre-commit": "1.1.2",
3131
"semistandard": "7.0.3",
@@ -45,12 +45,15 @@
4545
"lodash": "3.7.0",
4646
"moment": "2.10.3",
4747
"newrelic": "1.21.1",
48-
"pg": "4.4.0",
49-
"postgrator": "2.5.0",
48+
"camelcase": "^4.1.0",
49+
"decamelize": "^1.2.0",
50+
"pg": "5.1.0",
51+
"postgrator": "2.8.1",
5052
"sanitize-html": "1.14.1",
5153
"seneca": "1.4.0",
5254
"seneca-kue": "git://github.com/wardormeur/seneca-kue.git",
53-
"seneca-postgresql-store": "1.1.3",
55+
"seneca-postgresql-store": "2.3",
56+
"seneca-store-query": "0.0.5",
5457
"seneca-queue": "^0.3.0",
5558
"shortid": "2.2.2",
5659
"utils": "^0.3.1",

service.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var seneca = require('seneca')(config);
99
var util = require('util');
1010
var _ = require('lodash');
1111
var store = require('seneca-postgresql-store');
12+
var storeQuery = require('seneca-store-query');
1213
var dgram = require('dgram');
1314
var service = 'cp-events-service';
1415
var sanitizeHtml = require('sanitize-html');
@@ -41,6 +42,7 @@ seneca.options.sanitizeTextArea = {
4142
};
4243
seneca.decorate('customValidatorLogFormatter', require('./lib/custom-validator-log-formatter'));
4344
seneca.use(store, config['postgresql-store']);
45+
seneca.use(storeQuery);
4446
seneca.use(require('./lib/cd-events'), { logger: log.logger });
4547
seneca.use(require('cp-permissions-plugin'), {
4648
config: __dirname + '/config/permissions'
@@ -90,7 +92,7 @@ require('./migrate-psql-db.js')(function (err) {
9092
client.close();
9193
});
9294

93-
var escape = require('seneca-postgresql-store/lib/relational-util').escapeStr;
95+
var escape = require('seneca-store-query/lib/relational-util').escapeStr;
9496
['load', 'list'].forEach(function (cmd) {
9597
seneca.wrap('role: entity, cmd: ' + cmd, function filterFields (args, cb) {
9698
try {

0 commit comments

Comments
 (0)