Skip to content

Commit 599d78a

Browse files
committed
Update linter and add hooks
1 parent 4e1d79e commit 599d78a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+274
-235
lines changed

.eslintrc.cjs

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/* eslint-disable import/no-commonjs */
2+
module.exports = {
3+
root: true,
4+
env: {
5+
browser: true,
6+
mocha: true
7+
},
8+
extends: [
9+
'plugin:vue/vue3-essential',
10+
'standard'
11+
],
12+
plugins: [
13+
'vue',
14+
'node',
15+
'import'
16+
],
17+
settings: {
18+
'import/resolver': {
19+
alias: {
20+
map: [
21+
['trim', './src/js'],
22+
['apiServer', './server/client.js']
23+
]
24+
}
25+
}
26+
},
27+
rules: {
28+
'import/no-commonjs': 'error',
29+
'import/no-unresolved': 'error',
30+
'vue/no-deprecated-events-api': 'warn',
31+
'vue/multi-word-component-names': 'off',
32+
'node/file-extension-in-import': ['error', 'always'],
33+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
34+
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
35+
'padded-blocks': 'off',
36+
'no-mixed-operators': 'off',
37+
indent: ['error', 4, {SwitchCase: 1}],
38+
'linebreak-style': ['error', 'unix'],
39+
quotes: ['error', 'single'],
40+
semi: ['error', 'always'],
41+
'no-unused-vars': ['error', {args: 'none'}],
42+
'array-bracket-spacing': 'error',
43+
'block-spacing': 'error',
44+
'brace-style': ['error', '1tbs', {allowSingleLine: true}],
45+
camelcase: 'error',
46+
'comma-spacing': 'error',
47+
'computed-property-spacing': 'error',
48+
curly: 'error',
49+
'eol-last': 'error',
50+
eqeqeq: 'error',
51+
'func-call-spacing': 'error',
52+
'key-spacing': 'error',
53+
'keyword-spacing': 'error',
54+
'max-depth': ['error', 5],
55+
'max-nested-callbacks': ['error', 4],
56+
'new-cap': ['error', {capIsNew: false, newIsCapExceptions: ['default']}],
57+
'no-multiple-empty-lines': ['error', {max: 1}],
58+
'no-extra-bind': 'error',
59+
'no-implicit-coercion': 'error',
60+
'no-implicit-globals': 'error',
61+
'no-useless-concat': 'error',
62+
'no-useless-return': 'error',
63+
'no-trailing-spaces': 'error',
64+
'no-multi-spaces': 'error',
65+
'no-whitespace-before-property': 'error',
66+
'object-curly-spacing': ['error', 'never'],
67+
'space-before-blocks': 'error',
68+
'space-before-function-paren': ['error', 'never'],
69+
'space-in-parens': ['error'],
70+
'vue/no-use-v-if-with-v-for': 'off',
71+
'wrap-iife': 'error'
72+
}
73+
};

.eslintrc.js

-69
This file was deleted.

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx lint-staged

demo/auth.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import api from 'trim/library/api';
2-
import auth from 'trim/library/auth';
1+
import api from 'trim/library/api.js';
2+
import auth from 'trim/library/auth.js';
33

44
export default auth.extend({
55

demo/controllers/article/galleryInContent.vue

+6-5
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@
6262
</template>
6363

6464
<script>
65-
import TextareaFormElement from 'trim/formElements/textarea';
66-
import SelectFormElement from 'trim/formElements/select';
67-
import baseComponent from 'trim/formElements/htmlComponents/baseComponent';
68-
import ExternalAdmin from 'trim/formElements/externalAdmin';
69-
import {elementIndex} from 'trim/library/toolkit';
65+
import TextareaFormElement from 'trim/formElements/textarea.vue';
66+
import SelectFormElement from 'trim/formElements/select.vue';
67+
import baseComponent from 'trim/formElements/htmlComponents/baseComponent.vue';
68+
import ExternalAdmin from 'trim/formElements/externalAdmin.vue';
69+
import {elementIndex} from 'trim/library/toolkit.js';
7070
7171
export default {
7272
@@ -162,6 +162,7 @@ export default {
162162
163163
this.drake.on('drop', () => {
164164
165+
/* eslint-disable vue/no-mutating-props */
165166
this.updateComponent({
166167
items: this.items.sort((item1, item2) => {
167168

demo/controllers/article/imageInContent.vue

+11-9
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
</template>
1212

1313
<script>
14-
import baseComponent from 'trim/formElements/htmlComponents/baseComponent';
15-
import ExternalAdmin from 'trim/formElements/externalAdmin';
14+
import baseComponent from 'trim/formElements/htmlComponents/baseComponent.vue';
15+
import ExternalAdmin from 'trim/formElements/externalAdmin.vue';
1616
1717
export default {
1818
@@ -35,13 +35,15 @@ export default {
3535
return [{
3636
icon: 'move',
3737
isSortHandle: true
38-
}, this.alignment === 'central' ? {
39-
icon: 'arrowLeft',
40-
action: () => this.updateComponent({alignment: 'left'})
41-
} : {
42-
icon: 'arrowRight',
43-
action: () => this.updateComponent({alignment: 'central'})
44-
}, {
38+
}, this.alignment === 'central'
39+
? {
40+
icon: 'arrowLeft',
41+
action: () => this.updateComponent({alignment: 'left'})
42+
}
43+
: {
44+
icon: 'arrowRight',
45+
action: () => this.updateComponent({alignment: 'central'})
46+
}, {
4547
icon: 'trash',
4648
action: () => this.confirmRemove(() => this.removeComponent())
4749
}];

demo/controllers/article/quoteInContent.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
</template>
1919

2020
<script>
21-
import TextareaFormElement from 'trim/formElements/textarea';
22-
import baseComponent from 'trim/formElements/htmlComponents/baseComponent';
21+
import TextareaFormElement from 'trim/formElements/textarea.vue';
22+
import baseComponent from 'trim/formElements/htmlComponents/baseComponent.vue';
2323
2424
export default {
2525

demo/controllers/article/tableInContent.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@
8989
</template>
9090

9191
<script>
92-
import TextareaFormElement from 'trim/formElements/textarea';
93-
import baseComponent from 'trim/formElements/htmlComponents/baseComponent';
92+
import TextareaFormElement from 'trim/formElements/textarea.vue';
93+
import baseComponent from 'trim/formElements/htmlComponents/baseComponent.vue';
9494
import vueDismiss from 'vue-dismiss';
9595
9696
export default {

demo/controllers/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {PagePreview} from 'trim/components/pagePreview';
1+
import {PagePreview} from 'trim/components/pagePreview.vue';
22

33
export default {
44

demo/main.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import app from 'trim/app';
1+
import app from 'trim/app.js';
22
import translations from 'trim/lang/english.js';
33
import routes from './routes.js';
44
import services from './services.js';

documentation/core-concepts-and-api.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ export default {
402402
```
403403
If you need to access service container manually somewhere in your code:
404404
```js
405-
import serviceContainer from 'trim/library/serviceContainer';
405+
import serviceContainer from 'trim/library/serviceContainer.js';
406406
407407
serviceContainer.register('myService', () => {foo: 'bar'});
408408
@@ -569,10 +569,10 @@ It is used to connect services and routes, load translations, inject boot (confi
569569

570570
### Code example
571571
```js
572-
import app from 'trim/app';
573-
import translations from 'trim/lang/english';
574-
import routes from './routes';
575-
import services from './services';
572+
import app from 'trim/app.js';
573+
import translations from 'trim/lang/english.js';
574+
import routes from './routes.js';
575+
import services from './services.js';
576576

577577
import './scss/main.scss';
578578

@@ -699,7 +699,7 @@ app.setBootData({
699699
### Access boot data outside of main entry point.
700700
Boot data can later be retrieved like so:
701701
```js
702-
import bootData from 'trim/library/bootData';
702+
import bootData from 'trim/library/bootData.js';
703703
bootData('baseUrl'); // outputs boot data baseUrl value
704704
```
705705
@@ -710,8 +710,8 @@ Examine [base auth api](https://github.com/trikoder/trim/tree/master/src/js/libr
710710
Simple driver implementation is shown bellow:
711711
712712
```js
713-
import api from 'trim/library/api';
714-
import auth from 'trim/library/auth';
713+
import api from 'trim/library/api.js';
714+
import auth from 'trim/library/auth.js';
715715

716716
export default auth.extend({
717717

@@ -756,7 +756,7 @@ Inform application that you want to use auth driver you implemented:
756756
757757
```js
758758
// app.js
759-
import auth from './auth';
759+
import auth from './auth.js';
760760
...
761761
app.useAuth(auth);
762762
```

server/client.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import BrowserServer from 'json-api-shop/servers/browser';
2-
import MemoryAdapter from 'json-api-shop/adapters/memory';
3-
import resources from './resources';
1+
import BrowserServer from 'json-api-shop/servers/browser.js';
2+
import MemoryAdapter from 'json-api-shop/adapters/memory.js';
3+
import resources from './resources.js';
44

5-
const isProduction = process.env.NODE_ENV === 'production';
65
const isDevelopment = process.env.NODE_ENV !== 'production';
76
const currentDataVersion = process.env.PACKAGE_VERSION;
87

@@ -64,7 +63,7 @@ const Server = BrowserServer.extend({
6463
app.post(process.env.BASE_API_URL + 'media/upload', (request, response) => {
6564
response.set('Content-Type', 'application/javascript');
6665
response.set('Access-Control-Expose-Headers', 'Location');
67-
response.set('Location', 'https://trikoder.github.io' + process.env.BASE_API_URL + 'media/1');
66+
response.set('Location', 'https://trikoder.github.io' + process.env.BASE_API_URL + 'media/1');
6867
response.send('');
6968
});
7069

@@ -77,6 +76,6 @@ const Server = BrowserServer.extend({
7776
export default new Server({
7877
baseUrl: process.env.BASE_API_URL,
7978
databaseAdapter: LocalStorageAdapter,
80-
resources: resources,
79+
resources,
8180
logResponse: isDevelopment
82-
}).start()
81+
}).start();

server/node.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const Server = ExpressServer.extend({
1313
response.send('');
1414
});
1515

16-
return ExpressServer.prototype.setupRoutes.call(this, app);;
16+
return ExpressServer.prototype.setupRoutes.call(this, app); ;
1717

1818
}
1919

@@ -22,5 +22,5 @@ const Server = ExpressServer.extend({
2222
export default new Server({
2323
port: process.env.API_PORT,
2424
databaseAdapter: MemoryAdapter,
25-
resources: resources
25+
resources
2626
}).start();

server/previewPages.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
const express = require('express');
1+
import express from 'express';
22
const app = express();
33

44
app.use('/trim', express.static('docs'));
55

66
app.listen(3000, () => console.log(
77
'Preview app on http://localhost:3000/trim'
8-
));
8+
));

0 commit comments

Comments
 (0)