aborted async loading test, better split dashboard-components
authorymh <ymh.work@gmail.com>
Mon, 17 Sep 2018 15:32:33 +0200
changeset 6 819a7ab4e3fb
parent 5 b26c9c44dd84
child 7 5847345004db
aborted async loading test, better split dashboard-components
clientjs/packages/annotation-dashboard-explorunivers/package-lock.json
clientjs/packages/annotation-dashboard-explorunivers/src/App.js
clientjs/packages/annotation-dashboard-explorunivers/src/index.scss
clientjs/packages/annotation-dashboard-explorunivers/src/store.js
clientjs/packages/dashboard-components/package.json
clientjs/packages/dashboard-components/src/ui/index.js
clientjs/packages/dashboard-components/webpack.config.js
--- a/clientjs/packages/annotation-dashboard-explorunivers/package-lock.json	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/package-lock.json	Mon Sep 17 15:32:33 2018 +0200
@@ -289,6 +289,14 @@
         }
       }
     },
+    "acorn5-object-spread": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz",
+      "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=",
+      "requires": {
+        "acorn": "^5.1.2"
+      }
+    },
     "address": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
@@ -2696,6 +2704,11 @@
         }
       }
     },
+    "classnames": {
+      "version": "2.2.6",
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+      "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
+    },
     "clean-css": {
       "version": "4.2.1",
       "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
@@ -3103,6 +3116,16 @@
         "sha.js": "^2.4.8"
       }
     },
+    "create-react-class": {
+      "version": "15.6.3",
+      "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
+      "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
+      "requires": {
+        "fbjs": "^0.8.9",
+        "loose-envify": "^1.3.1",
+        "object-assign": "^4.1.1"
+      }
+    },
     "cross-spawn": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -3401,6 +3424,15 @@
       "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
       "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ="
     },
+    "dashboard-components": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/dashboard-components/-/dashboard-components-1.0.2.tgz",
+      "integrity": "sha512-/9HGvLkyPmC7pLhP79sx4ikfB+vwab5F2KLVTdnlkaiocSOALdHgMm+7+W3xP/5DzKHI9voWYFThmsp1CxJelA==",
+      "requires": {
+        "react": "^16.4.2",
+        "react-js-pagination": "^2.1.0"
+      }
+    },
     "dashdash": {
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -8757,6 +8789,11 @@
         "semver": "^5.1.0"
       }
     },
+    "paginator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/paginator/-/paginator-1.0.0.tgz",
+      "integrity": "sha1-dWVwKvmrlhbcph/CLHDroqQ1cmU="
+    },
     "pako": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
@@ -10499,6 +10536,43 @@
         "invariant": "^2.1.1"
       }
     },
+    "react-js-pagination": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/react-js-pagination/-/react-js-pagination-2.3.0.tgz",
+      "integrity": "sha512-q34Y6VTHCoyessCr6rV0AGfvihFmQapLhuE3t0/EdHThnDdtuhhkEA9hzYM6cCJEeClZuyWDObFivQnoWmzmgg==",
+      "requires": {
+        "classnames": "^2.2.5",
+        "paginator": "^1.0.0",
+        "prop-types": "^15.5.8",
+        "react": "^15.0.0",
+        "react-dom": "^15.0.0"
+      },
+      "dependencies": {
+        "react": {
+          "version": "15.6.2",
+          "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz",
+          "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=",
+          "requires": {
+            "create-react-class": "^15.6.0",
+            "fbjs": "^0.8.9",
+            "loose-envify": "^1.1.0",
+            "object-assign": "^4.1.0",
+            "prop-types": "^15.5.10"
+          }
+        },
+        "react-dom": {
+          "version": "15.6.2",
+          "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz",
+          "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=",
+          "requires": {
+            "fbjs": "^0.8.9",
+            "loose-envify": "^1.1.0",
+            "object-assign": "^4.1.0",
+            "prop-types": "^15.5.10"
+          }
+        }
+      }
+    },
     "react-redux": {
       "version": "5.0.7",
       "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz",
@@ -11594,6 +11668,7 @@
       "resolved": "https://registry.npmjs.org/rijs.sync/-/rijs.sync-2.3.5.tgz",
       "integrity": "sha512-tcbhmjLyWb+2s2gdiSmROEoD/OQPFeKC9xBnKgs0H+umY8CaVrVPGFdr1y1qovm7HxUbdk/BKqi94GQDc5XB3A==",
       "requires": {
+        "buble": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8",
         "express": "^4.14.0",
         "lru_map": "^0.3.3",
         "platform": "^1.3.4",
@@ -11618,7 +11693,7 @@
         },
         "buble": {
           "version": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8",
-          "from": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8",
+          "from": "github:pemrouz/buble",
           "requires": {
             "acorn": "^5.1.2",
             "acorn-jsx": "^3.0.1",
@@ -11628,16 +11703,6 @@
             "minimist": "^1.2.0",
             "os-homedir": "^1.0.1",
             "vlq": "^0.2.2"
-          },
-          "dependencies": {
-            "acorn5-object-spread": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz",
-              "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=",
-              "requires": {
-                "acorn": "^5.1.2"
-              }
-            }
           }
         },
         "chalk": {
--- a/clientjs/packages/annotation-dashboard-explorunivers/src/App.js	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/src/App.js	Mon Sep 17 15:32:33 2018 +0200
@@ -1,26 +1,27 @@
 import React from 'react';
 
 import { HashRouter } from 'react-router-dom';
-import { ui, layouts, pages } from 'dashboard-components';
 import PropTypes from 'prop-types';
 
+import { DefaultLayoutSidebar, DefaultLayout } from 'dashboard-components/lib/layouts';
+
+import {
+  DocumentsPage,
+  GlossaryPage,
+  ChartsPage,
+  AnnotationsPage,
+  TermPage,
+} from 'dashboard-components/lib/pages';
+
+import { ScrollToTop } from 'dashboard-components/lib/ui';
+
+
 import { FormattedMessage } from 'react-intl';
 
 import config from './config.json';
 
 import './App.css';
 
-const { DefaultLayoutSidebar, DefaultLayout } = layouts;
-const { ScrollToTop } = ui;
-
-const {
-  DocumentsPage,
-  GlossaryPage,
-  ChartsPage,
-  AnnotationsPage,
-  TermPage,
-} = pages;
-
 const version = process.env.REACT_APP_VERSION;
 const viaBaseUrl = process.env.REACT_APP_VIA_BASE_URL;
 const discussionUrl = process.env.REACT_APP_DISCUSSION_URL;
--- a/clientjs/packages/annotation-dashboard-explorunivers/src/index.scss	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/src/index.scss	Mon Sep 17 15:32:33 2018 +0200
@@ -1,2 +1,5 @@
 @import "bootstrap/scss/bootstrap.scss";
-@import "dashboard-components/lib/dashboard-components";
+@import "dashboard-components/lib/layouts";
+@import "dashboard-components/lib/pages";
+@import "dashboard-components/lib/ui";
+
--- a/clientjs/packages/annotation-dashboard-explorunivers/src/store.js	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/src/store.js	Mon Sep 17 15:32:33 2018 +0200
@@ -5,12 +5,11 @@
 import { createLogger } from 'redux-logger';
 import { createStore, applyMiddleware, compose } from 'redux';
 
-import { rootReducer, actions } from 'dashboard-components';
+import { fetchAnnotations } from 'dashboard-components/lib/actions';
+import rootReducer from 'dashboard-components/lib/reducers';
 
 import { dashboardId } from './config.json';
 
-const { fetchAnnotations } = actions;
-
 let middlewares = [thunkMiddleware];
 
 if (process.env.NODE_ENV !== 'production') {
--- a/clientjs/packages/dashboard-components/package.json	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/dashboard-components/package.json	Mon Sep 17 15:32:33 2018 +0200
@@ -2,7 +2,10 @@
   "name": "dashboard-components",
   "version": "1.0.0",
   "description": "",
-  "main": "lib/dashboard-components.js",
+  "main": "./lib",
+  "directories": {
+    "lib": "./lib"
+  },
   "scripts": {
     "start": "webpack-cli --watch --mode=development",
     "build": "webpack-cli --mode=production",
--- a/clientjs/packages/dashboard-components/src/ui/index.js	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/dashboard-components/src/ui/index.js	Mon Sep 17 15:32:33 2018 +0200
@@ -9,7 +9,6 @@
   faFileAlt,
   faShareAlt,
   faGlobe,
-  faCircleNotch,
 } from '@fortawesome/free-solid-svg-icons';
 
 import { faWikipediaW } from '@fortawesome/free-brands-svg-icons';
@@ -24,7 +23,6 @@
   faShareAlt,
   faGlobe,
   faWikipediaW,
-  faCircleNotch,
 );
 
 export { default as Annotation } from './Annotation';
--- a/clientjs/packages/dashboard-components/webpack.config.js	Mon Sep 17 10:47:06 2018 +0200
+++ b/clientjs/packages/dashboard-components/webpack.config.js	Mon Sep 17 15:32:33 2018 +0200
@@ -3,12 +3,20 @@
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 
 module.exports = {
-  entry: path.resolve(__dirname, 'src/index.js'),
+  entry: {
+    pages: path.resolve(__dirname, 'src/pages'),
+    layouts: path.resolve(__dirname, 'src/layouts'),
+    reducers: path.resolve(__dirname, 'src/reducers'),
+    ui: path.resolve(__dirname, 'src/ui'),
+    actions: path.resolve(__dirname, 'src/actions.js'),
+  },
+  // path.resolve(__dirname, 'src/index.js'),
   output: {
     path: path.resolve(__dirname, 'lib'),
-    filename: 'dashboard-components.js',
-    library: '',
-    libraryTarget: 'commonjs2',
+    // filename: 'dashboard-components.[name].js',
+    filename: '[name].js',
+    library: ['dashboard-components', '[name]'],
+    libraryTarget: 'umd',
   },
   resolve: {
     extensions: ['.wasm', '.mjs', '.js', '.json', '.jsx'],
@@ -56,7 +64,8 @@
   },
   plugins: [
     new MiniCssExtractPlugin({
-      filename: 'dashboard-components.css',
+      // filename: 'dashboard-components.[name].css',
+      filename: '[name].css',
     }),
   ],
   performance: {