From 2384444808ce8a852e025a1f518e098837e5b2f6 Mon Sep 17 00:00:00 2001
From: archmoj <mojtaba@plot.ly>
Date: Tue, 19 Jan 2021 14:12:33 -0500
Subject: [PATCH 1/2] include calendars in all bundles

---
 lib/index-basic.js     | 10 +---------
 lib/index-cartesian.js | 10 +---------
 lib/index-finance.js   | 10 +---------
 lib/index-geo.js       | 10 +---------
 lib/index-gl2d.js      | 10 +---------
 lib/index-gl3d.js      | 10 +---------
 lib/index-mapbox.js    | 10 +---------
 lib/index-strict.js    | 15 +--------------
 lib/index.js           | 24 +-----------------------
 lib/register_extra.js  | 35 +++++++++++++++++++++++++++++++++++
 10 files changed, 44 insertions(+), 100 deletions(-)
 create mode 100644 lib/register_extra.js

diff --git a/lib/index-basic.js b/lib/index-basic.js
index 857b4fc18aa..ca431c84c6d 100644
--- a/lib/index-basic.js
+++ b/lib/index-basic.js
@@ -15,12 +15,4 @@ Plotly.register([
     require('./pie')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-cartesian.js b/lib/index-cartesian.js
index 361911da404..94167d90d52 100644
--- a/lib/index-cartesian.js
+++ b/lib/index-cartesian.js
@@ -24,12 +24,4 @@ Plotly.register([
     require('./violin')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-finance.js b/lib/index-finance.js
index 5a31855fd55..2f9be8733b8 100644
--- a/lib/index-finance.js
+++ b/lib/index-finance.js
@@ -22,12 +22,4 @@ Plotly.register([
     require('./indicator')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-geo.js b/lib/index-geo.js
index 06f78aaa5e1..0bb5fb2145f 100644
--- a/lib/index-geo.js
+++ b/lib/index-geo.js
@@ -15,12 +15,4 @@ Plotly.register([
     require('./choropleth')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-gl2d.js b/lib/index-gl2d.js
index a6d010cd910..ad78095ed80 100644
--- a/lib/index-gl2d.js
+++ b/lib/index-gl2d.js
@@ -17,12 +17,4 @@ Plotly.register([
     require('./parcoords')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-gl3d.js b/lib/index-gl3d.js
index aa93e16da74..800995e5608 100644
--- a/lib/index-gl3d.js
+++ b/lib/index-gl3d.js
@@ -20,12 +20,4 @@ Plotly.register([
     require('./streamtube')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-mapbox.js b/lib/index-mapbox.js
index aaf136ccaa1..272387d9810 100644
--- a/lib/index-mapbox.js
+++ b/lib/index-mapbox.js
@@ -16,12 +16,4 @@ Plotly.register([
     require('./densitymapbox')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index-strict.js b/lib/index-strict.js
index 6648652f7bb..43948f1e68e 100644
--- a/lib/index-strict.js
+++ b/lib/index-strict.js
@@ -56,17 +56,4 @@ Plotly.register([
     require('./barpolar')
 ]);
 
-// transforms
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-// components
-Plotly.register([
-    require('./calendars')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/index.js b/lib/index.js
index 443fa207259..72930ceb362 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -71,26 +71,4 @@ Plotly.register([
     require('./barpolar')
 ]);
 
-// transforms
-//
-// Please note that all *transform* methods are executed before
-// all *calcTransform* methods - which could possibly lead to
-// unexpected results when applying multiple transforms of different types
-// to a given trace.
-//
-// For more info, see:
-// https://github.com/plotly/plotly.js/pull/978#pullrequestreview-2403353
-//
-Plotly.register([
-    require('./aggregate'),
-    require('./filter'),
-    require('./groupby'),
-    require('./sort')
-]);
-
-// components
-Plotly.register([
-    require('./calendars')
-]);
-
-module.exports = Plotly;
+module.exports = require('./register_extra')(Plotly);
diff --git a/lib/register_extra.js b/lib/register_extra.js
new file mode 100644
index 00000000000..896edf5cb38
--- /dev/null
+++ b/lib/register_extra.js
@@ -0,0 +1,35 @@
+/**
+* Copyright 2012-2021, Plotly, Inc.
+* All rights reserved.
+*
+* This source code is licensed under the MIT license found in the
+* LICENSE file in the root directory of this source tree.
+*/
+
+'use strict';
+
+module.exports = function registerExtra(Plotly) {
+    // transforms
+    //
+    // Please note that all *transform* methods are executed before
+    // all *calcTransform* methods - which could possibly lead to
+    // unexpected results when applying multiple transforms of different types
+    // to a given trace.
+    //
+    // For more info, see:
+    // https://github.com/plotly/plotly.js/pull/978#pullrequestreview-2403353
+    //
+    Plotly.register([
+        require('./aggregate'),
+        require('./filter'),
+        require('./groupby'),
+        require('./sort')
+    ]);
+
+    // components
+    Plotly.register([
+        require('./calendars')
+    ]);
+
+    return Plotly;
+};

From 1fc1c035b16672e4d314ac1b55fcbc3fce308714 Mon Sep 17 00:00:00 2001
From: archmoj <mojtaba@plot.ly>
Date: Tue, 19 Jan 2021 19:05:36 -0500
Subject: [PATCH 2/2] remove return Plotly

---
 lib/index-basic.js     | 3 ++-
 lib/index-cartesian.js | 3 ++-
 lib/index-finance.js   | 3 ++-
 lib/index-geo.js       | 3 ++-
 lib/index-gl2d.js      | 3 ++-
 lib/index-gl3d.js      | 3 ++-
 lib/index-mapbox.js    | 3 ++-
 lib/index-strict.js    | 3 ++-
 lib/index.js           | 3 ++-
 lib/register_extra.js  | 2 --
 10 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/lib/index-basic.js b/lib/index-basic.js
index ca431c84c6d..e445f45122d 100644
--- a/lib/index-basic.js
+++ b/lib/index-basic.js
@@ -15,4 +15,5 @@ Plotly.register([
     require('./pie')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-cartesian.js b/lib/index-cartesian.js
index 94167d90d52..50a1fcd09b7 100644
--- a/lib/index-cartesian.js
+++ b/lib/index-cartesian.js
@@ -24,4 +24,5 @@ Plotly.register([
     require('./violin')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-finance.js b/lib/index-finance.js
index 2f9be8733b8..f6491a52d05 100644
--- a/lib/index-finance.js
+++ b/lib/index-finance.js
@@ -22,4 +22,5 @@ Plotly.register([
     require('./indicator')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-geo.js b/lib/index-geo.js
index 0bb5fb2145f..1a673119f57 100644
--- a/lib/index-geo.js
+++ b/lib/index-geo.js
@@ -15,4 +15,5 @@ Plotly.register([
     require('./choropleth')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-gl2d.js b/lib/index-gl2d.js
index ad78095ed80..20b75b60868 100644
--- a/lib/index-gl2d.js
+++ b/lib/index-gl2d.js
@@ -17,4 +17,5 @@ Plotly.register([
     require('./parcoords')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-gl3d.js b/lib/index-gl3d.js
index 800995e5608..de23519bc76 100644
--- a/lib/index-gl3d.js
+++ b/lib/index-gl3d.js
@@ -20,4 +20,5 @@ Plotly.register([
     require('./streamtube')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-mapbox.js b/lib/index-mapbox.js
index 272387d9810..ef337768dbb 100644
--- a/lib/index-mapbox.js
+++ b/lib/index-mapbox.js
@@ -16,4 +16,5 @@ Plotly.register([
     require('./densitymapbox')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index-strict.js b/lib/index-strict.js
index 43948f1e68e..24b5f21295b 100644
--- a/lib/index-strict.js
+++ b/lib/index-strict.js
@@ -56,4 +56,5 @@ Plotly.register([
     require('./barpolar')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/index.js b/lib/index.js
index 72930ceb362..4cf645eecbe 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -71,4 +71,5 @@ Plotly.register([
     require('./barpolar')
 ]);
 
-module.exports = require('./register_extra')(Plotly);
+require('./register_extra')(Plotly);
+module.exports = Plotly;
diff --git a/lib/register_extra.js b/lib/register_extra.js
index 896edf5cb38..822125b419d 100644
--- a/lib/register_extra.js
+++ b/lib/register_extra.js
@@ -30,6 +30,4 @@ module.exports = function registerExtra(Plotly) {
     Plotly.register([
         require('./calendars')
     ]);
-
-    return Plotly;
 };