Add eslint

This commit is contained in:
Gautier Pelloux-Prayer 2019-10-05 13:57:43 +02:00
parent aaad4210cb
commit 71c5075f9c
8 changed files with 626 additions and 33 deletions

4
.eslintignore Normal file
View file

@ -0,0 +1,4 @@
layers/josm/extract.js
layers/collection/extract.js
gulpfile.js
dist/brouter-web.js

9
.eslintrc.json Normal file
View file

@ -0,0 +1,9 @@
{
"extends": ["plugin:compat/recommended"],
"env": {
"browser": true
},
"settings": {
"polyfills": ["URLSearchParams", "Symbol.iterator", "Promise", "fetch", "Math", "Number", "navigator"]
}
}

View file

@ -27,7 +27,7 @@ BR.RoutingPathQuality = L.Control.extend({
renderer: renderer renderer: renderer
}, },
valueFunction: function(latLng, prevLatLng) { valueFunction: function(latLng, prevLatLng) {
const deltaAltitude = latLng.alt - prevLatLng.alt, // in m var deltaAltitude = latLng.alt - prevLatLng.alt, // in m
distance = prevLatLng.distanceTo(latLng); // in m distance = prevLatLng.distanceTo(latLng); // in m
if (distance === 0) { if (distance === 0) {
return 0; return 0;
@ -56,7 +56,7 @@ BR.RoutingPathQuality = L.Control.extend({
renderer: renderer renderer: renderer
}, },
valueFunction: function(latLng) { valueFunction: function(latLng) {
const feature = latLng.feature; var feature = latLng.feature;
return ( return (
feature.cost.perKm + feature.cost.perKm +
feature.cost.elev + feature.cost.elev +
@ -82,8 +82,8 @@ BR.RoutingPathQuality = L.Control.extend({
l = keys.length; l = keys.length;
for (i = 0; i < l; ++i) { for (i = 0; i < l; ++i) {
const provider = this.providers[keys[i]]; var provider = this.providers[keys[i]];
const nextState = keys[(i + 1) % l]; var nextState = keys[(i + 1) % l];
states.push({ states.push({
stateName: keys[i], stateName: keys[i],
icon: provider.icon, icon: provider.icon,
@ -118,7 +118,7 @@ BR.RoutingPathQuality = L.Control.extend({
_update: function(segments) { _update: function(segments) {
this._routingSegments.clearLayers(); this._routingSegments.clearLayers();
const layers = this.providers[this.selectedProvider].provider.computeLayers(segments); var layers = this.providers[this.selectedProvider].provider.computeLayers(segments);
if (layers) { if (layers) {
for (var i = 0; i < layers.length; i++) { for (var i = 0; i < layers.length; i++) {
this._routingSegments.addLayer(layers[i]); this._routingSegments.addLayer(layers[i]);
@ -138,22 +138,27 @@ var HotLineQualityProvider = L.Class.extend({
if (segments) { if (segments) {
var segmentLatLngs = []; var segmentLatLngs = [];
for (var i = 0; segments && i < segments.length; i++) { for (var i = 0; segments && i < segments.length; i++) {
const segment = segments[i]; var segment = segments[i];
segmentLatLngs.push(this._computeLatLngVals(segment)); segmentLatLngs.push(this._computeLatLngVals(segment));
} }
const flatLines = segmentLatLngs.flat(); var flatLines = segmentLatLngs.flat();
if (flatLines.length > 0) { if (flatLines.length > 0) {
const hotlineOptions = Object.assign(new Object(), this.hotlineOptions); var hotlineOptions = {
min: this.hotlineOptions.min,
max: this.hotlineOptions.max,
palette: this.hotlineOptions.palette,
renderer: this.hotlineOptions.renderer
};
if (!hotlineOptions.min && !hotlineOptions.max) { if (!hotlineOptions.min && !hotlineOptions.max) {
const minMax = this._calcMinMaxValues(flatLines); var minMax = this._calcMinMaxValues(flatLines);
hotlineOptions.min = minMax.min; hotlineOptions.min = minMax.min;
hotlineOptions.max = minMax.max; hotlineOptions.max = minMax.max;
} }
for (var i = 0; i < segmentLatLngs.length; i++) { for (var i = 0; i < segmentLatLngs.length; i++) {
const line = segmentLatLngs[i]; var line = segmentLatLngs[i];
const hotline = L.hotline(line, hotlineOptions); var hotline = L.hotline(line, hotlineOptions);
layers.push(hotline); layers.push(hotline);
} }
} }
@ -167,7 +172,7 @@ var HotLineQualityProvider = L.Class.extend({
segmentLength = segmentLatLngs.length; segmentLength = segmentLatLngs.length;
for (var i = 0; i < segmentLength; i++) { for (var i = 0; i < segmentLength; i++) {
const val = this.valueFunction.call( var val = this.valueFunction.call(
this, this,
segmentLatLngs[i], segmentLatLngs[i],
segmentLatLngs[Math.max(i - 1, 0)], segmentLatLngs[Math.max(i - 1, 0)],
@ -187,7 +192,7 @@ var HotLineQualityProvider = L.Class.extend({
var min = lines[0][2], var min = lines[0][2],
max = min; max = min;
for (var i = 1; lines && i < lines.length; i++) { for (var i = 1; lines && i < lines.length; i++) {
const line = lines[i]; var line = lines[i];
max = Math.max(max, line[2]); max = Math.max(max, line[2]);
min = Math.min(min, line[2]); min = Math.min(min, line[2]);
} }

View file

@ -52,9 +52,9 @@ BR.tracksLoader = function(map, layersControl, routing) {
var eventLayer = event.layer, var eventLayer = event.layer,
routingMarkers = []; routingMarkers = [];
for (var layerIdx = 0; layerIdx < eventLayer.getLayers().length; layerIdx++) { for (var layerIdx = 0; layerIdx < eventLayer.getLayers().length; layerIdx++) {
const layer = eventLayer.getLayers()[layerIdx]; var layer = eventLayer.getLayers()[layerIdx];
if (layer.feature && layer.feature.properties && layer.feature.properties.type) { if (layer.feature && layer.feature.properties && layer.feature.properties.type) {
const layerType = layer.feature.properties.type; var layerType = layer.feature.properties.type;
if (layerType === 'from' || layerType === 'via' || layerType === 'to') { if (layerType === 'from' || layerType === 'via' || layerType === 'to') {
routingMarkers.push(layer.getLatLng()); routingMarkers.push(layer.getLatLng());
} }

View file

@ -1,5 +1,5 @@
BR.stravaSegments = function(map, layersControl) { BR.stravaSegments = function(map, layersControl) {
const stravaControl = L.control var stravaControl = L.control
.stravaSegments({ .stravaSegments({
runningTitle: i18next.t('map.strava-running'), runningTitle: i18next.t('map.strava-running'),
bikingTitle: i18next.t('map.strava-biking'), bikingTitle: i18next.t('map.strava-biking'),

View file

@ -197,16 +197,16 @@ L.BRouter = L.Class.extend({
_assignFeatures: function(segment) { _assignFeatures: function(segment) {
if (segment.feature.properties.messages) { if (segment.feature.properties.messages) {
const featureMessages = segment.feature.properties.messages, var featureMessages = segment.feature.properties.messages,
segmentLatLngs = segment.getLatLngs(), segmentLatLngs = segment.getLatLngs(),
segmentLength = segmentLatLngs.length; segmentLength = segmentLatLngs.length;
var featureSegmentIndex = 0; var featureSegmentIndex = 0;
for (var mi = 1; mi < featureMessages.length; mi++) { for (var mi = 1; mi < featureMessages.length; mi++) {
const featureLatLng = this._getFeatureLatLng(featureMessages[mi]); var featureLatLng = this._getFeatureLatLng(featureMessages[mi]);
for (var fi = featureSegmentIndex; fi < segmentLength; fi++) { for (var fi = featureSegmentIndex; fi < segmentLength; fi++) {
const segmentLatLng = segmentLatLngs[fi], var segmentLatLng = segmentLatLngs[fi],
featureMessage = featureMessages[mi]; featureMessage = featureMessages[mi];
segmentLatLng.feature = this._getFeature(featureMessage); segmentLatLng.feature = this._getFeature(featureMessage);

View file

@ -9,12 +9,13 @@
"transifex-pull": "tx pull --all --minimum-perc 1 --force && (git add locales/*.json && git commit locales/*.json -m 'Update translations' || true)", "transifex-pull": "tx pull --all --minimum-perc 1 --force && (git add locales/*.json && git commit locales/*.json -m 'Update translations' || true)",
"layers": "node layers/josm/extract.js && node layers/collection/extract.js", "layers": "node layers/josm/extract.js && node layers/collection/extract.js",
"test": "gulp", "test": "gulp",
"lint": "eslint .",
"prettier": "prettier --write '**/*'", "prettier": "prettier --write '**/*'",
"serve": "gulp serve watch" "serve": "gulp serve watch"
}, },
"husky": { "husky": {
"hooks": { "hooks": {
"pre-commit": "pretty-quick --bail" "pre-commit": "pretty-quick --bail && yarn lint"
} }
}, },
"repository": { "repository": {
@ -22,7 +23,16 @@
"url": "https://github.com/nrenner/brouter-web.git" "url": "https://github.com/nrenner/brouter-web.git"
}, },
"license": "MIT", "license": "MIT",
"browserslist": "> 0.5%, last 2 versions, Firefox ESR, not dead, Explorer >= 10, Android >= 4.1, Safari >= 7, iOS >= 7", "browserslist": [
"> 0.5%",
"last 2 versions",
"Firefox ESR",
"not dead",
"Explorer >= 10",
"Android >= 4.1",
"Safari >= 7",
"iOS >= 7"
],
"dependencies": { "dependencies": {
"@bagage/leaflet.restoreview": "1.0.1", "@bagage/leaflet.restoreview": "1.0.1",
"@mapbox/polyline": "^0.2.0", "@mapbox/polyline": "^0.2.0",
@ -70,6 +80,8 @@
"autoprefixer": "^8.1.0", "autoprefixer": "^8.1.0",
"browser-sync": "^2.26.7", "browser-sync": "^2.26.7",
"del": "^1.1.1", "del": "^1.1.1",
"eslint": "^6.6.0",
"eslint-plugin-compat": "^3.3.0",
"gulp": "^4.0.2", "gulp": "^4.0.2",
"gulp-bump": "^2.7.0", "gulp-bump": "^2.7.0",
"gulp-cached": "^1.0.4", "gulp-cached": "^1.0.4",

587
yarn.lock

File diff suppressed because it is too large Load diff