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