Skip to content

Commit d5611ee

Browse files
committed
Use *almost* Standard ESLint rules
1 parent 389c46d commit d5611ee

File tree

13 files changed

+152
-132
lines changed

13 files changed

+152
-132
lines changed

.eslintrc

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,46 @@
11
{
2-
env: {
3-
node: true
2+
extends: 'standard',
3+
4+
// Mocha
5+
globals: {
6+
describe: true,
7+
before: true,
8+
it: true,
9+
after: true
410
},
5-
parserOptions: {
6-
ecmaVersion: 6
7-
},
8-
rules: {
9-
// Enforces spacing around commas
10-
comma-spacing: [2, {'before': false, 'after': true}],
1111

12-
// Require Following Curly Brace Conventions
13-
curly: [2, 'all'],
12+
// Almost Standard
13+
rules: {
14+
// Closing curly brace does not appear on the same line as the subsequent block
15+
// - It's much more readable to have `else if (condition)` on new line.
16+
'brace-style': [2, 'stroustrup'],
1417

15-
// Require === and !==
16-
eqeqeq: [2, 'smart'],
18+
// Enforce spacing around the * in generator functions
19+
// - I like it that way.
20+
'generator-star-spacing': [2, {'before': false, 'after': true}],
1721

18-
// Validate Indentation
19-
indent: [2, 2],
22+
// More than 1 blank line not allowed
23+
// - Why not?
24+
'no-multiple-empty-lines': 'off',
2025

21-
// Enforce Property Spacing
22-
key-spacing: [2, {'beforeColon': false, 'afterColon': true}],
26+
// Disallow Redeclaring Variables
27+
// - A bunch of vars inside `else if` blocks.
28+
'no-redeclare': 0,
2329

24-
// Enforce Quote Style
25-
quotes: [2, 'single'],
30+
// Block must not be padded by blank lines
31+
// - Why not?
32+
'padded-blocks': 'off',
2633

27-
// Enforce or Disallow Semicolons
28-
semi: [2, 'never'],
2934

30-
// Require Or Disallow Space Before Blocks
31-
space-before-blocks: [2, 'always'],
35+
// Unit Tests
3236

33-
// Require or disallow a space before function parenthesis
34-
space-before-function-paren: [2, 'always'],
37+
// Require Camelcase
38+
'camelcase': 0,
3539

36-
// Require Spaces Around Infix Operators
37-
space-infix-ops: [2, {'int32Hint': true}],
40+
// Enforce Callback Error Handling
41+
'handle-callback-err': 0,
3842

39-
// Strict Mode Directives
40-
strict: [2, 'global']
43+
// Require or Disallow One Variable Declaration per Scope
44+
'one-var': 0
4145
}
4246
}

lib/config.js

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,19 @@ exports.initProvider = function (provider, options, server, name) {
1616

1717

1818
// cleanup empty values in custom_params
19-
if (options.custom_params) {
20-
var params = options.custom_params
21-
for (var key in params) {
22-
if (!params[key]) {
23-
delete params[key]
19+
;(function () {
20+
if (options.custom_params) {
21+
var params = options.custom_params
22+
for (var key in params) {
23+
if (!params[key]) {
24+
delete params[key]
25+
}
26+
}
27+
if (!Object.keys(params).length) {
28+
delete options.custom_params
2429
}
2530
}
26-
if (!Object.keys(params).length) {
27-
delete options.custom_params
28-
}
29-
}
31+
})()
3032

3133
// set reserved keys
3234
this.reserved.forEach(function (key) {
@@ -48,21 +50,23 @@ exports.initProvider = function (provider, options, server, name) {
4850

4951

5052
// oauth credentials
51-
var key = null, secret = null
52-
if (provider.oauth === 1) {
53-
key = provider.consumer_key || provider.key
54-
secret = provider.consumer_secret || provider.secret
55-
}
56-
else if (provider.oauth === 2) {
57-
key = provider.client_id || provider.key
58-
secret = provider.client_secret || provider.secret
59-
}
60-
if (key) {
61-
provider.key = key
62-
}
63-
if (secret) {
64-
provider.secret = secret
65-
}
53+
;(function () {
54+
var key, secret
55+
if (provider.oauth === 1) {
56+
key = provider.consumer_key || provider.key
57+
secret = provider.consumer_secret || provider.secret
58+
}
59+
else if (provider.oauth === 2) {
60+
key = provider.client_id || provider.key
61+
secret = provider.client_secret || provider.secret
62+
}
63+
if (key) {
64+
provider.key = key
65+
}
66+
if (secret) {
67+
provider.secret = secret
68+
}
69+
})()
6670

6771

6872
// oauth scope
@@ -77,38 +81,42 @@ exports.initProvider = function (provider, options, server, name) {
7781

7882

7983
// custom_parameters
80-
if (provider.custom_parameters) {
81-
var params = provider.custom_params || {}
82-
for (var key in options) {
83-
if (this.reserved.indexOf(key) === -1 &&
84-
provider.custom_parameters.indexOf(key) !== -1) {
85-
86-
params[key] = options[key]
84+
;(function () {
85+
if (provider.custom_parameters) {
86+
var params = provider.custom_params || {}
87+
for (var key in options) {
88+
if (exports.reserved.indexOf(key) === -1 &&
89+
provider.custom_parameters.indexOf(key) !== -1) {
90+
91+
params[key] = options[key]
92+
}
93+
}
94+
if (Object.keys(params).length) {
95+
provider.custom_params = params
8796
}
8897
}
89-
if (Object.keys(params).length) {
90-
provider.custom_params = params
91-
}
92-
}
98+
})()
9399

94100

95101
// static overrides
96-
var overrides = {}
97-
for (var key in options) {
98-
if (provider.custom_parameters &&
99-
provider.custom_parameters.indexOf(key) !== -1) {
100-
continue
101-
}
102+
;(function () {
103+
var overrides = {}
104+
for (var key in options) {
105+
if (provider.custom_parameters &&
106+
provider.custom_parameters.indexOf(key) !== -1) {
107+
continue
108+
}
102109

103-
if (this.reserved.indexOf(key) === -1 &&
104-
typeof options[key] === 'object') {
110+
if (exports.reserved.indexOf(key) === -1 &&
111+
typeof options[key] === 'object') {
105112

106-
overrides[key] = this.initProvider(dcopy(provider), options[key], {})
113+
overrides[key] = exports.initProvider(dcopy(provider), options[key], {})
114+
}
107115
}
108-
}
109-
if (Object.keys(overrides).length) {
110-
provider.overrides = overrides
111-
}
116+
if (Object.keys(overrides).length) {
117+
provider.overrides = overrides
118+
}
119+
})()
112120

113121

114122
return provider

lib/consumer/express.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ function Grant (_config) {
8383
else {
8484
grant.step1 = data
8585
var url = flow.step2(provider, data)
86-
var err = !/^http|\//.test(url) ? url : null
87-
callback(err, url)
86+
var error = !/^http|\//.test(url) ? url : null
87+
callback(error, url)
8888
}
8989
})
9090
}

lib/consumer/hapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ Grant.prototype.register = function (server, options, next) {
7373
else {
7474
grant.step1 = data
7575
var url = flow.step2(provider, data)
76-
var err = !/^http|\//.test(url) ? url : null
77-
callback(err, url)
76+
var error = !/^http|\//.test(url) ? url : null
77+
callback(error, url)
7878
}
7979
})
8080
}

lib/consumer/koa.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ function Grant (_config) {
2424
app.config = config.init(_config)
2525
app._config = config
2626

27-
app.use(route.all('/connect/:provider/:override?', function *(provider, override, next) {
27+
app.use(route.all('/connect/:provider/:override?', function* (provider, override, next) {
2828
if (!this.session) {
2929
throw new Error('Grant: mount session middleware first')
3030
}
@@ -35,7 +35,7 @@ function Grant (_config) {
3535
yield next
3636
}))
3737

38-
app.use(route.get('/connect/:provider/:override?', function *(provider, override) {
38+
app.use(route.get('/connect/:provider/:override?', function* (provider, override) {
3939
if (override === 'callback') {
4040
yield callback
4141
return
@@ -54,7 +54,7 @@ function Grant (_config) {
5454
yield connect
5555
}))
5656

57-
app.use(route.post('/connect/:provider/:override?', function *(provider, override) {
57+
app.use(route.post('/connect/:provider/:override?', function* (provider, override) {
5858
this.session.grant = {
5959
provider: provider
6060
}
@@ -118,8 +118,8 @@ function Grant (_config) {
118118
}
119119

120120
else {
121-
var err = {error: 'Grant: missing or misconfigured provider'}
122-
callback(qs.stringify(err))
121+
var error = {error: 'Grant: missing or misconfigured provider'}
122+
callback(qs.stringify(error))
123123
}
124124
}
125125

lib/flow/getpocket.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ exports.step1 = function (provider, done) {
1818
}
1919
}
2020
request.post(url, options, function (err, res, body) {
21-
var err = utils.error(err, res, body)
22-
done(err, qs.parse(body))
21+
var error = utils.error(err, res, body)
22+
done(error, qs.parse(body))
2323
})
2424
}
2525

@@ -44,7 +44,7 @@ exports.step3 = function (provider, step1, done) {
4444
}
4545
}
4646
request.post(url, options, function (err, res, body) {
47-
var err = utils.error(err, res, body)
48-
done(err, utils.toQuerystring(provider, body))
47+
var error = utils.error(err, res, body)
48+
done(error, utils.toQuerystring(provider, body))
4949
})
5050
}

lib/flow/oauth1.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ exports.step1 = function (provider, done) {
2424
url = url.replace('[subdomain]', provider.subdomain)
2525
}
2626
request.post(url, options, function (err, res, body) {
27-
var err = utils.error(err, res, body)
28-
done(err, qs.parse(body))
27+
var error = utils.error(err, res, body)
28+
done(error, qs.parse(body))
2929
})
3030
}
3131

@@ -63,7 +63,8 @@ exports.step3 = function (provider, step1, step2, done) {
6363
if (!step2.oauth_token) {
6464
var error = (Object.keys(step2).length)
6565
? step2 : {error: 'Grant: OAuth1 missing oauth_token parameter'}
66-
return done(utils.toQuerystring({}, error, true))
66+
done(utils.toQuerystring({}, error, true))
67+
return
6768
}
6869
var url = provider.access_url
6970
var options = {
@@ -88,7 +89,7 @@ exports.step3 = function (provider, step1, step2, done) {
8889
if (provider.intuit) {
8990
body += '&realmId=' + step2.realmId
9091
}
91-
var err = utils.error(err, res, body)
92-
done(err, utils.toQuerystring(provider, body))
92+
var error = utils.error(err, res, body)
93+
done(error, utils.toQuerystring(provider, body))
9394
})
9495
}

lib/flow/oauth2.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,13 @@ exports.step2 = function (provider, step1, session, done) {
4040
if (!step1.code) {
4141
var error = (Object.keys(step1).length)
4242
? step1 : {error: 'Grant: OAuth2 missing code parameter'}
43-
return done(utils.toQuerystring({}, error, true))
43+
done(utils.toQuerystring({}, error, true))
44+
return
4445
}
45-
if ((step1.state && session.state) && (step1.state !== session.state)) {
46+
else if ((step1.state && session.state) && (step1.state !== session.state)) {
4647
var error = {error: 'Grant: OAuth2 state mismatch'}
47-
return done(utils.toQuerystring({}, error, true))
48+
done(utils.toQuerystring({}, error, true))
49+
return
4850
}
4951
var url = provider.access_url
5052
var options = {
@@ -94,8 +96,8 @@ exports.step2 = function (provider, step1, session, done) {
9496
url = url.replace('[subdomain]', provider.subdomain)
9597
}
9698
request.post(url, options, function (err, res, body) {
97-
var err = utils.error(err, res, body)
98-
done(err, body)
99+
var error = utils.error(err, res, body)
100+
done(error, body)
99101
})
100102
}
101103

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@
3333
"mocha" : "^2.4.5",
3434
"istanbul" : "^0.4.2",
3535
"coveralls" : "^2.11.9",
36-
"eslint" : "^2.4.0",
36+
"eslint" : "^2.9.0",
37+
"eslint-config-standard": "^5.2.0",
38+
"eslint-plugin-promise" : "^1.1.0",
39+
"eslint-plugin-standard": "^1.3.2",
3740

3841
"express" : "^4.13.4",
3942
"express-session" : "^1.13.0",

0 commit comments

Comments
 (0)