From 7c4009965a3f5af3c92319b32beee853515d1aac Mon Sep 17 00:00:00 2001 From: David Larlet Date: Sun, 21 Jan 2024 14:02:16 -0500 Subject: [PATCH] Use minified versions + sourcemaps of vendor statics --- scripts/vendorsjs.sh | 31 +++++++++++------------ umap/static/umap/test/index.html | 43 +++++++++++++++++++------------- umap/storage.py | 27 +++++--------------- umap/templates/umap/css.html | 16 ++++++------ umap/templates/umap/js.html | 16 ++++++------ 5 files changed, 62 insertions(+), 71 deletions(-) diff --git a/scripts/vendorsjs.sh b/scripts/vendorsjs.sh index 07c33cd7..02bdab01 100755 --- a/scripts/vendorsjs.sh +++ b/scripts/vendorsjs.sh @@ -1,33 +1,32 @@ #!/usr/bin/env sh mkdir -p umap/static/umap/vendors/leaflet/ && cp -r node_modules/leaflet/dist/** umap/static/umap/vendors/leaflet/ -mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet-editable/src/*.js umap/static/umap/vendors/editable/ -mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet.path.drag/src/*.js umap/static/umap/vendors/editable/ -mkdir -p umap/static/umap/vendors/hash/ && cp -r node_modules/leaflet-hash/*.js umap/static/umap/vendors/hash/ -mkdir -p umap/static/umap/vendors/i18n/ && cp -r node_modules/leaflet-i18n/*.js umap/static/umap/vendors/i18n/ +mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet-editable/src/Leaflet.Editable.js umap/static/umap/vendors/editable/ +mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet.path.drag/src/Path.Drag.js umap/static/umap/vendors/editable/ +mkdir -p umap/static/umap/vendors/hash/ && cp -r node_modules/leaflet-hash/leaflet-hash.js umap/static/umap/vendors/hash/ +mkdir -p umap/static/umap/vendors/i18n/ && cp -r node_modules/leaflet-i18n/Leaflet.i18n.js umap/static/umap/vendors/i18n/ mkdir -p umap/static/umap/vendors/editinosm/ && cp -r node_modules/leaflet-editinosm/Leaflet.EditInOSM.* umap/static/umap/vendors/editinosm/ mkdir -p umap/static/umap/vendors/editinosm/ && cp -r node_modules/leaflet-editinosm/edit-in-osm.png umap/static/umap/vendors/editinosm/ -mkdir -p umap/static/umap/vendors/minimap/ && cp -r node_modules/leaflet-minimap/src/** umap/static/umap/vendors/minimap/ -mkdir -p umap/static/umap/vendors/loading/ && cp -r node_modules/leaflet-loading/src/** umap/static/umap/vendors/loading/ +mkdir -p umap/static/umap/vendors/minimap/ && cp -r node_modules/leaflet-minimap/dist/** umap/static/umap/vendors/minimap/ +mkdir -p umap/static/umap/vendors/loading/ && cp -r node_modules/leaflet-loading/src/Control.Loading.* umap/static/umap/vendors/loading/ mkdir -p umap/static/umap/vendors/markercluster/ && cp -r node_modules/leaflet.markercluster/dist/** umap/static/umap/vendors/markercluster/ -mkdir -p umap/static/umap/vendors/contextmenu/ && cp -r node_modules/leaflet-contextmenu/dist/** umap/static/umap/vendors/contextmenu/ -mkdir -p umap/static/umap/vendors/heat/ && cp -r node_modules/leaflet.heat/dist/** umap/static/umap/vendors/heat/ +mkdir -p umap/static/umap/vendors/contextmenu/ && cp -r node_modules/leaflet-contextmenu/dist/leaflet.contextmenu.min.* umap/static/umap/vendors/contextmenu/ +mkdir -p umap/static/umap/vendors/heat/ && cp -r node_modules/leaflet.heat/dist/leaflet-heat.js umap/static/umap/vendors/heat/ mkdir -p umap/static/umap/vendors/fullscreen/ && cp -r node_modules/leaflet-fullscreen/dist/** umap/static/umap/vendors/fullscreen/ mkdir -p umap/static/umap/vendors/toolbar/ && cp -r node_modules/leaflet-toolbar/dist/** umap/static/umap/vendors/toolbar/ -mkdir -p umap/static/umap/vendors/formbuilder/ && cp -r node_modules/leaflet-formbuilder/*.js umap/static/umap/vendors/formbuilder/ +mkdir -p umap/static/umap/vendors/formbuilder/ && cp -r node_modules/leaflet-formbuilder/Leaflet.FormBuilder.js umap/static/umap/vendors/formbuilder/ mkdir -p umap/static/umap/vendors/measurable/ && cp -r node_modules/leaflet-measurable/Leaflet.Measurable.* umap/static/umap/vendors/measurable/ -mkdir -p umap/static/umap/vendors/photon/ && cp -r node_modules/leaflet.photon/*.js umap/static/umap/vendors/photon/ -mkdir -p umap/static/umap/vendors/csv2geojson/ && cp -r node_modules/csv2geojson/*.js umap/static/umap/vendors/csv2geojson/ -mkdir -p umap/static/umap/vendors/togeojson/ && cp -r node_modules/@tmcw/togeojson/dist/togeojson.umd.js umap/static/umap/vendors/togeojson/togeojson.js +mkdir -p umap/static/umap/vendors/photon/ && cp -r node_modules/leaflet.photon/leaflet.photon.js umap/static/umap/vendors/photon/ +mkdir -p umap/static/umap/vendors/csv2geojson/ && cp -r node_modules/csv2geojson/csv2geojson.js umap/static/umap/vendors/csv2geojson/ +mkdir -p umap/static/umap/vendors/togeojson/ && cp -r node_modules/@tmcw/togeojson/dist/togeojson.umd.* umap/static/umap/vendors/togeojson/ mkdir -p umap/static/umap/vendors/osmtogeojson/ && cp -r node_modules/osmtogeojson/osmtogeojson.js umap/static/umap/vendors/osmtogeojson/ mkdir -p umap/static/umap/vendors/georsstogeojson/ && cp -r node_modules/georsstogeojson/GeoRSSToGeoJSON.js umap/static/umap/vendors/georsstogeojson/ mkdir -p umap/static/umap/vendors/togpx/ && cp -r node_modules/togpx/togpx.js umap/static/umap/vendors/togpx/ mkdir -p umap/static/umap/vendors/tokml && cp -r node_modules/tokml/tokml.js umap/static/umap/vendors/tokml -mkdir -p umap/static/umap/vendors/locatecontrol/ && cp -r node_modules/leaflet.locatecontrol/dist/L.Control.Locate.css umap/static/umap/vendors/locatecontrol/ -mkdir -p umap/static/umap/vendors/locatecontrol/ && cp -r node_modules/leaflet.locatecontrol/src/L.Control.Locate.js umap/static/umap/vendors/locatecontrol/ -mkdir -p umap/static/umap/vendors/dompurify/ && cp -r node_modules/dompurify/dist/purify.js umap/static/umap/vendors/dompurify/ +mkdir -p umap/static/umap/vendors/locatecontrol/ && cp -r node_modules/leaflet.locatecontrol/dist/L.Control.Locate.min.* umap/static/umap/vendors/locatecontrol/ +mkdir -p umap/static/umap/vendors/dompurify/ && cp -r node_modules/dompurify/dist/purify.min.* umap/static/umap/vendors/dompurify/ mkdir -p umap/static/umap/vendors/colorbrewer/ && cp node_modules/colorbrewer/index.js umap/static/umap/vendors/colorbrewer/colorbrewer.js -mkdir -p umap/static/umap/vendors/simple-statistics/ && cp node_modules/simple-statistics/dist/simple-statistics.min.js umap/static/umap/vendors/simple-statistics/ +mkdir -p umap/static/umap/vendors/simple-statistics/ && cp node_modules/simple-statistics/dist/simple-statistics.min.* umap/static/umap/vendors/simple-statistics/ mkdir -p umap/static/umap/vendors/iconlayers/ && cp node_modules/leaflet-iconlayers/dist/* umap/static/umap/vendors/iconlayers/ echo 'Done!' diff --git a/umap/static/umap/test/index.html b/umap/static/umap/test/index.html index d809370f..d802ed73 100644 --- a/umap/static/umap/test/index.html +++ b/umap/static/umap/test/index.html @@ -4,31 +4,34 @@ Umap front Tests + - + - + - - + + + - - + + - - - - + + + + + @@ -36,34 +39,38 @@ + + - - + + - - - - + + + + + + + + diff --git a/umap/storage.py b/umap/storage.py index f3987ba8..43d82635 100644 --- a/umap/storage.py +++ b/umap/storage.py @@ -38,34 +38,19 @@ class UmapManifestStaticFilesStorage(ManifestStaticFilesStorage): ), ) - # https://github.com/django/django/blob/0fcee1676c7f14bb08e2cc662898dee56d9cf207↩ - # /django/contrib/staticfiles/storage.py#L78C5-L105C6 - patterns = ( - ( - "*.css", - ( - r"""(?Purl\(['"]{0,1}\s*(?P.*?)["']{0,1}\))""", - ( - r"""(?P@import\s*["']\s*(?P.*?)["'])""", - """@import url("%(url)s")""", - ), - # Remove CSS source map rewriting - ), - ), - # Remove JS source map rewriting - ) - def post_process(self, paths, **options): collected = super().post_process(paths, **options) for original_path, processed_path, processed in collected: if processed_path.endswith(".js"): path = Path(settings.STATIC_ROOT) / processed_path initial = path.read_text() - minified = jsmin(initial) - path.write_text(minified) + if "sourceMappingURL" not in initial: # Already minified. + minified = jsmin(initial) + path.write_text(minified) if processed_path.endswith(".css"): path = Path(settings.STATIC_ROOT) / processed_path initial = path.read_text() - minified = cssmin(initial) - path.write_text(minified) + if "sourceMappingURL" not in initial: # Already minified. + minified = cssmin(initial) + path.write_text(minified) yield original_path, processed_path, True diff --git a/umap/templates/umap/css.html b/umap/templates/umap/css.html index 5d91e589..186b1dfa 100644 --- a/umap/templates/umap/css.html +++ b/umap/templates/umap/css.html @@ -9,9 +9,9 @@ + href="{% static 'umap/vendors/minimap/Control.MiniMap.min.css' %}" /> + href="{% static 'umap/vendors/contextmenu/leaflet.contextmenu.min.css' %}" /> + href="{% static 'umap/vendors/locatecontrol/L.Control.Locate.min.css' %}" /> - - - - + + + + - + diff --git a/umap/templates/umap/js.html b/umap/templates/umap/js.html index 62df6bab..740610cd 100644 --- a/umap/templates/umap/js.html +++ b/umap/templates/umap/js.html @@ -6,25 +6,25 @@ - + - + - - + + - - + + - - + + {% if locale %}