aboutsummaryrefslogtreecommitdiffstats
path: root/src/.eslintrc.json
blob: f1b596dff1b075e925c45659b16914fa306d8d85 (plain)
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
68
69
70
71
72
73
74
75
76
77
78
{
	"root": true,

	"extends": "../.eslintrc-browser.json",

	"parserOptions": {
		"ecmaVersion": 2015,
		"sourceType": "module"
	},

	"plugins": [ "import" ],

	"rules": {
		"import/extensions": [ "error", "always" ],
		"import/no-cycle": "error",
		"import/no-unused-modules": [ "error", {
			"unusedExports": true,

			// When run via WebStorm, the root path against which these paths
			// are resolved is the path where this ESLint config file lies,
			// i.e. `src`. When run via the command line, it's usually the root
			// folder of the jQuery repository. This pattern intends to catch both.
			// Note that we cannot specify two patterns here:
			//     [ "src/*.js", "*.js" ]
			// as they're analyzed individually and the rule crashes if a pattern
			// cannot be matched.
			"ignoreExports": [ "{src/,}*.js" ]
		} ],
		"indent": [ "error", "tab", {
			"outerIIFEBody": 0
		} ]
	},

	"overrides": [
		{
			"files": "wrapper.js",
			"parserOptions": {
				"ecmaVersion": 5,
				"sourceType": "script"
			},
			"rules": {
				"no-unused-vars": "off",
				"indent": [ "error", "tab", {

					// Unlike other codes, "wrapper.js" is implemented in UMD.
					// So it required a specific exception for jQuery's UMD
					// Code Style. This makes that indentation check is not
					// performed for 1 depth of outer FunctionExpressions
					"ignoredNodes": [
						"Program > ExpressionStatement > CallExpression > :last-child > *"
					]
				} ]
			},
			"globals": {
				"jQuery": false,
				"module": true
			}
		},

		{
			"files": "exports/amd.js",
			"globals": {
				"define": false
			}
		},

		{
			"files": "core.js",
			"globals": {

				// Defining Symbol globally would create a danger of using
				// it unguarded in another place, it seems safer to define
				// it only for this module.
				"Symbol": false
			}
		}
	]
}