- To build using UglifyJS, install Node, run npm install -g jake, then npm install -g uglify-js, then run this in the root Leaflet directory:
+ Install Node, install Jake & UglifyJS (npm install -g jake; npm install -g uglify-js), then run this in the root Leaflet directory:
+
Building using Closure Compiler
- To build using Closure Compiler, download and extract it into lib/closure-compiler directory and run this command in the root Leaflet directory:
+ Download Closure Compiler and extract it into lib/closure-compiler directory and run this command in the root Leaflet directory:
@@ -108,10 +120,10 @@
var checks = deplist.getElementsByTagName('input');
var compsStr = '';
- for (var i = 0; i < checks.length; i++) {
+ for (var i = 0, len = checks.length; i < len; i++) {
if (checks[i].checked) {
var srcs = deps[checks[i].id].src;
- for (var j = 0; j < srcs.length; j++) {
+ for (var j = 0, len2 = srcs.length; j < len2; j++) {
files[srcs[j]] = true;
}
compsStr = '1' + compsStr;
diff --git a/build/deps.js b/build/deps.js
index a78daa22..b49faeda 100644
--- a/build/deps.js
+++ b/build/deps.js
@@ -2,9 +2,9 @@ var deps = {
Core: {
src: ['Leaflet.js',
'core/Util.js',
- 'core/Class.js',
- 'core/Events.js',
- 'core/Browser.js',
+ 'core/Class.js',
+ 'core/Events.js',
+ 'core/Browser.js',
'geometry/Point.js',
'geometry/Bounds.js',
'geometry/Transformation.js',
@@ -20,78 +20,78 @@ var deps = {
'map/Map.js'],
desc: 'The core of the library, including OOP, events, DOM facilities, basic units, projections (EPSG:3857 and EPSG:4326) and the base Map class.'
},
-
-
+
+
EPSG3395: {
src: ['geo/projection/Projection.Mercator.js',
'geo/crs/CRS.EPSG3395.js'],
desc: 'EPSG:3395 projection (used by some map providers).',
heading: 'Additional projections'
},
-
+
TileLayer: {
src: ['layer/tile/TileLayer.js'],
desc: 'The base class for displaying tile layers on the map.',
heading: 'Layers'
},
-
+
TileLayerWMS: {
src: ['layer/tile/TileLayer.WMS.js'],
desc: 'WMS tile layer.',
deps: ['TileLayer']
},
-
+
TileLayerCanvas: {
src: ['layer/tile/TileLayer.Canvas.js'],
desc: 'Tile layer made from canvases (for custom drawing purposes).',
deps: ['TileLayer']
},
-
+
ImageOverlay: {
src: ['layer/ImageOverlay.js'],
desc: 'Used to display an image over a particular rectangular area of the map.'
},
-
+
Marker: {
src: ['layer/marker/Icon.js', 'layer/marker/Marker.js'],
desc: 'Markers to put on the map.'
},
-
+
Popup: {
src: ['layer/Popup.js', 'layer/marker/Marker.Popup.js', 'map/ext/Map.Popup.js'],
deps: ['Marker'],
desc: 'Used to display the map popup (used mostly for binding HTML data to markers and paths on click).'
},
-
+
LayerGroup: {
src: ['layer/LayerGroup.js'],
desc: 'Allows grouping several layers to handle them as one.'
},
-
+
FeatureGroup: {
src: ['layer/FeatureGroup.js'],
deps: ['LayerGroup', 'Popup'],
desc: 'Extends LayerGroup with mouse events and bindPopup method shared between layers.'
},
-
-
+
+
Path: {
src: ['layer/vector/Path.js', 'layer/vector/Path.SVG.js', 'layer/vector/Path.Popup.js'],
desc: 'Vector rendering core (SVG-powered), enables overlaying the map with SVG paths.',
heading: 'Vector layers'
},
-
+
PathVML: {
src: ['layer/vector/Path.VML.js'],
desc: 'VML fallback for vector rendering core (IE 6-8).'
},
-
+
Polyline: {
src: ['geometry/LineUtil.js', 'layer/vector/Polyline.js'],
deps: ['Path'],
desc: 'Polyline overlays.'
},
-
+
Polygon: {
src: ['geometry/PolyUtil.js', 'layer/vector/Polygon.js'],
deps: ['Polyline'],
@@ -109,13 +109,13 @@ var deps = {
deps: ['Path'],
desc: 'Circle overlays (with radius in meters).'
},
-
+
CircleMarker: {
src: ['layer/vector/CircleMarker.js'],
deps: ['Circle'],
desc: 'Circle overlays with a constant pixel radius.'
},
-
+
PathCanvas: {
src: ['layer/vector/canvas/Path.Canvas.js',
'layer/vector/canvas/Polyline.Canvas.js',
@@ -124,14 +124,14 @@ var deps = {
deps: ['Path', 'Polyline', 'Polygon', 'Circle'],
desc: 'Canvas fallback for vector layers (makes them work on Android 2+).'
},
-
+
GeoJSON: {
src: ['layer/GeoJSON.js'],
deps: ['Marker', 'MultiPoly', 'FeatureGroup'],
desc: 'GeoJSON layer, parses the data and adds corresponding layers above.'
},
-
+
MapDrag: {
src: ['dom/DomEvent.js',
'dom/Draggable.js',
@@ -140,7 +140,7 @@ var deps = {
desc: 'Makes the map draggable (by mouse or touch).',
heading: 'Interaction'
},
-
+
MouseZoom: {
src: ['dom/DomEvent.js',
'handler/Handler.js',
@@ -148,7 +148,7 @@ var deps = {
'handler/ScrollWheelZoom.js'],
desc: 'Scroll wheel zoom and double click zoom on the map.'
},
-
+
TouchZoom: {
src: ['dom/DomEvent.js',
'dom/DomEvent.DoubleTap.js',
@@ -157,69 +157,69 @@ var deps = {
deps: ['MapAnimationZoom'],
desc: 'Enables smooth touch zooming on iOS and double tap on iOS/Android.'
},
-
+
ShiftDragZoom: {
src: ['handler/ShiftDragZoom.js'],
desc: 'Enables zooming to bounding box by shift-dragging the map.'
},
-
+
MarkerDrag: {
src: ['handler/MarkerDrag.js'],
desc: 'Makes markers draggable (by mouse or touch).'
},
-
-
+
+
ControlZoom: {
- src: ['control/Control.js',
- 'map/ext/Map.Control.js',
+ src: ['control/Control.js',
+ 'map/ext/Map.Control.js',
'control/Control.Zoom.js'],
heading: 'Controls',
desc: 'Basic zoom control with two buttons (zoom in / zoom out).'
},
-
+
ControlAttrib: {
- src: ['control/Control.js',
- 'map/ext/Map.Control.js',
+ src: ['control/Control.js',
+ 'map/ext/Map.Control.js',
'control/Control.Attribution.js'],
desc: 'Attribution control.'
},
-
+
ControlLayers: {
- src: ['control/Control.js',
- 'map/ext/Map.Control.js',
+ src: ['control/Control.js',
+ 'map/ext/Map.Control.js',
'control/Control.Layers.js'],
desc: 'Layer Switcher control.'
},
-
-
- MapAnimationNative: {
+
+
+ AnimationNative: {
src: ['dom/DomEvent.js',
'dom/transition/Transition.js',
'dom/transition/Transition.Native.js'],
desc: 'Animation core that uses CSS3 Transitions (for powering pan & zoom animations). Works on mobile webkit-powered browsers and some modern desktop browsers.',
heading: 'Visual effects'
},
-
- MapAnimationFallback: {
+
+ AnimationTimer: {
src: ['dom/transition/Transition.Timer.js'],
- deps: ['MapAnimationNative'],
+ deps: ['AnimationNative'],
desc: 'Timer-based animation fallback for browsers that don\'t support CSS3 transitions.'
},
-
- MapAnimationPan: {
+
+ AnimationPan: {
src: ['map/ext/Map.PanAnimation.js'],
- deps: ['MapAnimationNative'],
+ deps: ['AnimationPan'],
desc: 'Panning animation. Can use both native and timer-based animation.'
},
-
- MapAnimationZoom: {
+
+ AnimationZoom: {
src: ['map/ext/Map.ZoomAnimation.js'],
- deps: ['MapAnimationPan', 'MapAnimationNative'],
+ deps: ['AnimationPan', 'AnimationNative'],
desc: 'Smooth zooming animation. So far it works only on browsers that support CSS3 Transitions.'
},
-
-
- MapGeolocation: {
+
+
+ Geolocation: {
src: ['map/ext/Map.Geolocation.js'],
desc: 'Adds Map#locate method and related events to make geolocation easier.',
heading: 'Misc'
@@ -228,4 +228,4 @@ var deps = {
if (typeof exports !== 'undefined') {
exports.deps = deps;
-}
\ No newline at end of file
+}