From c6c4a52257e992ed353198c098fe4a7bebae6651 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 9 Jan 2020 04:23:53 -0800 Subject: [PATCH] Switch most requires to imports (#6935) --- src/controllers/controller.bar.js | 12 ++-- src/controllers/controller.bubble.js | 10 +-- src/controllers/controller.doughnut.js | 18 +++--- src/controllers/controller.horizontalBar.js | 6 +- src/controllers/controller.line.js | 10 +-- src/controllers/controller.pie.js | 8 +-- src/controllers/controller.polarArea.js | 12 ++-- src/controllers/controller.radar.js | 12 ++-- src/controllers/controller.scatter.js | 6 +- src/controllers/index.js | 20 +++--- src/core/core.animation.js | 4 +- src/core/core.animator.js | 4 +- src/core/core.datasetController.js | 10 +-- src/core/core.layouts.js | 8 +-- src/core/core.plugins.js | 6 +- src/core/core.scale.js | 10 +-- src/core/core.scaleService.js | 8 +-- src/core/core.ticks.js | 6 +- src/core/core.tooltip.js | 10 +-- src/index.js | 68 +++++++++++++-------- src/platforms/platform.dom.js | 6 +- src/platforms/platform.js | 10 +-- src/plugins/index.js | 13 ++-- src/plugins/plugin.legend.js | 10 +-- src/plugins/plugin.title.js | 10 +-- 25 files changed, 161 insertions(+), 136 deletions(-) diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 956c2a680ca..5792ef213ca 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -1,11 +1,11 @@ 'use strict'; -var DatasetController = require('../core/core.datasetController'); -var defaults = require('../core/core.defaults'); -var elements = require('../elements/index'); -var helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; -var valueOrDefault = helpers.valueOrDefault; +const valueOrDefault = helpers.valueOrDefault; defaults._set('bar', { hover: { @@ -184,7 +184,7 @@ function isFloatBar(custom) { return custom && custom.barStart !== undefined && custom.barEnd !== undefined; } -module.exports = DatasetController.extend({ +export default DatasetController.extend({ dataElementType: elements.Rectangle, diff --git a/src/controllers/controller.bubble.js b/src/controllers/controller.bubble.js index cef5098a8d2..82c5c0f8941 100644 --- a/src/controllers/controller.bubble.js +++ b/src/controllers/controller.bubble.js @@ -1,9 +1,9 @@ 'use strict'; -const DatasetController = require('../core/core.datasetController'); -const defaults = require('../core/core.defaults'); -const elements = require('../elements/index'); -const helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; const resolve = helpers.options.resolve; @@ -34,7 +34,7 @@ defaults._set('bubble', { } }); -module.exports = DatasetController.extend({ +export default DatasetController.extend({ /** * @protected */ diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index 9db7db9b491..61caba2303c 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -1,15 +1,15 @@ 'use strict'; -var DatasetController = require('../core/core.datasetController'); -var defaults = require('../core/core.defaults'); -var elements = require('../elements/index'); -var helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; -var valueOrDefault = helpers.valueOrDefault; +const valueOrDefault = helpers.valueOrDefault; -var PI = Math.PI; -var DOUBLE_PI = PI * 2; -var HALF_PI = PI / 2; +const PI = Math.PI; +const DOUBLE_PI = PI * 2; +const HALF_PI = PI / 2; defaults._set('doughnut', { animation: { @@ -98,7 +98,7 @@ defaults._set('doughnut', { } }); -module.exports = DatasetController.extend({ +export default DatasetController.extend({ dataElementType: elements.Arc, diff --git a/src/controllers/controller.horizontalBar.js b/src/controllers/controller.horizontalBar.js index ae406197c90..ca04f3befbd 100644 --- a/src/controllers/controller.horizontalBar.js +++ b/src/controllers/controller.horizontalBar.js @@ -1,7 +1,7 @@ 'use strict'; -var BarController = require('./controller.bar'); -var defaults = require('../core/core.defaults'); +import BarController from './controller.bar'; +import defaults from '../core/core.defaults'; defaults._set('horizontalBar', { hover: { @@ -43,7 +43,7 @@ defaults._set('datasets', { } }); -module.exports = BarController.extend({ +export default BarController.extend({ /** * @private */ diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 887585e885f..756ac9e9ddc 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -1,9 +1,9 @@ 'use strict'; -const DatasetController = require('../core/core.datasetController'); -const defaults = require('../core/core.defaults'); -const elements = require('../elements/index'); -const helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; const valueOrDefault = helpers.valueOrDefault; const resolve = helpers.options.resolve; @@ -26,7 +26,7 @@ defaults._set('line', { } }); -module.exports = DatasetController.extend({ +export default DatasetController.extend({ datasetElementType: elements.Line, diff --git a/src/controllers/controller.pie.js b/src/controllers/controller.pie.js index 2f50c9d4d88..2589c09d6ba 100644 --- a/src/controllers/controller.pie.js +++ b/src/controllers/controller.pie.js @@ -1,8 +1,8 @@ 'use strict'; -var DoughnutController = require('./controller.doughnut'); -var defaults = require('../core/core.defaults'); -var helpers = require('../helpers/index'); +import DoughnutController from './controller.doughnut'; +import defaults from '../core/core.defaults'; +import helpers from '../helpers'; defaults._set('pie', helpers.clone(defaults.doughnut)); defaults._set('pie', { @@ -10,4 +10,4 @@ defaults._set('pie', { }); // Pie charts are Doughnut chart with different defaults -module.exports = DoughnutController; +export default DoughnutController; diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index bf287f1276e..ac07a3bb300 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -1,11 +1,11 @@ 'use strict'; -var DatasetController = require('../core/core.datasetController'); -var defaults = require('../core/core.defaults'); -var elements = require('../elements/index'); -var helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; -var resolve = helpers.options.resolve; +const resolve = helpers.options.resolve; defaults._set('polarArea', { animation: { @@ -85,7 +85,7 @@ defaults._set('polarArea', { } }); -module.exports = DatasetController.extend({ +export default DatasetController.extend({ dataElementType: elements.Arc, diff --git a/src/controllers/controller.radar.js b/src/controllers/controller.radar.js index 834ff698ff9..05cbc7c1f31 100644 --- a/src/controllers/controller.radar.js +++ b/src/controllers/controller.radar.js @@ -1,11 +1,11 @@ 'use strict'; -var DatasetController = require('../core/core.datasetController'); -var defaults = require('../core/core.defaults'); -var elements = require('../elements/index'); -var helpers = require('../helpers/index'); +import DatasetController from '../core/core.datasetController'; +import defaults from '../core/core.defaults'; +import elements from '../elements'; +import helpers from '../helpers'; -var valueOrDefault = helpers.valueOrDefault; +const valueOrDefault = helpers.valueOrDefault; defaults._set('radar', { spanGaps: false, @@ -21,7 +21,7 @@ defaults._set('radar', { } }); -module.exports = DatasetController.extend({ +export default DatasetController.extend({ datasetElementType: elements.Line, dataElementType: elements.Point, diff --git a/src/controllers/controller.scatter.js b/src/controllers/controller.scatter.js index 1e16cc33e2a..25e90c1a7ba 100644 --- a/src/controllers/controller.scatter.js +++ b/src/controllers/controller.scatter.js @@ -1,7 +1,7 @@ 'use strict'; -var LineController = require('./controller.line'); -var defaults = require('../core/core.defaults'); +import LineController from './controller.line'; +import defaults from '../core/core.defaults'; defaults._set('scatter', { scales: { @@ -34,4 +34,4 @@ defaults._set('datasets', { }); // Scatter charts use line controllers -module.exports = LineController; +export default LineController; diff --git a/src/controllers/index.js b/src/controllers/index.js index b80faaab690..9a3fad72d77 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -1,20 +1,20 @@ 'use strict'; -var bar = require('./controller.bar'); -var bubble = require('./controller.bubble'); -var doughnut = require('./controller.doughnut'); -var horizontalBar = require('./controller.horizontalBar'); -var line = require('./controller.line'); -var polarArea = require('./controller.polarArea'); -var pie = require('./controller.pie'); -var radar = require('./controller.radar'); -var scatter = require('./controller.scatter'); +import bar from './controller.bar'; +import bubble from './controller.bubble'; +import doughnut from './controller.doughnut'; +import horizontalBar from './controller.horizontalBar'; +import line from './controller.line'; +import polarArea from './controller.polarArea'; +import pie from './controller.pie'; +import radar from './controller.radar'; +import scatter from './controller.scatter'; // NOTE export a map in which the key represents the controller type, not // the class, and so must be CamelCase in order to be correctly retrieved // by the controller in core.controller.js (`controllers[meta.type]`). -module.exports = { +export default { bar: bar, bubble: bubble, doughnut: doughnut, diff --git a/src/core/core.animation.js b/src/core/core.animation.js index 1e97684da1c..ee98f4f14de 100644 --- a/src/core/core.animation.js +++ b/src/core/core.animation.js @@ -1,6 +1,6 @@ 'use strict'; -const helpers = require('../helpers/index'); +import helpers from '../helpers'; const transparent = 'transparent'; const interpolators = { @@ -89,4 +89,4 @@ class Animation { } } -module.exports = Animation; +export default Animation; diff --git a/src/core/core.animator.js b/src/core/core.animator.js index e6e5a60cfeb..1c51e91e848 100644 --- a/src/core/core.animator.js +++ b/src/core/core.animator.js @@ -1,6 +1,6 @@ 'use strict'; -const helpers = require('../helpers/index'); +import helpers from '../helpers'; function drawFPS(chart, count, date, lastDate) { const fps = (1000 / (date - lastDate)) | 0; @@ -207,4 +207,4 @@ class Animator { const instance = new Animator(); -module.exports = instance; +export default instance; diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index ec5f260ca5f..1db4dcfcd55 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -1,11 +1,11 @@ 'use strict'; -var helpers = require('../helpers/index'); -var Animations = require('./core.animations'); +import helpers from '../helpers'; +import Animations from './core.animations'; -var resolve = helpers.options.resolve; +const resolve = helpers.options.resolve; -var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; +const arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; /** * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice', @@ -1134,4 +1134,4 @@ helpers.extend(DatasetController.prototype, { DatasetController.extend = helpers.inherits; -module.exports = DatasetController; +export default DatasetController; diff --git a/src/core/core.layouts.js b/src/core/core.layouts.js index d5ef6e46ece..ff8cc7d71da 100644 --- a/src/core/core.layouts.js +++ b/src/core/core.layouts.js @@ -1,9 +1,9 @@ 'use strict'; -var defaults = require('./core.defaults'); -var helpers = require('../helpers/index'); +import defaults from './core.defaults'; +import helpers from '../helpers'; -var extend = helpers.extend; +const extend = helpers.extend; const STATIC_POSITIONS = ['left', 'top', 'right', 'bottom']; @@ -227,7 +227,7 @@ defaults._set('layout', { // The layout service is very self explanatory. It's responsible for the layout within a chart. // Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need // It is this service's responsibility of carrying out that layout. -module.exports = { +export default { defaults: {}, /** diff --git a/src/core/core.plugins.js b/src/core/core.plugins.js index fe30bce8da0..6772637af03 100644 --- a/src/core/core.plugins.js +++ b/src/core/core.plugins.js @@ -1,7 +1,7 @@ 'use strict'; -var defaults = require('./core.defaults'); -var helpers = require('../helpers/index'); +import defaults from './core.defaults'; +import helpers from '../helpers/'; defaults._set('plugins', {}); @@ -10,7 +10,7 @@ defaults._set('plugins', {}); * @namespace Chart.plugins * @since 2.1.0 */ -module.exports = { +export default { /** * Globally registered plugins. * @private diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 81fe4054a18..d7bb417a1ff 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1,9 +1,9 @@ 'use strict'; -const defaults = require('./core.defaults'); -const Element = require('./core.element'); -const helpers = require('../helpers/index'); -const Ticks = require('./core.ticks'); +import defaults from './core.defaults'; +import Element from './core.element'; +import helpers from '../helpers'; +import Ticks from './core.ticks'; const alignPixel = helpers.canvas._alignPixel; const isArray = helpers.isArray; @@ -1438,4 +1438,4 @@ class Scale extends Element { Scale.prototype._draw = Scale.prototype.draw; -module.exports = Scale; +export default Scale; diff --git a/src/core/core.scaleService.js b/src/core/core.scaleService.js index 404e612c669..f6fd60c30a0 100644 --- a/src/core/core.scaleService.js +++ b/src/core/core.scaleService.js @@ -1,10 +1,10 @@ 'use strict'; -var defaults = require('./core.defaults'); -var helpers = require('../helpers/index'); -var layouts = require('./core.layouts'); +import defaults from './core.defaults'; +import helpers from '../helpers'; +import layouts from './core.layouts'; -module.exports = { +export default { // Scale registration object. Extensions can register new scale types (such as log or DB scales) and then // use the new chart options to grab the correct scale constructors: {}, diff --git a/src/core/core.ticks.js b/src/core/core.ticks.js index 4d8b5f27fb7..e604e29258c 100644 --- a/src/core/core.ticks.js +++ b/src/core/core.ticks.js @@ -1,13 +1,13 @@ 'use strict'; -var helpers = require('../helpers/index'); -var math = helpers.math; +import helpers from '../helpers'; +const math = helpers.math; /** * Namespace to hold static tick generation functions * @namespace Chart.Ticks */ -module.exports = { +export default { /** * Namespace to hold formatters for different types of ticks * @namespace Chart.Ticks.formatters diff --git a/src/core/core.tooltip.js b/src/core/core.tooltip.js index 3951ade6b0c..bbd7ae1326c 100644 --- a/src/core/core.tooltip.js +++ b/src/core/core.tooltip.js @@ -1,9 +1,9 @@ 'use strict'; -const defaults = require('./core.defaults'); -const Element = require('./core.element'); -const helpers = require('../helpers/index'); -const Animations = require('./core.animations'); +import defaults from './core.defaults'; +import Element from './core.element'; +import helpers from '../helpers/index'; +import Animations from './core.animations'; const valueOrDefault = helpers.valueOrDefault; const getRtlHelper = helpers.rtl.getRtlAdapter; @@ -1005,4 +1005,4 @@ class Tooltip extends Element { */ Tooltip.positioners = positioners; -module.exports = Tooltip; +export default Tooltip; diff --git a/src/index.js b/src/index.js index a3101d0f809..8e8ef17e1ba 100644 --- a/src/index.js +++ b/src/index.js @@ -1,39 +1,58 @@ /** * @namespace Chart */ -var Chart = require('./core/core.controller'); - -Chart.helpers = require('./helpers/index'); -Chart._adapters = require('./core/core.adapters'); -Chart.Animation = require('./core/core.animation'); -Chart.Animator = require('./core/core.animator'); -Chart.animationService = require('./core/core.animations'); -Chart.controllers = require('./controllers/index'); -Chart.DatasetController = require('./core/core.datasetController'); -Chart.defaults = require('./core/core.defaults'); -Chart.Element = require('./core/core.element'); -Chart.elements = require('./elements/index'); -Chart.Interaction = require('./core/core.interaction'); -Chart.layouts = require('./core/core.layouts'); -Chart.platform = require('./platforms/platform'); -Chart.plugins = require('./core/core.plugins'); -Chart.Scale = require('./core/core.scale'); -Chart.scaleService = require('./core/core.scaleService'); -Chart.Ticks = require('./core/core.ticks'); -Chart.Tooltip = require('./core/core.tooltip'); +import Chart from './core/core.controller'; + +import helpers from './helpers'; +import _adapters from './core/core.adapters'; +import Animation from './core/core.animation'; +import Animator from './core/core.animator'; +import animationService from './core/core.animations'; +import controllers from './controllers'; +import DatasetController from './core/core.datasetController'; +import defaults from './core/core.defaults'; +import Element from './core/core.element'; +import elements from './elements'; +import Interaction from './core/core.interaction'; +import layouts from './core/core.layouts'; +import platform from './platforms/platform'; +import pluginsCore from './core/core.plugins'; +import Scale from './core/core.scale'; +import scaleService from './core/core.scaleService'; +import Ticks from './core/core.ticks'; +import Tooltip from './core/core.tooltip'; + +Chart.helpers = helpers; +Chart._adapters = _adapters; +Chart.Animation = Animation; +Chart.Animator = Animator; +Chart.animationService = animationService; +Chart.controllers = controllers; +Chart.DatasetController = DatasetController; +Chart.defaults = defaults; +Chart.Element = Element; +Chart.elements = elements; +Chart.Interaction = Interaction; +Chart.layouts = layouts; +Chart.platform = platform; +Chart.plugins = pluginsCore; +Chart.Scale = Scale; +Chart.scaleService = scaleService; +Chart.Ticks = Ticks; +Chart.Tooltip = Tooltip; // Register built-in scales -const scales = require('./scales'); +import scales from './scales'; Object.keys(scales).forEach(function(type) { const scale = scales[type]; Chart.scaleService.registerScaleType(type, scale, scale._defaults); }); // Load to register built-in adapters (as side effects) -require('./adapters'); +import './adapters'; // Loading built-in plugins -var plugins = require('./plugins'); +import plugins from './plugins'; for (var k in plugins) { if (Object.prototype.hasOwnProperty.call(plugins, k)) { Chart.plugins.register(plugins[k]); @@ -42,7 +61,8 @@ for (var k in plugins) { Chart.platform.initialize(); -module.exports = Chart; if (typeof window !== 'undefined') { window.Chart = Chart; } + +export default Chart; diff --git a/src/platforms/platform.dom.js b/src/platforms/platform.dom.js index c4026342212..c8c9661a557 100644 --- a/src/platforms/platform.dom.js +++ b/src/platforms/platform.dom.js @@ -4,8 +4,8 @@ 'use strict'; -var helpers = require('../helpers/index'); -var stylesheet = require('./platform.dom.css'); +import helpers from '../helpers'; +import stylesheet from './platform.dom.css'; var EXPANDO_KEY = '$chartjs'; var CSS_PREFIX = 'chartjs-'; @@ -312,7 +312,7 @@ function injectCSS(rootNode, css) { } } -module.exports = { +export default { /** * When `true`, prevents the automatic injection of the stylesheet required to * correctly detect when the chart is added to the DOM and then resized. This diff --git a/src/platforms/platform.js b/src/platforms/platform.js index 159077e4959..f527c69cd72 100644 --- a/src/platforms/platform.js +++ b/src/platforms/platform.js @@ -1,18 +1,18 @@ 'use strict'; -var helpers = require('../helpers/index'); -var basic = require('./platform.basic'); -var dom = require('./platform.dom'); +import helpers from '../helpers/index'; +import basic from './platform.basic'; +import dom from './platform.dom'; // @TODO Make possible to select another platform at build time. -var implementation = dom._enabled ? dom : basic; +const implementation = dom._enabled ? dom : basic; /** * @namespace Chart.platform * @see https://chartjs.gitbooks.io/proposals/content/Platform.html * @since 2.4.0 */ -module.exports = helpers.extend({ +export default helpers.extend({ /** * @since 2.7.0 */ diff --git a/src/plugins/index.js b/src/plugins/index.js index 1cd98151629..1cd2a03638c 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -1,6 +1,11 @@ 'use strict'; -module.exports = {}; -module.exports.filler = require('./plugin.filler'); -module.exports.legend = require('./plugin.legend'); -module.exports.title = require('./plugin.title'); +import filler from './plugin.filler'; +import legend from './plugin.legend'; +import title from './plugin.title'; + +export default { + filler, + legend, + title +}; diff --git a/src/plugins/plugin.legend.js b/src/plugins/plugin.legend.js index 76c975a70ea..6115a0ae0b7 100644 --- a/src/plugins/plugin.legend.js +++ b/src/plugins/plugin.legend.js @@ -1,9 +1,9 @@ 'use strict'; -const defaults = require('../core/core.defaults'); -const Element = require('../core/core.element'); -const helpers = require('../helpers/index'); -const layouts = require('../core/core.layouts'); +import defaults from '../core/core.defaults'; +import Element from '../core/core.element'; +import helpers from '../helpers'; +import layouts from '../core/core.layouts'; const getRtlHelper = helpers.rtl.getRtlAdapter; const valueOrDefault = helpers.valueOrDefault; @@ -572,7 +572,7 @@ function createNewLegendAndAttach(chart, legendOpts) { chart.legend = legend; } -module.exports = { +export default { id: 'legend', /** diff --git a/src/plugins/plugin.title.js b/src/plugins/plugin.title.js index f81bd91c190..b1d63bcb75d 100644 --- a/src/plugins/plugin.title.js +++ b/src/plugins/plugin.title.js @@ -1,9 +1,9 @@ 'use strict'; -const defaults = require('../core/core.defaults'); -const Element = require('../core/core.element'); -const helpers = require('../helpers/index'); -const layouts = require('../core/core.layouts'); +import defaults from '../core/core.defaults'; +import Element from '../core/core.element'; +import helpers from '../helpers/index'; +import layouts from '../core/core.layouts'; defaults._set('title', { align: 'center', @@ -216,7 +216,7 @@ function createNewTitleBlockAndAttach(chart, titleOpts) { chart.titleBlock = title; } -module.exports = { +export default { id: 'title', /**