Skip to content

Commit 11054d9

Browse files
committed
Enable sane eslint defaults and fix issues
1 parent eca4d21 commit 11054d9

27 files changed

+442
-407
lines changed

.eslintrc.json

+25-6
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,34 @@
11
{
22
"env": {
33
"browser": true,
4-
"commonjs": true,
54
"es6": true,
65
"serviceworker": true
76
},
87
"extends": [
8+
"airbnb-base",
99
"eslint:recommended",
10+
"plugin:import/errors",
11+
"plugin:import/warnings",
1012
"plugin:vue/recommended"
1113
],
1214
"parserOptions": {
1315
"ecmaVersion": 2018,
1416
"sourceType": "module"
1517
},
1618
"rules": {
17-
"indent": ["error", 2],
18-
"linebreak-style": ["error", "unix"],
19+
"class-methods-use-this": "off",
1920
"no-console": "off",
20-
"quotes": ["error", "double"],
21-
"semi": ["error", "always"],
21+
"no-param-reassign": ["error", { "props": false }],
22+
"object-curly-newline": "off",
23+
"operator-linebreak": ["error", "after"],
24+
"quotes": ["error", "double", { "allowTemplateLiterals": true }],
25+
"max-len": ["error", 170, 2, {
26+
"ignoreUrls": true,
27+
"ignoreComments": false,
28+
"ignoreRegExpLiterals": true,
29+
"ignoreStrings": true,
30+
"ignoreTemplateLiterals": true
31+
}],
2232
"vue/no-unused-components": "off",
2333
"vue/component-name-in-template-casing": ["error", "kebab-case"],
2434
"vue/max-attributes-per-line": [2, {
@@ -36,6 +46,15 @@
3646
},
3747
"svg": "always",
3848
"math": "always"
39-
}]
49+
}],
50+
"import/prefer-default-export": "off",
51+
"import/no-extraneous-dependencies": "off"
52+
},
53+
"settings": {
54+
"import/resolver": {
55+
"webpack": {
56+
"config": "webpack/webpack.config.js"
57+
}
58+
}
4059
}
4160
}

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@
4848
"cssnano": "^4.1.10",
4949
"cypress": "^6.2.1",
5050
"eslint": "^7.17.0",
51-
"eslint-plugin-ava": "^11.0.0",
51+
"eslint-config-airbnb-base": "^14.2.1",
52+
"eslint-import-resolver-webpack": "^0.13.0",
53+
"eslint-plugin-import": "^2.22.1",
5254
"eslint-plugin-vue": "^7.4.1",
5355
"esm": "^3.2.25",
5456
"html-webpack-plugin": "^5.0.0-beta.4",
@@ -65,7 +67,7 @@
6567
"url-loader": "^4.1.1",
6668
"vue-loader": "^15.9.6",
6769
"vue-template-compiler": "^2.6.12",
68-
"webpack": "^5.12.2",
70+
"webpack": "^5.12.3",
6971
"webpack-bundle-analyzer": "^4.3.0",
7072
"webpack-cli": "^4.3.1",
7173
"webpack-dev-server": "^3.11.1",

src/App.vue

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@
99
import { library, dom } from "@fortawesome/fontawesome-svg-core";
1010
import { faLayerGroup, faGlobeAfrica, faMobileAlt, faHammer, faEye, faRedo, faInfo, faBell } from "@fortawesome/free-solid-svg-icons";
1111
import { faGithub } from "@fortawesome/free-brands-svg-icons";
12-
library.add(faLayerGroup, faGlobeAfrica, faMobileAlt, faHammer, faEye, faRedo, faInfo, faBell, faGithub);
13-
dom.watch();
1412
1513
import "buefy/dist/buefy.css";
1614
import "Cesium/Widgets/widgets.css";
1715
import "./css/main.css";
1816
17+
library.add(faLayerGroup, faGlobeAfrica, faMobileAlt, faHammer, faEye, faRedo, faInfo, faBell, faGithub);
18+
dom.watch();
19+
1920
export default {
2021
};
2122
</script>

src/app.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import Vue from "vue";
2-
import App from "./App.vue";
3-
import router from "./components/Router";
42
import { Workbox } from "workbox-window";
53
import * as Sentry from "@sentry/browser";
4+
import App from "./App.vue";
5+
import router from "./components/Router";
66

77
if (window.location.href.includes("satvis.space")) {
88
Sentry.init({ dsn: "https://0c7d1a82eedb48ee8b83d87bf09ad144@sentry.io/1541793" });
@@ -21,7 +21,7 @@ const app = new Vue({
2121
window.app = app;
2222

2323
/* global cc */
24-
//cc.sats.addFromTleUrl("data/tle/norad/active.txt", ["Active"]);
24+
// cc.sats.addFromTleUrl("data/tle/norad/active.txt", ["Active"]);
2525
cc.sats.addFromTleUrl("data/tle/norad/planet.txt", ["Planet"]);
2626
cc.sats.addFromTleUrl("data/tle/norad/starlink.txt", ["Starlink"]);
2727
cc.sats.addFromTleUrl("data/tle/norad/globalstar.txt", ["Globalstar"]);

src/components/Cesium.vue

+26-23
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,9 @@ import Tooltip from "buefy";
229229
import SatelliteSelect from "./SatelliteSelect.vue";
230230
import SatelliteMultiSelect from "./SatelliteMultiSelect.vue";
231231
import SatelliteNotifyMultiSelect from "./SatelliteNotifyMultiSelect.vue";
232-
import VueCesiumController from "./VueCesiumController.js";
232+
import VueCesiumController from "./VueCesiumController";
233233
import { DeviceDetect } from "../modules/util/DeviceDetect";
234+
234235
Vue.use(Tooltip);
235236
Vue.use(VueCesiumController); /* global cc */
236237
@@ -261,33 +262,33 @@ export default {
261262
};
262263
},
263264
watch: {
264-
imageryProvider: function(newProvider) {
265+
imageryProvider(newProvider) {
265266
cc.imageryProvider = newProvider;
266-
if (this.$route.query.layers != newProvider) {
267-
this.$router.push({query: {...this.$route.query, layers: newProvider}});
267+
if (this.$route.query.layers !== newProvider) {
268+
this.$router.push({ query: { ...this.$route.query, layers: newProvider } });
268269
}
269270
},
270-
terrainProvider: function(newProvider) {
271+
terrainProvider(newProvider) {
271272
cc.terrainProvider = newProvider;
272-
if (this.$route.query.terrain != newProvider) {
273-
this.$router.push({query: {...this.$route.query, terrain: newProvider}});
273+
if (this.$route.query.terrain !== newProvider) {
274+
this.$router.push({ query: { ...this.$route.query, terrain: newProvider } });
274275
}
275276
},
276-
sceneMode: function(newMode) {
277+
sceneMode(newMode) {
277278
cc.sceneMode = newMode;
278279
},
279-
cameraMode: function(newMode) {
280+
cameraMode(newMode) {
280281
cc.cameraMode = newMode;
281282
},
282-
enabledComponents: function(newComponents, oldComponents) {
283-
let add = newComponents.filter(x => !oldComponents.includes(x));
284-
for (let component of add) {
283+
enabledComponents(newComponents, oldComponents) {
284+
const add = newComponents.filter((x) => !oldComponents.includes(x));
285+
add.forEach((component) => {
285286
cc.sats.enableComponent(component);
286-
}
287-
let del = oldComponents.filter(x => !newComponents.includes(x));
288-
for (let component of del) {
287+
});
288+
const del = oldComponents.filter((x) => !newComponents.includes(x));
289+
del.forEach((component) => {
289290
cc.sats.disableComponent(component);
290-
}
291+
});
291292
},
292293
},
293294
mounted() {
@@ -300,12 +301,12 @@ export default {
300301
if (this.$route.query.layers) {
301302
const layers = this.$route.query.layers.split(",");
302303
if (layers.length === 1) {
303-
this.imageryProvider = layers[0];
304+
[this.imageryProvider] = layers;
304305
} else {
305306
cc.clearImageryLayers();
306-
layers.forEach(layer => {
307+
layers.forEach((layer) => {
307308
const provider = layer.split("_");
308-
if (provider.length == 1) {
309+
if (provider.length === 1) {
309310
cc.addImageryLayer(provider[0]);
310311
} else {
311312
cc.addImageryLayer(provider[0], provider[1]);
@@ -334,23 +335,25 @@ export default {
334335
this.$root.$off("updateCat", this.updateCat);
335336
},
336337
methods: {
337-
toggleMenu: function(name) {
338+
toggleMenu(name) {
338339
const oldState = this.menu[name];
339-
Object.keys(this.menu).forEach(k => this.menu[k] = false);
340+
Object.keys(this.menu).forEach((k) => {
341+
this.menu[k] = false;
342+
});
340343
this.menu[name] = !oldState;
341344
342345
if (this.menu.cat) {
343346
// Update multiselect data when it is displayed
344347
this.updateCat();
345348
}
346349
},
347-
toggleUI: function() {
350+
toggleUI() {
348351
this.showUI = !this.showUI;
349352
if (!cc.minimalUI) {
350353
cc.showUI = this.showUI;
351354
}
352355
},
353-
updateCat: function() {
356+
updateCat() {
354357
this.$refs.SatelliteSelect.update();
355358
this.$refs.SatelliteMultiSelect.update();
356359
this.$refs.SatelliteNotifyMultiSelect.update();

src/components/Router.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ Vue.use(Router);
77
export default new Router({
88
mode: "history",
99
routes: [
10-
{ path: "/", component: Cesium, },
11-
{ path: "/move.html", component: Cesium, },
12-
{ path: "/ot.html", component: Cesium, },
13-
]
10+
{ path: "/", component: Cesium },
11+
{ path: "/move.html", component: Cesium },
12+
{ path: "/ot.html", component: Cesium },
13+
],
1414
});

src/components/SatelliteMultiSelect.vue

+5-5
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,19 @@ export default {
5050
};
5151
},
5252
watch: {
53-
values: function(newSats, oldSats) {
54-
if (newSats.every(e => oldSats.includes(e)) && oldSats.every(e => newSats.includes(e))) {
53+
values(newSats, oldSats) {
54+
if (newSats.every((e) => oldSats.includes(e)) && oldSats.every((e) => newSats.includes(e))) {
5555
return;
5656
}
5757
cc.sats.enabledSatellitesByName = newSats;
58-
}
58+
},
5959
},
6060
methods: {
61-
update: function() {
61+
update() {
6262
this.data = cc.sats.satlist;
6363
this.values = cc.sats.enabledSatellitesByName;
6464
},
65-
}
65+
},
6666
};
6767
</script>
6868

src/components/SatelliteNotifyMultiSelect.vue

+6-6
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export default {
3333
},
3434
data() {
3535
return {
36-
btnLabel: values => `Monitored satellites (${values.length})`,
36+
btnLabel: (values) => `Monitored satellites (${values.length})`,
3737
values: [],
3838
data: cc.sats.satlist,
3939
filters: [{
@@ -50,18 +50,18 @@ export default {
5050
};
5151
},
5252
watch: {
53-
values: function(newSats, oldSats) {
54-
if (newSats.every(e => oldSats.includes(e)) && oldSats.every(e => newSats.includes(e))) {
53+
values(newSats, oldSats) {
54+
if (newSats.every((e) => oldSats.includes(e)) && oldSats.every((e) => newSats.includes(e))) {
5555
return;
5656
}
5757
cc.sats.monitoredSatellites = newSats;
58-
}
58+
},
5959
},
6060
methods: {
61-
update: function() {
61+
update() {
6262
this.data = cc.sats.satlist;
6363
this.values = cc.sats.monitoredSatellites;
6464
},
65-
}
65+
},
6666
};
6767
</script>

src/components/SatelliteSelect.vue

+12-12
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default {
3232
},
3333
data() {
3434
return {
35-
btnLabel: values => values.length > 0 ? values[0] : "Select...",
35+
btnLabel: (values) => (values.length > 0 ? values[0] : "Select..."),
3636
values: [],
3737
data: cc.sats.satlist,
3838
options: {
@@ -41,41 +41,41 @@ export default {
4141
};
4242
},
4343
watch: {
44-
values: function(newSat, oldSat) {
45-
if (newSat.every(e => oldSat.includes(e)) && oldSat.every(e => newSat.includes(e))) {
44+
values(newSat, oldSat) {
45+
if (newSat.every((e) => oldSat.includes(e)) && oldSat.every((e) => newSat.includes(e))) {
4646
return;
4747
}
4848
if (newSat.length === 1) {
49-
cc.sats.trackedSatellite = newSat[0];
50-
if (this.$route.query.sat != newSat[0]) {
51-
this.$router.push({query: {...this.$route.query, sat: newSat[0]}});
49+
[cc.sats.trackedSatellite] = newSat;
50+
if (this.$route.query.sat !== newSat[0]) {
51+
this.$router.push({ query: { ...this.$route.query, sat: newSat[0] } });
5252
}
5353
} else if (oldSat.length === 1) {
5454
cc.sats.trackedSatellite = "";
55-
let query = Object.assign({}, this.$route.query);
55+
const query = { ...this.$route.query };
5656
delete query.sat;
57-
this.$router.replace({query});
57+
this.$router.replace({ query });
5858
}
59-
}
59+
},
6060
},
6161
mounted() {
6262
if (this.$route.query.sat) {
6363
cc.sats.trackedSatellite = this.$route.query.sat;
6464
}
6565
this.$root.$on("updateTracked", this.update);
6666
},
67-
beforeDestroy () {
67+
beforeDestroy() {
6868
this.$root.$off("updateTracked", this.update);
6969
},
7070
methods: {
71-
update: function() {
71+
update() {
7272
this.data = cc.sats.satlist;
7373
if (cc.sats.trackedSatellite) {
7474
this.values = [cc.sats.trackedSatellite];
7575
} else {
7676
this.values = [];
7777
}
7878
},
79-
}
79+
},
8080
};
8181
</script>

src/components/VueCesiumController.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ import { CesiumController } from "../modules/CesiumController";
33
const VueCesiumController = {
44
install(Vue) {
55
Vue.prototype.cc = new CesiumController();
6-
}
6+
},
77
};
88
export default VueCesiumController;

0 commit comments

Comments
 (0)