d3/Makefile

289 строки
6.3 KiB
Makefile
Исходник Обычный вид История

# See the README for installation instructions.
JS_UGLIFY = node_modules/.bin/uglifyjs
JS_TESTER = node_modules/.bin/vows
LOCALE ?= en_US
2010-09-28 22:26:55 +04:00
all: \
d3.js \
d3.min.js \
2012-09-14 23:38:35 +04:00
component.json \
2011-10-07 23:19:30 +04:00
package.json
2010-09-28 22:26:55 +04:00
# Modify this rule to build your own custom release.
2010-09-28 22:26:55 +04:00
.INTERMEDIATE d3.js: \
src/start.js \
d3.core.js \
d3.scale.js \
d3.svg.js \
d3.behavior.js \
d3.layout.js \
d3.dsv.js \
d3.geo.js \
d3.geom.js \
d3.time.js \
src/end.js
d3.core.js: \
src/core/core.js \
src/core/format-$(LOCALE).js \
src/compat/date.js \
src/compat/style.js \
src/core/class.js \
src/core/array.js \
src/core/map.js \
src/core/set.js \
2012-03-17 04:16:58 +04:00
src/core/identity.js \
src/core/true.js \
src/core/functor.js \
src/core/rebind.js \
src/core/ascending.js \
src/core/descending.js \
src/core/mean.js \
2011-10-11 04:49:53 +04:00
src/core/median.js \
2011-01-17 23:27:29 +03:00
src/core/min.js \
src/core/max.js \
src/core/extent.js \
src/core/random.js \
2011-10-11 04:49:53 +04:00
src/core/number.js \
2011-06-15 20:44:58 +04:00
src/core/sum.js \
2011-07-10 02:15:14 +04:00
src/core/quantile.js \
2012-12-08 00:44:21 +04:00
src/core/shuffle.js \
2011-11-24 00:44:04 +04:00
src/core/transpose.js \
src/core/zip.js \
2011-05-22 04:26:29 +04:00
src/core/bisect.js \
src/core/nest.js \
src/core/keys.js \
src/core/values.js \
src/core/entries.js \
2011-05-12 21:25:05 +04:00
src/core/permute.js \
src/core/merge.js \
src/core/collapse.js \
src/core/range.js \
src/core/requote.js \
2011-05-21 01:20:17 +04:00
src/core/round.js \
src/core/xhr.js \
src/core/text.js \
src/core/json.js \
src/core/html.js \
src/core/xml.js \
src/core/ns.js \
src/core/dispatch.js \
src/core/format.js \
src/core/formatPrefix.js \
src/core/ease.js \
src/core/event.js \
src/core/transform.js \
src/core/interpolate.js \
src/core/uninterpolate.js \
2012-09-29 02:17:54 +04:00
src/core/color.js \
src/core/rgb.js \
src/core/hsl.js \
src/core/hcl.js \
src/core/lab.js \
src/core/xyz.js \
src/core/selection.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/selection-select.js \
src/core/selection-selectAll.js \
src/core/selection-attr.js \
src/core/selection-classed.js \
src/core/selection-style.js \
src/core/selection-property.js \
src/core/selection-text.js \
src/core/selection-html.js \
src/core/selection-append.js \
src/core/selection-insert.js \
src/core/selection-remove.js \
src/core/selection-data.js \
2012-02-21 22:31:15 +04:00
src/core/selection-datum.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/selection-filter.js \
src/core/selection-order.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/selection-sort.js \
src/core/selection-on.js \
src/core/selection-each.js \
src/core/selection-call.js \
src/core/selection-empty.js \
src/core/selection-node.js \
src/core/selection-transition.js \
src/core/selection-root.js \
src/core/selection-enter.js \
src/core/selection-enter-select.js \
src/core/transition.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/transition-select.js \
src/core/transition-selectAll.js \
src/core/transition-filter.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/transition-attr.js \
src/core/transition-style.js \
src/core/transition-text.js \
src/core/transition-remove.js \
src/core/transition-ease.js \
Prototype injection! This changes the core implementation of selections and transitions to use prototype injection rather than direct extension. This offers better performance by eliminating per-instance overhead from closures and assignment. On browsers that don't support prototype injection, we fall back to direct extension. This commit isn't just about performance, though; the code ends up being a lot cleaner and more separable if we force methods to rely solely on `this`, rather than capturing surrounding variables with closures. Most importantly, transitions are now "transparent", like selections. Rather than opaque objects, transitions are now arrays of nodes, similar to selections. The nodes are wrapped in an object that stores the delay and duration, which means you can now inspect the computed delay and duration. (This was the original motivation for this commit, and will allow chart components to be call'd on transitions as well as selections.) Transitions now support the `each` operator with one argument, which has the same behavior as on selections. The `each` operator now passes a third argument containing the group index (`j`). Transitions now also support a `tween` operator, which is a generic mechanism for doing things during a transition; use this in place of a "tick" event. This commit also fixes a few bugs. The enter selection now supports the empty operator; we can add other operators in the future more easily, if we so choose. Transition's attr operator now supports namespaced attributes. Selection's property operator no longer parses property namespaces.
2011-08-21 03:27:25 +04:00
src/core/transition-delay.js \
src/core/transition-duration.js \
src/core/transition-each.js \
src/core/transition-transition.js \
Transition reselection. It is now possible to reselect elements with scheduled transitions and redefine associated tweens; this enables "post-selection" to customize the behavior of reusable components undergoing transitions, such as an axis. This commit also makes it much easier to sequence transitions. Previously, a transition's tweens were stored privately by the transition and could only be accessed through the transition. This made it impossible to modify transitions created by components: the transition is not accessible externally, and cannot be reselected from the document. Consider the following snippet: g.select(".x.axis") .call(xAxis) .selectAll("text") .attr("dy", null); If `g` is a selection, then this code alters the appearance of the axis as expected. However, if `g` is a transition, then transition.selectAll creates a new concurrent transition, and now multiple tweens compete to set the "dy" attribute. Oy! Under the new design, an element's scheduled tweens are stored semi-privately on the node (in the existing node.__transition__). Transition parameters can thus be reselected and modified by transitions that share the same id. If you now reselect a transitioning element, you modify the transition rather creating a competing transition; this should be less surprising and allow greater control. As a side-effect of this change, it is no longer possible to schedule concurrent transitions on the same element, even with the same id: only one transition may be active on a given element at any time. (Note that you can still schedule multiple future transitions on the same element, and concurrent transitions on different elements.) For example, you could previously schedule overlapping transitions with different easing functions, delays or durations, provided you were careful to avoid conflict. This seems like a relatively obscure use-case compared to modifying a transition, so I believe this is a reasonable change. This commit also changes transition.transition, such that the returned transition starts at the end of the originating transition, rather than overlapping. This makes it much easier to schedule sequenced transitions without the complexity of transition.each("end") and d3.select(this). Also, transitions are now simply arrays of nodes, consistent with selections!
2012-10-05 23:00:16 +04:00
src/core/transition-tween.js \
src/core/timer.js \
2012-02-20 00:10:47 +04:00
src/core/mouse.js \
src/core/touches.js \
src/core/noop.js
d3.scale.js: \
src/scale/scale.js \
src/scale/nice.js \
src/scale/linear.js \
src/scale/bilinear.js \
src/scale/polylinear.js \
src/scale/log.js \
src/scale/pow.js \
src/scale/sqrt.js \
src/scale/ordinal.js \
2011-01-03 21:30:36 +03:00
src/scale/category.js \
src/scale/quantile.js \
2012-02-20 08:52:44 +04:00
src/scale/quantize.js \
2012-08-09 07:33:23 +04:00
src/scale/threshold.js \
2012-02-20 08:52:44 +04:00
src/scale/identity.js
d3.svg.js: \
src/svg/svg.js \
src/svg/arc.js \
src/svg/line.js \
2011-06-23 00:17:18 +04:00
src/svg/line-radial.js \
src/svg/area.js \
2011-06-24 07:49:33 +04:00
src/svg/area-radial.js \
2010-11-27 12:07:00 +03:00
src/svg/chord.js \
src/svg/diagonal.js \
2011-06-23 01:33:34 +04:00
src/svg/diagonal-radial.js \
src/svg/symbol.js \
src/svg/axis.js \
src/svg/brush.js
d3.behavior.js: \
src/behavior/behavior.js \
src/behavior/drag.js \
src/behavior/zoom.js
d3.layout.js: \
src/layout/layout.js \
src/layout/bundle.js \
src/layout/chord.js \
2011-03-04 02:43:57 +03:00
src/layout/force.js \
src/layout/partition.js \
src/layout/pie.js \
2011-01-17 23:27:29 +03:00
src/layout/stack.js \
2011-05-01 12:48:01 +04:00
src/layout/histogram.js \
src/layout/hierarchy.js \
src/layout/pack.js \
src/layout/cluster.js \
src/layout/tree.js \
src/layout/treemap.js
d3.geo.js: \
src/geo/geo.js \
src/geo/stream.js \
src/geo/spherical.js \
src/geo/cartesian.js \
src/geo/distance.js \
2012-12-12 13:25:22 +04:00
src/geo/resample.js \
src/geo/albers-usa.js \
src/geo/albers.js \
src/geo/azimuthal-equal-area.js \
src/geo/azimuthal-equidistant.js \
src/geo/bounds.js \
src/geo/centroid.js \
src/geo/circle.js \
src/geo/clip.js \
src/geo/clip-antimeridian.js \
src/geo/clip-circle.js \
src/geo/compose.js \
src/geo/equirectangular.js \
src/geo/gnomonic.js \
src/geo/graticule.js \
src/geo/haversin.js \
src/geo/interpolate.js \
src/geo/greatArc.js \
src/geo/mercator.js \
src/geo/orthographic.js \
src/geo/path.js \
2012-12-13 04:42:07 +04:00
src/geo/path-buffer.js \
src/geo/path-context.js \
src/geo/path-area.js \
src/geo/path-centroid.js \
src/geo/area.js \
2012-12-07 07:50:36 +04:00
src/geo/centroid.js \
2013-01-22 12:54:00 +04:00
src/geo/length.js \
src/geo/projection.js \
src/geo/rotation.js \
src/geo/stereographic.js \
2012-10-02 08:50:18 +04:00
src/geo/azimuthal.js
d3.dsv.js: \
src/dsv/dsv.js \
src/dsv/csv.js \
src/dsv/tsv.js
2010-11-06 02:23:53 +03:00
d3.time.js: \
src/time/time.js \
src/time/format-$(LOCALE).js \
src/time/format.js \
2011-06-15 11:16:46 +04:00
src/time/format-utc.js \
src/time/format-iso.js \
src/time/interval.js \
2011-07-19 04:56:30 +04:00
src/time/second.js \
src/time/minute.js \
src/time/hour.js \
src/time/day.js \
src/time/week.js \
src/time/month.js \
src/time/year.js \
2011-07-20 04:08:40 +04:00
src/time/scale.js \
src/time/scale-utc.js
2010-11-06 02:23:53 +03:00
d3.geom.js: \
src/geom/geom.js \
2010-11-23 03:21:46 +03:00
src/geom/hull.js \
src/geom/polygon.js \
src/geom/voronoi.js \
src/geom/delaunay.js \
src/geom/quadtree.js
test: all
@$(JS_TESTER)
2011-03-05 02:25:09 +03:00
benchmark: all
@node test/geo/benchmark.js
%.min.js: %.js Makefile
@rm -f $@
2012-11-02 23:50:20 +04:00
$(JS_UGLIFY) $< -c -m -o $@
2010-09-28 22:26:55 +04:00
2012-10-06 18:11:07 +04:00
d3%js: Makefile
@rm -f $@
2012-11-02 23:50:20 +04:00
@cat $(filter %.js,$^) > $@.tmp
$(JS_UGLIFY) $@.tmp -b indent-level=2 -o $@
@rm $@.tmp
@chmod a-w $@
2010-09-28 22:26:55 +04:00
2012-09-14 23:38:35 +04:00
component.json: src/component.js
@rm -f $@
node src/component.js > $@
@chmod a-w $@
package.json: src/package.js
@rm -f $@
node src/package.js > $@
@chmod a-w $@
src/core/format-$(LOCALE).js: src/locale.js src/core/format-locale.js
LC_NUMERIC=$(LOCALE) locale -ck LC_NUMERIC | node src/locale.js src/core/format-locale.js > $@
src/time/format-$(LOCALE).js: src/locale.js src/time/format-locale.js
LC_TIME=$(LOCALE) locale -ck LC_TIME | node src/locale.js src/time/format-locale.js > $@
.INTERMEDIATE: \
src/core/format-$(LOCALE).js \
src/time/format-$(LOCALE).js
2010-09-28 22:26:55 +04:00
clean:
2012-09-14 23:48:53 +04:00
rm -f d3*.js package.json component.json