From b388a1e87328950438ddcf2c0d1db350e45d7c68 Mon Sep 17 00:00:00 2001 From: etimberg Date: Wed, 2 Dec 2015 21:08:52 -0500 Subject: [PATCH 1/3] Pipe the build through UMD to get proper UMD headers --- gulpfile.js | 10 +++++++++- package.json | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 4448e0d5f..3eb792c4b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,7 +13,8 @@ var gulp = require('gulp'), fs = require('fs'), package = require('./package.json'), bower = require('./bower.json'), - karma = require('gulp-karma'); + karma = require('gulp-karma'), + umd = require('gulp-umd'); var srcDir = './src/'; var testDir = './test/'; @@ -72,6 +73,13 @@ function buildTask() { return gulp.src(srcFiles) .pipe(concat('Chart.js')) .pipe(replace('{{ version }}', package.version)) + .pipe(umd({ + // We want a global always to ensure that we match previous behaviour + templateName: 'returnExportsGlobal', + dependencies: function() { + return ['moment'] + } + })) .pipe(gulp.dest(outputDir)) .pipe(uglify({ preserveComments: 'some' diff --git a/package.json b/package.json index c665c6901..125e64cc7 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ "karma-firefox-launcher": "^0.1.6", "karma-jasmine": "^0.3.6", "karma-jasmine-html-reporter": "^0.1.8", - "semver": "^3.0.1" + "semver": "^3.0.1", + "gulp-umd": "~0.2.0" }, "spm": { "main": "Chart.js" From 40c8289ce886e47098d89448d940a8c12e7ade1c Mon Sep 17 00:00:00 2001 From: etimberg Date: Wed, 2 Dec 2015 21:10:51 -0500 Subject: [PATCH 2/3] Time scale uses moment loaded through UMD --- src/scales/scale.time.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index ad8fee7d4..ea63feed2 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -1,7 +1,7 @@ -(function() { +(function(moment) { "use strict"; - if (!window.moment) { + if (!moment) { console.warn('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at http://momentjs.com/'); return; } @@ -226,4 +226,4 @@ }); Chart.scaleService.registerScaleType("time", TimeScale, defaultConfig); -}).call(this); +}).call(this, moment); From 95a172df060fcd082530182ac03cc693d45780eb Mon Sep 17 00:00:00 2001 From: etimberg Date: Wed, 2 Dec 2015 22:15:03 -0500 Subject: [PATCH 3/3] Remove old and stuff. Use the correct color variable instead of window.color --- src/core/core.helpers.js | 9 +++++---- src/core/core.js | 8 -------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/core/core.helpers.js b/src/core/core.helpers.js index 08fc3a419..2fc62ec2f 100644 --- a/src/core/core.helpers.js +++ b/src/core/core.helpers.js @@ -246,9 +246,10 @@ })(), warn = helpers.warn = function(str) { //Method for warning of errors - if (window.console && typeof window.console.warn === "function") console.warn(str); + if (console && typeof console.warn === "function") { + console.warn(str); + } }, - amd = helpers.amd = (typeof define === 'function' && define.amd), //-- Math methods isNumber = helpers.isNumber = function(n) { return !isNaN(parseFloat(n)) && isFinite(n); @@ -787,11 +788,11 @@ ctx.closePath(); }, color = helpers.color = function(color) { - if (!window.Color) { + if (!root.Color) { console.log('Color.js not found!'); return color; } - return window.Color(color); + return root.Color(color); }, addResizeListener = helpers.addResizeListener = function(node, callback) { // Hide an iframe before the node diff --git a/src/core/core.js b/src/core/core.js index c8687e973..31460f4fe 100755 --- a/src/core/core.js +++ b/src/core/core.js @@ -109,14 +109,6 @@ }, }; - if (typeof amd !== 'undefined') { - define(function() { - return Chart; - }); - } else if (typeof module === 'object' && module.exports) { - module.exports = Chart; - } - root.Chart = Chart; Chart.noConflict = function() {