Skip to content

Commit a7b8b84

Browse files
authored
Merge pull request #96 from github/merge-es6-into-other-configs
Merge ES6 into other configs
2 parents 6e4f49c + 054b28d commit a7b8b84

21 files changed

+105
-115
lines changed

bin/eslint-ignore-errors.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ const fs = require('fs')
1111
const execFile = require('child_process').execFile
1212

1313
execFile('eslint', ['--format', 'json', process.argv[2]], (error, stdout) => {
14-
JSON.parse(stdout).forEach(result => {
14+
for (const result of JSON.parse(stdout)) {
1515
const filename = result.filePath
1616
const jsLines = fs.readFileSync(filename, 'utf8').split('\n')
1717
const offensesByLine = {}
1818
let addedLines = 0
1919

2020
// Produces {47: ['github/no-d-none', 'github/no-blur'], 83: ['github/no-blur']}
21-
result.messages.forEach(message => {
21+
for (const message of result.messages) {
2222
if (offensesByLine[message.line]) {
2323
offensesByLine[message.line].push(message.ruleId)
2424
} else {
2525
offensesByLine[message.line] = [message.ruleId]
2626
}
27-
})
27+
}
2828

29-
Object.keys(offensesByLine).forEach(line => {
29+
for (const line of Object.keys(offensesByLine)) {
3030
const lineIndex = line - 1 + addedLines
3131
const previousLine = jsLines[lineIndex - 1]
3232
const ruleIds = offensesByLine[line].join(', ')
@@ -37,12 +37,12 @@ execFile('eslint', ['--format', 'json', process.argv[2]], (error, stdout) => {
3737
jsLines.splice(lineIndex, 0, `${leftPad}/* eslint-disable-next-line ${ruleIds} */`)
3838
}
3939
addedLines += 1
40-
})
40+
}
4141

4242
if (result.messages.length !== 0) {
4343
fs.writeFileSync(filename, jsLines.join('\n'), 'utf8')
4444
}
45-
})
45+
}
4646
})
4747

4848
function isDisableComment(line) {

bin/npm-check-github-package-requirements.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function check(name, callback) {
1010

1111
function run() {
1212
process.stdout.write(`1..${checks.length}\n`)
13-
checks.forEach(([count, name, callback]) => {
13+
for (const [count, name, callback] of checks) {
1414
Promise.resolve()
1515
.then(callback)
1616
.then(() => {
@@ -19,7 +19,7 @@ function run() {
1919
.catch(error => {
2020
process.stdout.write(`not ok ${count} - ${name}\n ${error}\n`)
2121
})
22-
})
22+
}
2323
}
2424

2525
const packageRoot = process.argv[2]

lib/configs/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ module.exports = {
77
'github/no-dataset': 'error',
88
'github/no-then': 'error'
99
},
10-
extends: [require.resolve('./recommended'), require.resolve('./es6'), require.resolve('./browser')]
10+
extends: [require.resolve('./recommended'), require.resolve('./browser')]
1111
}

lib/configs/es6.js

Lines changed: 0 additions & 51 deletions
This file was deleted.

lib/configs/recommended.js

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
module.exports = {
2-
plugins: ['github', 'prettier', 'eslint-comments'],
2+
parserOptions: {
3+
ecmaFeatures: {
4+
ecmaVersion: 6
5+
},
6+
sourceType: 'module'
7+
},
38
env: {
4-
commonjs: true
9+
es6: true
510
},
11+
plugins: ['github', 'prettier', 'eslint-comments', 'import'],
612
rules: {
713
'constructor-super': 'error',
814
'eslint-comments/disable-enable-pair': 'off',
@@ -13,7 +19,31 @@ module.exports = {
1319
'eslint-comments/no-unused-enable': 'error',
1420
'eslint-comments/no-use': ['error', {allow: ['eslint', 'eslint-disable-next-line', 'eslint-env', 'globals']}],
1521
'func-style': ['error', 'declaration', {allowArrowFunctions: true}],
22+
'github/array-foreach': 'error',
1623
'github/no-implicit-buggy-globals': 'error',
24+
'import/default': 'error',
25+
'import/export': 'error',
26+
'import/first': 'error',
27+
'import/named': 'error',
28+
'import/namespace': 'error',
29+
'import/no-absolute-path': 'error',
30+
'import/no-anonymous-default-export': [
31+
'error',
32+
{
33+
allowAnonymousClass: false,
34+
allowAnonymousFunction: false,
35+
allowArray: true,
36+
allowArrowFunction: false,
37+
allowLiteral: true,
38+
allowObject: true
39+
}
40+
],
41+
'import/no-deprecated': 'error',
42+
'import/no-duplicates': 'error',
43+
'import/no-mutable-exports': 'error',
44+
'import/no-named-as-default': 'error',
45+
'import/no-named-as-default-member': 'error',
46+
'import/no-namespace': 'error',
1747
'no-case-declarations': 'error',
1848
'no-class-assign': 'error',
1949
'no-compare-neg-zero': 'error',
@@ -61,13 +91,25 @@ module.exports = {
6191
'no-unused-vars': 'error',
6292
'no-useless-concat': 'error',
6393
'no-useless-escape': 'error',
94+
'no-var': 'error',
6495
'object-shorthand': ['error', 'always', {avoidQuotes: true}],
96+
'prefer-const': 'error',
6597
'prefer-promise-reject-errors': 'error',
98+
'prefer-rest-params': 'error',
99+
'prefer-spread': 'error',
100+
'prefer-template': 'error',
66101
'prettier/prettier': 'error',
67102
'require-yield': 'error',
68103
'use-isnan': 'error',
69104
'valid-typeof': 'error',
70105
camelcase: ['error', {properties: 'always'}],
71106
eqeqeq: ['error', 'smart']
107+
},
108+
settings: {
109+
'import/resolver': {
110+
node: {
111+
extensions: ['.js', '.ts']
112+
}
113+
}
72114
}
73115
}

lib/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ module.exports = {
1717
configs: {
1818
app: require('./configs/app'),
1919
browser: require('./configs/browser'),
20-
es6: require('./configs/es6'),
2120
recommended: require('./configs/recommended'),
2221
typescript: require('./configs/typescript')
2322
}

lib/rules/js-class-name.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ module.exports = {
55
},
66

77
create(context) {
8-
var allJsClassNameRegexp = /\bjs-[_a-zA-Z0-9-]*/g
9-
var validJsClassNameRegexp = /^js(-[a-z0-9]+)+$/g
10-
var endWithJsClassNameRegexp = /\bjs-[_a-zA-Z0-9-]*$/g
8+
const allJsClassNameRegexp = /\bjs-[_a-zA-Z0-9-]*/g
9+
const validJsClassNameRegexp = /^js(-[a-z0-9]+)+$/g
10+
const endWithJsClassNameRegexp = /\bjs-[_a-zA-Z0-9-]*$/g
1111

1212
function checkStringFormat(node, str) {
13-
var matches = str.match(allJsClassNameRegexp) || []
14-
matches.forEach(function(match) {
13+
const matches = str.match(allJsClassNameRegexp) || []
14+
for (const match of matches) {
1515
if (!match.match(validJsClassNameRegexp)) {
1616
context.report(node, 'js- class names should be lowercase and only contain dashes.')
1717
}
18-
})
18+
}
1919
}
2020

2121
function checkStringEndsWithJSClassName(node, str) {
@@ -40,13 +40,13 @@ module.exports = {
4040
}
4141
},
4242
TemplateLiteral(node) {
43-
node.quasis.forEach(function(quasi) {
43+
for (const quasi of node.quasis) {
4444
checkStringFormat(quasi, quasi.value.raw)
4545

4646
if (quasi.tail === false) {
4747
checkStringEndsWithJSClassName(quasi, quasi.value.raw)
4848
}
49-
})
49+
}
5050
}
5151
}
5252
}

lib/rules/no-implicit-buggy-globals.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ module.exports = {
77
create(context) {
88
return {
99
Program() {
10-
var scope = context.getScope()
10+
const scope = context.getScope()
1111

12-
scope.variables.forEach(function(variable) {
12+
for (const variable of scope.variables) {
1313
if (variable.writeable) {
1414
return
1515
}
1616

17-
variable.defs.forEach(function(def) {
17+
for (const def of variable.defs) {
1818
if (
1919
def.type === 'FunctionName' ||
2020
def.type === 'ClassName' ||
@@ -23,8 +23,8 @@ module.exports = {
2323
) {
2424
context.report(def.node, 'Implicit global variable, assign as global property instead.')
2525
}
26-
})
27-
})
26+
}
27+
}
2828
}
2929
}
3030
}

tests/array-foreach.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/array-foreach')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/array-foreach')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('array-foreach', rule, {
77
valid: [

tests/async-currenttarget.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/async-currenttarget')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/async-currenttarget')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('async-currenttarget', rule, {
77
valid: [

tests/async-preventdefault.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/async-preventdefault')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/async-preventdefault')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('async-preventdefault', rule, {
77
valid: [

tests/authenticity-token.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/authenticity-token')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/authenticity-token')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('authenticity-token', rule, {
77
valid: [],

tests/get-attribute.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/get-attribute')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/get-attribute')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('get-attribute', rule, {
77
valid: [

tests/js-class-name.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/js-class-name')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/js-class-name')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('js-class-name', rule, {
77
valid: [

tests/no-blur.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/no-blur')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/no-blur')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('no-blur', rule, {
77
valid: [{code: 'target.focus()'}],

tests/no-d-none.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/no-d-none')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/no-d-none')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('no-d-none', rule, {
77
valid: [

tests/no-dataset.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/no-dataset')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/no-dataset')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('no-dataset', rule, {
77
valid: [

tests/no-implicit-buggy-globals.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/no-implicit-buggy-globals')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/no-implicit-buggy-globals')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('no-implicit-buggy-globals', rule, {
77
valid: [

tests/no-innerText.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var rule = require('../lib/rules/no-innerText')
2-
var RuleTester = require('eslint').RuleTester
1+
const rule = require('../lib/rules/no-innerText')
2+
const RuleTester = require('eslint').RuleTester
33

4-
var ruleTester = new RuleTester()
4+
const ruleTester = new RuleTester()
55

66
ruleTester.run('no-innerText', rule, {
77
valid: [

0 commit comments

Comments
 (0)