@soleil-se/eslint-config 2.0.0 → 2.1.1

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/.eslintrc.js CHANGED
@@ -3,4 +3,7 @@ module.exports = {
3
3
  env: {
4
4
  commonjs: true,
5
5
  },
6
+ rules: {
7
+ 'global-require': 0
8
+ }
6
9
  }
package/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ Alla förändringar i detta repository antecknas här.
4
4
  Formatet baseras på [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  och projektet använder [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.1.1] - 2020-10-06
8
+ ### Ändrat
9
+ - Ordning på config så de inställningar Svelte behöver för serversidan kommer med.
10
+
11
+ ## [2.1.0] - 2020-09-28
12
+ ### Ändrat
13
+ - Dependencies som behövs som standard ligger som peerDependencies
14
+ - Dependencies för ramverksspecifika plugins behöver installeras utöver peerDependencies.
15
+
7
16
  ## [2.0.0] - 2020-09-28
8
17
  ### Ändrat
9
18
  - Stöd för Svelte.
package/README.md CHANGED
@@ -21,6 +21,7 @@ https://eslint.org/docs/rules/
21
21
 
22
22
  - [1. Innehållsförteckning](#1-innehållsförteckning)
23
23
  - [2. Installera](#2-installera)
24
+ - [Ramverk](#ramverk)
24
25
  - [3. Migrering 1.x.x -> 2.x.x](#3-migrering-1xx---2xx)
25
26
  - [4. Config](#4-config)
26
27
  - [4.1. Konfigurationsfiler](#41-konfigurationsfiler)
@@ -50,8 +51,15 @@ https://eslint.org/docs/rules/
50
51
 
51
52
  ## 2. Installera
52
53
 
53
- Installera konfigurationen och `eslint` i ditt projekt genom att köra:
54
- `yarn add eslint @soleil-se/eslint-config-sitevision --dev`
54
+ Installera konfigurationen, `eslint` och de plugins som behövs plugins i ditt projekt genom att köra:
55
+ `yarn add @soleil-se/eslint-config-sitevision eslint babel-eslint eslint-config-airbnb-base eslint-plugin-import --dev`
56
+
57
+ ### Ramverk
58
+ Om Vue används i projektet:
59
+ `yarn add eslint-plugin-vue@6.2.2 --dev`
60
+
61
+ Om Svelte använs i projektet:
62
+ `yarn add eslint-plugin-svelte3 svelte --dev`
55
63
 
56
64
  ## 3. Migrering 1.x.x -> 2.x.x
57
65
 
package/client.js CHANGED
@@ -1,14 +1,13 @@
1
+ const { getExtends, getPlugins, getOverrides } = require('./utils');
1
2
  const client = require('./shared/client');
2
- const vue = require('./overrides/vue');
3
- const svelte = require('./overrides/svelte');
4
3
 
5
4
  module.exports = {
6
- extends: ['airbnb-base', 'plugin:vue/recommended'],
7
- plugins: ['vue', 'svelte3'],
5
+ extends: getExtends(),
6
+ plugins: getPlugins(),
8
7
  parserOptions: {
9
8
  parser: 'babel-eslint',
10
9
  sourceType: 'module',
11
10
  },
11
+ overrides: getOverrides(),
12
12
  ...client,
13
- overrides: [vue, svelte],
14
13
  };
package/global.js CHANGED
@@ -1,16 +1,32 @@
1
+ const { getExtends, getPlugins, getOverrides } = require('./utils');
2
+
1
3
  const server = require('./shared/server');
2
4
  const client = require('./shared/client');
3
- const vue = require('./overrides/vue');
4
- const svelte = require('./overrides/svelte');
5
5
 
6
6
  module.exports = {
7
- extends: ['airbnb-base', 'plugin:vue/recommended'],
8
- plugins: ['vue', 'svelte3'],
7
+ extends: getExtends(),
8
+ plugins: getPlugins(),
9
9
  parserOptions: {
10
10
  parser: 'babel-eslint',
11
11
  sourceType: 'module',
12
12
  },
13
13
  overrides: [
14
+ {
15
+ files: [
16
+ '*.vue',
17
+ '*.svelte',
18
+ 'client_src/js/**/*.js',
19
+ 'server_src/webapps/**/app_src/main.js',
20
+ 'server_src/webapps/**/app_src/client/**/*.js',
21
+ 'server_src/webapps/**/app_src/config/config.js',
22
+ 'server_src/webapps/**/app_src/config/client/**/*.js',
23
+ 'server_src/webapps/**/app_config/config.js',
24
+ 'server_src/webapps/**/app_config/client/**/*.js',
25
+ 'server_src/webapps/**/app_config_global/config.js',
26
+ 'server_src/webapps/**/app_config_global/client/**/*.js',
27
+ ],
28
+ ...client,
29
+ },
14
30
  {
15
31
  files: [
16
32
  '*.svelte',
@@ -30,23 +46,5 @@ module.exports = {
30
46
  ],
31
47
  ...server,
32
48
  },
33
- {
34
- files: [
35
- '*.vue',
36
- '*.svelte',
37
- 'client_src/js/**/*.js',
38
- 'server_src/webapps/**/app_src/main.js',
39
- 'server_src/webapps/**/app_src/client/**/*.js',
40
- 'server_src/webapps/**/app_src/config/config.js',
41
- 'server_src/webapps/**/app_src/config/client/**/*.js',
42
- 'server_src/webapps/**/app_config/config.js',
43
- 'server_src/webapps/**/app_config/client/**/*.js',
44
- 'server_src/webapps/**/app_config_global/config.js',
45
- 'server_src/webapps/**/app_config_global/client/**/*.js',
46
- ],
47
- ...client,
48
- },
49
- vue,
50
- svelte,
51
- ],
49
+ ].concat(getOverrides()),
52
50
  };
package/package.json CHANGED
@@ -1,22 +1,28 @@
1
1
  {
2
2
  "name": "@soleil-se/eslint-config",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "Settings for ESLint in a SiteVision project",
5
5
  "author": "Soleil AB",
6
6
  "license": "UNLICENSED",
7
7
  "private": false,
8
- "homepage": "https://github.com/soleilit/eslint-config#readme",
9
- "dependencies": {
8
+ "homepage": "https://github.com/soleilit/@soleil-se/eslint-config#readme",
9
+ "devDependencies": {
10
10
  "babel-eslint": "^10.1.0",
11
- "eslint": "^7.6.0",
11
+ "eslint": "^7.10.0",
12
12
  "eslint-config-airbnb-base": "^14.2.0",
13
- "eslint-plugin-import": "^2.22.0",
13
+ "eslint-plugin-import": "^2.22.1",
14
14
  "eslint-plugin-svelte3": "^2.7.3",
15
15
  "eslint-plugin-vue": "^6.2.2",
16
- "svelte": "^3.24.1"
16
+ "svelte": "^3.29.0"
17
+ },
18
+ "peerDependencies": {
19
+ "babel-eslint": "^10.1.0",
20
+ "eslint": "^7.10.0",
21
+ "eslint-config-airbnb-base": "^14.2.0",
22
+ "eslint-plugin-import": "^2.22.1"
17
23
  },
18
24
  "scripts": {
19
25
  "publish-scope": "node ./publish"
20
26
  },
21
- "devDependencies": {}
27
+ "dependencies": {}
22
28
  }
package/server-es6.js CHANGED
@@ -1,10 +1,10 @@
1
+ const { getExtends, getPlugins, getOverrides } = require('./utils');
1
2
  const server = require('./shared/server');
2
- const svelte = require('./overrides/svelte');
3
3
 
4
4
  module.exports = {
5
- extends: 'airbnb-base',
5
+ extends: getExtends(),
6
6
  parser: 'babel-eslint',
7
- plugins: ['svelte3'],
7
+ plugins: getPlugins(),
8
+ overrides: getOverrides(),
8
9
  ...server,
9
- overrides: [svelte],
10
10
  };
package/universal.js CHANGED
@@ -1,31 +1,16 @@
1
+ const { getExtends, getPlugins, getOverrides } = require('./utils');
2
+
1
3
  const server = require('./shared/server');
2
4
  const client = require('./shared/client');
3
- const vue = require('./overrides/vue');
4
- const svelte = require('./overrides/svelte');
5
5
 
6
6
  module.exports = {
7
- extends: ['airbnb-base', 'plugin:vue/recommended'],
8
- plugins: ['vue', 'svelte3'],
7
+ extends: getExtends(),
8
+ plugins: getPlugins(),
9
9
  parserOptions: {
10
10
  parser: 'babel-eslint',
11
11
  sourceType: 'module',
12
12
  },
13
13
  overrides: [
14
- {
15
- files: [
16
- '*.svelte',
17
- 'app_src/index.js',
18
- 'app_src/hooks.js',
19
- 'app_src/server/**/*.js',
20
- 'app_src/config/index.js',
21
- 'app_src/config/server/**/*.js',
22
- 'app_config/index.js',
23
- 'app_config/server/**/*.js',
24
- 'app_config_global/index.js',
25
- 'app_config_global/server/**/*.js',
26
- ],
27
- ...server,
28
- },
29
14
  {
30
15
  files: [
31
16
  '*.vue',
@@ -41,7 +26,20 @@ module.exports = {
41
26
  ],
42
27
  ...client,
43
28
  },
44
- vue,
45
- svelte,
46
- ],
29
+ {
30
+ files: [
31
+ '*.svelte',
32
+ 'app_src/index.js',
33
+ 'app_src/hooks.js',
34
+ 'app_src/server/**/*.js',
35
+ 'app_src/config/index.js',
36
+ 'app_src/config/server/**/*.js',
37
+ 'app_config/index.js',
38
+ 'app_config/server/**/*.js',
39
+ 'app_config_global/index.js',
40
+ 'app_config_global/server/**/*.js',
41
+ ],
42
+ ...server,
43
+ },
44
+ ].concat(getOverrides()),
47
45
  };
package/utils/index.js ADDED
@@ -0,0 +1,39 @@
1
+ const isRequireable = (id) => {
2
+ try {
3
+ require.resolve(id, {
4
+ paths: [process.cwd()],
5
+ });
6
+ return true;
7
+ } catch (e) {
8
+ return false;
9
+ }
10
+ };
11
+
12
+ const hasVue = isRequireable('eslint-plugin-vue');
13
+ const hasSvelte = isRequireable('eslint-plugin-svelte3');
14
+
15
+ const getExtends = () => {
16
+ const extend = ['airbnb-base'];
17
+ if (hasVue) extend.push('plugin:vue/recommended');
18
+ return extend;
19
+ };
20
+
21
+ const getPlugins = () => {
22
+ const plugins = [];
23
+ if (hasVue) plugins.push('vue');
24
+ if (hasSvelte) plugins.push('svelte3');
25
+ return plugins;
26
+ };
27
+
28
+ const getOverrides = () => {
29
+ const overrides = [];
30
+ if (hasVue) overrides.push(require('../overrides/vue'));
31
+ if (hasSvelte) overrides.push(require('../overrides/svelte'));
32
+ return overrides;
33
+ };
34
+
35
+ module.exports = {
36
+ getExtends,
37
+ getPlugins,
38
+ getOverrides,
39
+ };