UNPKG

1.86 kBJavaScriptView Raw
1"use strict";
2
3module.exports = {
4 env: {
5 es6: true,
6 },
7 parserOptions: {
8 ecmaVersion: 6,
9 },
10 plugins: ["import"],
11 settings: {
12 "import/resolver": {
13 node: {
14 extensions: [".js", ".json"],
15 },
16 },
17 "import/extensions": [".js", ".jsx"],
18 "import/ignore": [
19 "node-modules",
20 "\\.(coffee|scss|css|less|hbs|svg|json)$",
21 ],
22 },
23 rules: {
24 // Static analysis:
25
26 // ensure imports point to files/modules that can be resolved
27 "import/no-unresolved": [2, { commonjs: true, caseSensitive: true }],
28
29 // Helpful warnings:
30
31 // disallow invalid exports (e.g., multiple defaults)
32 "import/export": 2,
33
34 // do not allow a default import name to match a named export
35 "import/no-named-as-default": 2,
36
37 // do not allow accessing default export property names that are also named exports
38 "import/no-named-as-default-member": 2,
39
40 // forbid mutable exports
41 "import/no-mutable-exports": 2,
42
43 // Style guide
44
45 // disallow non-import statements appearing before import statements
46 "import/first": [2, "absolute-first"],
47
48 // disallow duplicate imports
49 "import/no-duplicates": 2,
50
51 // ensure consistent use of file extension within import path
52 "import/extensions": [2, "always", { js: "never", jsx: "never" }],
53
54 // suggest import order
55 "import/order": [1, { "newlines-between": "never" }],
56
57 // require a newline after the last import/require
58 "import/newline-after-import": 2,
59
60 // require modules with a single export to use a default export
61 "import/prefer-default-export": 2,
62
63 // forbid import of modules using absolute paths
64 "import/no-absolute-path": 2,
65
66 // forbid require() calls with expressions
67 "import/no-dynamic-require": 2,
68
69 // forbid webpack loader syntax in imports
70 "import/no-webpack-loader-syntax": 2,
71
72 // prevent importing the fault as if it were named
73 "import/no-named-default": 2,
74 },
75};