imports_webapp.js (2773B)
1 'use strict'; 2 3 const topLevelFiles = ['src/index.js']; 4 const filesWithSideEffects = [ 5 'src/lib/knockout.component.progress/progress.js', 6 'src/lib/leaflet.control.azimuth/index.js', 7 'src/lib/leaflet.control.caption/index.js', 8 'src/lib/leaflet.control.coordinates/index.js', 9 'src/lib/leaflet.control.jnx/hash-state.js', 10 'src/lib/leaflet.control.jnx/index.js', 11 'src/lib/leaflet.control.layers.configure/customLayer.js', 12 'src/lib/leaflet.control.layers.events/index.js', 13 'src/lib/leaflet.control.panoramas/index.js', 14 'src/lib/leaflet.control.printPages/control.js', 15 'src/lib/leaflet.control.track-list/control-ruler.js', 16 'src/lib/leaflet.control.track-list/track-list.hash-state.js', 17 'src/lib/leaflet.hashState/Leaflet.Control.Layers.js', 18 'src/lib/leaflet.hashState/Leaflet.Map.js', 19 'src/lib/leaflet.hashState/leaflet.hashState.js', 20 'src/lib/leaflet.layer.canvasMarkers/index.js', 21 'src/lib/leaflet.layer.geojson-ajax/index.js', 22 'src/lib/leaflet.layer.google/index.js', 23 'src/lib/leaflet.layer.rasterize/Bing.js', 24 'src/lib/leaflet.layer.rasterize/CanvasMarkers.js', 25 'src/lib/leaflet.layer.rasterize/Google.js', 26 'src/lib/leaflet.layer.rasterize/MeasuredLine.js', 27 'src/lib/leaflet.layer.rasterize/TileLayer.js', 28 'src/lib/leaflet.layer.rasterize/WestraPasses.js', 29 'src/lib/leaflet.layer.rasterize/Yandex.js', 30 'src/lib/leaflet.layer.rasterize/RetinaTileLayer.js', 31 'src/lib/leaflet.layer.soviet-topomaps-grid/index.js', 32 'src/lib/leaflet.layer.westraPasses/index.js', 33 'src/lib/leaflet.layer.wikimapia/index.js', 34 'src/lib/leaflet.layer.yandex/index.js', 35 'src/lib/leaflet.layer.TileLayer.cutline/index.js', 36 'src/lib/leaflet.lineutil.simplifyLatLngs/index.js', 37 'src/lib/leaflet.placemark/index.js', 38 'src/lib/leaflet.polyline-edit/index.js', 39 'src/lib/leaflet.polyline-measure/index.js', 40 'src/vendored/mapbbcode/FunctionButton.js', 41 ]; 42 43 const filesWithExportAndSideEffects = [ 44 'src/lib/leaflet.control.track-list/track-list', 45 'src/lib/leaflet.control.commons', 46 ]; 47 48 const filesMissingExportForUnassigned = [ 49 ...filesWithSideEffects.map((s) => s.replace(/(\/index)?\.js$/u, '').replace(/^src\//u, '~/')), 50 ...filesWithSideEffects.map((s) => s.replace(/(\/index)?\.js$/u, '')), 51 ...filesWithExportAndSideEffects, 52 ...filesWithExportAndSideEffects.map((s) => s.replace(/^src\//u, '~/')), 53 ]; 54 55 module.exports = { 56 rules: { 57 'import/no-unused-modules': [ 58 'error', 59 {missingExports: true, unusedExports: true, ignoreExports: [...topLevelFiles, ...filesWithSideEffects]}, 60 ], 61 'import/no-unassigned-import': ['error', {allow: ['**/*.css', ...filesMissingExportForUnassigned]}], 62 }, 63 };