forked from emberjs/ember.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintrc.js
67 lines (57 loc) · 1.45 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
var fs = require('fs');
var path = require('path');
function isEmberJSBuildLinked() {
var emberjsBuildPath = path.dirname(require.resolve('emberjs-build'));
var emberjsBuildLinked = emberjsBuildPath.indexOf(__dirname + '/node_modules') === -1;
return emberjsBuildLinked;
}
var options = {
root: true,
parserOptions: {
ecmaVersion: 6,
sourceType: 'module',
},
extends: 'eslint:recommended',
plugins: [
"ember-internal"
],
env: {
qunit: true,
},
globals: {
'expectAssertion': true,
'expectDeprecation': true,
'expectNoDeprecation': true,
'expectWarning': true,
'expectNoWarning': true,
'ignoreAssertion': true,
'ignoreDeprecation': true,
// A safe subset of "browser:true":
'window': true,
'document': true,
'setTimeout': true,
'clearTimeout': true,
'setInterval': true,
'clearInterval': true,
'Symbol': true,
'WeakMap': true,
},
rules: {
'ember-internal/require-yuidoc-access': 'error',
'ember-internal/no-const-outside-module-scope': 'error',
// temporarily disabled
'no-unused-vars': 'off',
'comma-dangle': 'off',
},
};
if (isEmberJSBuildLinked()) {
delete options.plugins;
for (var ruleName in options.rules) {
var ruleParts = ruleName.split('ember-internal/');
if (ruleParts.length > 1) {
options.rules[ruleParts[1]] = options.rules[ruleName];
delete options.rules[ruleName];
}
}
}
module.exports = options;