Skip to content

Commit 4b0e1a9

Browse files
authored
Merge pull request #3 from BoolJS/develop
Upgrade to node v8.x
2 parents 175a4fd + 4a608f1 commit 4b0e1a9

17 files changed

Lines changed: 2370 additions & 158 deletions

.editorconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[*]
2+
indent_size = 4
3+
4+
[package.json]
5+
indent_size = 2

.eslintrc.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
'use strict';
2+
3+
module.exports = {
4+
extends: [ 'standard' ],
5+
env: {
6+
es6: true,
7+
node: true
8+
},
9+
rules: {
10+
indent: [ 'error', 4 ],
11+
semi: [ 'error', 'always' ],
12+
'no-multi-spaces': 0
13+
}
14+
};

example

Submodule example updated 1 file

index.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
'use strict';
22

3-
var API = require('booljs.api')
4-
, lib = require('./lib/server')
5-
, resolver = require('./lib/utils/resolve');
3+
const { ServerLoader } = require('booljs.api');
4+
const lib = require('./lib/server');
5+
const resolver = require('./lib/utils/resolve');
66

7-
module.exports = class Express extends API.ServerLoader{
8-
constructor(){
7+
module.exports = class Express extends ServerLoader {
8+
constructor () {
99
super('booljs.express', [ resolver('lib/middleware/cors') ]);
1010
}
1111

12-
init(_instance){
13-
return lib.init(_instance);
12+
init (instance) {
13+
return lib.init(instance);
1414
}
15-
middleware(_instance, router, middleware){
16-
return lib.middleware(_instance, router, middleware);
15+
middleware (instance, router, middleware) {
16+
return lib.middleware(instance, router, middleware);
1717
}
18-
preroute(_instance, expressApplication){
19-
return lib.preroute(_instance, expressApplication);
18+
preroute (instance, expressApplication) {
19+
return lib.preroute(instance, expressApplication);
2020
}
21-
route(_instance, router, middleware, route){
22-
return lib.route(_instance, router, middleware, route);
21+
route (instance, router, middleware, route) {
22+
return lib.route(instance, router, middleware, route);
2323
}
24-
postroute(_instance, expressApplication, router){
25-
return lib.postroute(_instance, expressApplication, router);
24+
postroute (instance, expressApplication, router) {
25+
return lib.postroute(instance, expressApplication, router);
2626
}
27-
boot(expressApplication){
27+
boot (expressApplication) {
2828
return lib.boot(expressApplication);
2929
}
3030
};

lib/middleware/cors.js

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,43 @@
1-
"use strict";
1+
'use strict';
22

3-
var API = require('booljs.api');
3+
const { RouteMiddleware } = require('booljs.api');
4+
const _ = require('underscore');
45

56
/** @ignore */
6-
function headers(res, extraHeaders){
7-
res.header('Access-Control-Allow-Origin', '*');
8-
res.header(
7+
function headers (response, extraHeaders) {
8+
response.header('Access-Control-Allow-Origin', '*');
9+
response.header(
910
'Access-Control-Allow-Methods',
1011
['GET', 'POST', 'PUT', 'DELETE'].join(', ')
1112
);
12-
res.header(
13+
response.header(
1314
'Access-Control-Allow-Headers',
1415
(extraHeaders || []).concat([
1516
'Authorization', 'Accept', 'Content-Type', 'X-Requested-With',
1617
'Cache-Control'
1718
]).join(', ')
1819
);
19-
res.header('Access-Control-Expose-Headers',(extraHeaders || []).join(', '));
20+
response.header(
21+
'Access-Control-Expose-Headers',
22+
(extraHeaders || []).join(', ')
23+
);
2024
}
2125

22-
23-
module.exports = class ExpressCORS extends API.RouteMiddleware{
24-
constructor(){
25-
super('booljs-cors', 'mandatory', {
26-
cors: true
27-
});
26+
module.exports = class ExpressCORS extends RouteMiddleware {
27+
constructor () {
28+
super('booljs-cors', 'mandatory', { cors: true });
2829
}
2930

30-
action(_instance, router, route) {
31+
action (instance, router, route) {
3132
var extraHeaders = route.corsExtraHeaders ? (
3233
_.isArray(route.corsExtraHeaders) && route.corsExtraHeaders
3334
) || [ route.corsExtraHeaders ] : [];
3435
router.options(route.url, function (req, res) {
3536
headers(res, extraHeaders);
3637
res.status(200).end();
3738
});
38-
return function (req, res, next) {
39-
headers(res, extraHeaders);
39+
return function (request, response, next) {
40+
headers(response, extraHeaders);
4041
next();
4142
};
4243
}

lib/server/boot.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
'use strict';
22

3-
module.exports = function (expressApplication) {
4-
var http = require('http')
5-
, server = http.createServer(expressApplication);
3+
const http = require('http');
64

7-
var listen = q.nbind(server.listen, server);
5+
module.exports = async function (expressApplication) {
6+
let server = http.createServer(expressApplication);
87

9-
return listen(
10-
expressApplication.get('port'), expressApplication.get('host')
11-
).then(function () {
12-
if(process.env.NODE_ENV !== 'test'){
13-
console.log(
14-
'Express server listening on http://%s:%d',
15-
expressApplication.get('host'),
16-
expressApplication.get('port')
17-
);
8+
let host = expressApplication.get('host');
9+
let port = expressApplication.get('port');
10+
11+
await new Promise((resolve, reject) => server.listen(port, host, error => {
12+
if (error) {
13+
return reject(error);
1814
}
19-
return q.resolve(server);
20-
});
2115

16+
return resolve();
17+
}));
18+
19+
if (process.env.NODE_ENV !== 'test') {
20+
console.log(`Express server listening on http://${host}:${port}`);
21+
}
22+
23+
return server;
2224
};

lib/server/init.js

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,55 @@
11
'use strict';
22

3-
module.exports = function (_instance) {
4-
var Express = require('express')
5-
, bodyParser = require('body-parser')
6-
, expressApplication = new Express();
3+
const _ = require('underscore');
4+
const Express = require('express');
5+
const BodyParser = require('body-parser');
6+
7+
module.exports = async function (instance) {
8+
let expressApplication = new Express();
79

810
// X-Powered-By: bool.js
911
expressApplication.use(function (req, res, next) {
1012
res.header('X-Powered-By', 'booljs');
1113
next();
1214
});
1315

14-
var config = _instance.getComponents().configuration.get('server');
16+
var configuration = instance.getComponents().configuration.get('server');
1517

1618
// Sets listening hostname
17-
expressApplication.set(
18-
'host',
19-
process.env.IP || process.env.HOSTNAME || process.env.HOST ||
20-
( config && (
21-
config.ip || config.hostname || config.host
22-
)) || '0.0.0.0'
23-
);
19+
expressApplication.set('host', (
20+
process.env.IP || process.env.HOSTNAME || process.env.HOST ||
21+
(configuration && (
22+
configuration.ip || configuration.hostname || configuration.host
23+
)) ||
24+
'0.0.0.0'
25+
));
2426

2527
// Sets listening port
26-
expressApplication.set(
27-
'port',
28-
process.env.PORT ||
29-
( config &&
30-
config.port
31-
) || 3001
32-
);
28+
expressApplication.set('port', (
29+
process.env.PORT || (configuration && configuration.port) || 3001
30+
));
3331

3432
// Enable body-parser middlewares
35-
var bodyParserOptions = (config && config.body) || undefined;
33+
var bodyParserOptions = (configuration && configuration.body) || undefined;
3634

37-
if(bodyParserOptions !== undefined) {
38-
expressApplication.use(bodyParser.urlencoded(_.extend({
39-
extended: true
40-
}, bodyParserOptions)));
41-
expressApplication.use(bodyParser.json(bodyParserOptions));
35+
if (bodyParserOptions !== undefined) {
36+
expressApplication.use(BodyParser.urlencoded(
37+
_.extend({ extended: true }, bodyParserOptions))
38+
);
39+
expressApplication.use(BodyParser.json(bodyParserOptions));
4240
} else {
43-
expressApplication.use(bodyParser.urlencoded({ extended: true }));
44-
expressApplication.use(bodyParser.json());
41+
expressApplication.use(BodyParser.urlencoded({ extended: true }));
42+
expressApplication.use(BodyParser.json());
4543
}
4644

4745
// Enables Json View
48-
if(!_instance.getComponents().views){
49-
_instance.insertComponent('views', {});
46+
if (!instance.getComponents().views) {
47+
instance.insertComponent('views', {});
5048
}
51-
_instance.insertComponent(
52-
'Json', require('../views/json'), _instance.getComponents().views
49+
50+
instance.insertComponent(
51+
'Json', require('../views/json'), instance.getComponents().views
5352
);
5453

55-
return q.resolve(expressApplication);
54+
return expressApplication;
5655
};

lib/server/middleware.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
'use strict';
22

3-
module.exports = function (_instance, router, middleware) {
4-
3+
module.exports = async function (_instance, router, middleware) {
54
router.use(middleware);
6-
return q.resolve(router);
7-
5+
return router;
86
};

lib/server/router/handlers.js

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
11
'use strict';
22

3-
module.exports = function (app, router) {
4-
5-
var json = new app.views.Json()
6-
, Error = app.Error;
3+
module.exports = function ({ Error, views: { Json } }, router) {
4+
let json = new Json();
75

86
// 404 Handler. Acts when a resource call isn't found
9-
router.use(function(req, res) {
10-
json.error(new Error(
11-
404, 'method_not_found',
12-
'Method wasn\'t found'
13-
), res);
14-
});
7+
router.use((request, response) => json.error(
8+
new Error(404, 'method_not_found', 'Method wasn\'t found'), response
9+
));
1510

1611
// Error Handler. Processes an error output view.
17-
router.use(function(err, req, res, next){
18-
json.error(err, res);
19-
});
20-
12+
router.use((error, req, response, next) => json.error(error, response));
2113
};

lib/server/router/inroute.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
'use strict';
22

3-
module.exports = function (_instance, router, middleware, route) {
4-
3+
module.exports = async function (instance, router, middleware, route) {
54
router[route.method](route.url, middleware, route.action);
6-
return q.resolve(router);
7-
5+
return router;
86
};

0 commit comments

Comments
 (0)