@soleil-se/eslint-config 0.1.7 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -25
- package/client.js +22 -5
- package/package.json +1 -1
- package/vue.js +1 -0
package/README.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
ESLint configs anpassade för SiteVision som bygger på Airbnbs Javascript styleguide.
|
|
4
4
|
|
|
5
|
-
**Klient**
|
|
5
|
+
**Klient & Server (ES2015+)**
|
|
6
6
|
https://github.com/airbnb/javascript
|
|
7
7
|
|
|
8
|
-
**Server**
|
|
8
|
+
**Server (ES5)**
|
|
9
9
|
https://github.com/airbnb/javascript/tree/es5-deprecated/es5
|
|
10
10
|
|
|
11
11
|
Om man stöter på ett fel man inte förstår kan man kolla i styleguiden eller söka på eslints hemsida.
|
|
@@ -40,19 +40,70 @@ https://eslint.org/docs/rules/
|
|
|
40
40
|
|
|
41
41
|
## 2. Installera
|
|
42
42
|
|
|
43
|
-
Installera i ditt projekt genom att köra:
|
|
44
|
-
`yarn add @soleil-se/eslint-config-sitevision --dev`
|
|
45
|
-
eller
|
|
46
|
-
`yarn add github:soleilit/eslint-config-sitevision --dev`
|
|
47
|
-
|
|
43
|
+
Installera konfigurationen och `eslint` i ditt projekt genom att köra:
|
|
44
|
+
`yarn add eslint @soleil-se/eslint-config-sitevision --dev`
|
|
48
45
|
|
|
49
46
|
## 3. Editors
|
|
50
47
|
Lättaste sättet att komma igång med ESLint är att installera det som extension i din editor.
|
|
51
48
|
|
|
52
49
|
### 3.1. Skapa config
|
|
53
50
|
Man behöver skapa upp `.eslintrc` filer i sitt projekt.
|
|
54
|
-
[yeoman-generatorn](https://github.com/soleilit/
|
|
55
|
-
|
|
51
|
+
[yeoman-generatorn](https://github.com/soleilit/generator-sitevision) kan göra detta automatiskt med kommandot `yo @soleil-se/sitevision:eslint`
|
|
52
|
+
|
|
53
|
+
Ett projekt som kör @soleil-se/sv-gulp-build@^3.0.0
|
|
54
|
+
```
|
|
55
|
+
<sitevision_projekt>
|
|
56
|
+
|
|
|
57
|
+
+---- client_src
|
|
58
|
+
| |
|
|
59
|
+
| +---- js
|
|
60
|
+
| |
|
|
61
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/client)
|
|
62
|
+
|
|
|
63
|
+
+---- server_src
|
|
64
|
+
|
|
|
65
|
+
+---- api
|
|
66
|
+
| |
|
|
67
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server-es6)
|
|
68
|
+
|
|
|
69
|
+
+---- restapps
|
|
70
|
+
| |
|
|
71
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server-es6)
|
|
72
|
+
|
|
|
73
|
+
+---- scripts
|
|
74
|
+
| |
|
|
75
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server-es6)
|
|
76
|
+
|
|
|
77
|
+
+---- snippets
|
|
78
|
+
| |
|
|
79
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server)
|
|
80
|
+
|
|
|
81
|
+
+---- webapps
|
|
82
|
+
|
|
|
83
|
+
+---- api
|
|
84
|
+
| |
|
|
85
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server-es6)
|
|
86
|
+
|
|
|
87
|
+
+---- apps
|
|
88
|
+
|
|
|
89
|
+
+---- App
|
|
90
|
+
|
|
|
91
|
+
+---- app_src
|
|
92
|
+
| |
|
|
93
|
+
| +---- client
|
|
94
|
+
| | |
|
|
95
|
+
| | +---- .eslintrc (@soleil-se/eslint-config-sitevision/client)
|
|
96
|
+
| |
|
|
97
|
+
| +---- server
|
|
98
|
+
| |
|
|
99
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server-es6)
|
|
100
|
+
|
|
|
101
|
+
+---- src
|
|
102
|
+
|
|
|
103
|
+
+---- .eslintrc (@soleil-se/eslint-config-sitevision/server)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Ett projekt som kör @soleil-se/sv-gulp-build@^2.0.0
|
|
56
107
|
```
|
|
57
108
|
<sitevision_projekt>
|
|
58
109
|
|
|
|
@@ -60,7 +111,7 @@ Yeoman fungerar bara om man installerat via GitHub.
|
|
|
60
111
|
| |
|
|
61
112
|
| +---- js
|
|
62
113
|
| |
|
|
63
|
-
| +---- .eslintrc
|
|
114
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/client)
|
|
64
115
|
|
|
|
65
116
|
+---- server_src
|
|
66
117
|
| |
|
|
@@ -72,42 +123,40 @@ Yeoman fungerar bara om man installerat via GitHub.
|
|
|
72
123
|
|
|
|
73
124
|
+---- App
|
|
74
125
|
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
126
|
+
+---- src
|
|
127
|
+
| |
|
|
128
|
+
| +---- .eslintrc (@soleil-se/eslint-config-sitevision/server eller @soleil-se/eslint-config-sitevision/server-es5)
|
|
129
|
+
|
|
|
130
|
+
+---- vue
|
|
131
|
+
|
|
|
132
|
+
+---- .eslintrc (@soleil-se/eslint-config-sitevision/client)
|
|
82
133
|
```
|
|
83
134
|
|
|
84
135
|
### 3.2. Importera config
|
|
85
136
|
|
|
86
|
-
|
|
137
|
+
I klient context:
|
|
87
138
|
```json
|
|
88
139
|
{
|
|
89
140
|
"extends": "@soleil-se/eslint-config-sitevision/client"
|
|
90
141
|
}
|
|
91
142
|
```
|
|
92
|
-
|
|
143
|
+
|
|
144
|
+
I server context:
|
|
93
145
|
```json
|
|
94
146
|
{
|
|
95
|
-
"extends": "@soleil-se/eslint-config-sitevision/
|
|
147
|
+
"extends": "@soleil-se/eslint-config-sitevision/server-es6"
|
|
96
148
|
}
|
|
97
149
|
```
|
|
98
|
-
I src mappen i en webapp och `server_src/.eslintrc`
|
|
99
150
|
```json
|
|
100
151
|
{
|
|
101
152
|
"extends": "@soleil-se/eslint-config-sitevision/server"
|
|
102
153
|
}
|
|
103
154
|
```
|
|
104
155
|
|
|
105
|
-
Om man installerat via GitHub får man plocka bort `@soleil-se/`.
|
|
106
|
-
|
|
107
156
|
### 3.3. VS Code
|
|
108
157
|
|
|
109
|
-
Installera [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
110
|
-
|
|
158
|
+
Installera [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) till VS Code.
|
|
159
|
+
Byt package manager till `yarn` i settings för eslint.
|
|
111
160
|
|
|
112
161
|
#### 3.3.1. End of line
|
|
113
162
|
Airbnb använder sig av LF för EOL. Ställs in under [settings](https://code.visualstudio.com/docs/getstarted/settings) i VS Code.
|
package/client.js
CHANGED
|
@@ -1,20 +1,37 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"extends": "airbnb-base",
|
|
2
|
+
"extends": ["airbnb-base", "plugin:vue/recommended"],
|
|
3
|
+
"parser": "vue-eslint-parser",
|
|
3
4
|
"env": {
|
|
4
5
|
"browser": true,
|
|
5
6
|
"jquery": true
|
|
6
7
|
},
|
|
7
|
-
"rules": {
|
|
8
|
+
"rules": {
|
|
9
|
+
"no-param-reassign": ["error", {
|
|
10
|
+
"props": true,
|
|
11
|
+
"ignorePropertyModificationsFor": ["state"]
|
|
12
|
+
}],
|
|
13
|
+
"vue/max-attributes-per-line": ["error", {
|
|
14
|
+
"singleline": 1,
|
|
15
|
+
"multiline": {
|
|
16
|
+
"max": 1,
|
|
17
|
+
"allowFirstLine": true
|
|
18
|
+
}
|
|
19
|
+
}],
|
|
20
|
+
"vue/component-name-in-template-casing": ["error", "PascalCase", {
|
|
21
|
+
"registeredComponentsOnly": true,
|
|
22
|
+
"ignores": []
|
|
23
|
+
}]
|
|
24
|
+
},
|
|
8
25
|
"settings": {
|
|
9
26
|
"import/resolver": {
|
|
10
27
|
"alias": {
|
|
11
|
-
"map": [
|
|
28
|
+
"map": [
|
|
12
29
|
["#js", "./client_src/js"],
|
|
13
30
|
["#api", "./client_src/js/api"],
|
|
14
|
-
["#vue", "./client_src/js/vue"]
|
|
31
|
+
["#vue", "./client_src/js/vue"]
|
|
15
32
|
],
|
|
16
33
|
"extensions": [".js", ".json", ".vue"]
|
|
17
34
|
}
|
|
18
35
|
}
|
|
19
|
-
}
|
|
36
|
+
}
|
|
20
37
|
}
|
package/package.json
CHANGED