Преглед изворни кода

fixes to build system for react

Adam Shaw пре 5 година
родитељ
комит
449637ffb4
4 измењених фајлова са 37 додато и 8 уклоњено
  1. 3 0
      package.json
  2. 0 7
      packages/core/package.json
  3. 17 0
      scripts/lib/rollup-bundles.js
  4. 17 1
      scripts/lib/rollup-tests.js

+ 3 - 0
package.json

@@ -52,6 +52,7 @@
     "@types/jquery": "^3.3.29",
     "@types/luxon": "^1.12.0",
     "@types/node": "^12.12.14",
+    "@types/react": "^16.9.34",
     "bootstrap": "^3.4.1",
     "chokidar": "^2.1.5",
     "components-jqueryui": "github:components/jqueryui",
@@ -86,6 +87,8 @@
     "moment": "^2.24.0",
     "moment-timezone": "^0.5.26",
     "preact": "^10.0.5",
+    "react": "^16.13.1",
+    "react-dom": "^16.13.1",
     "rollup": "^1.28.0",
     "rollup-plugin-alias": "^1.5.2",
     "rollup-plugin-cleanup": "^3.1.1",

+ 0 - 7
packages/core/package.json

@@ -7,12 +7,5 @@
   "docs": "https://fullcalendar.io/docs/initialize-es6",
   "dependencies": {
     "tslib": "^1.9.3"
-  },
-  "devDependencies": {
-    "@types/react": "^16.9.34",
-    "@types/react-dom": "^16.9.6",
-    "preact": "^10.0.5",
-    "react": "^16.13.1",
-    "react-dom": "^16.13.1"
   }
 }

+ 17 - 0
scripts/lib/rollup-bundles.js

@@ -1,10 +1,14 @@
 const path = require('path')
 const glob = require('glob')
+const commonjs = require('rollup-plugin-commonjs')
 const nodeResolve = require('rollup-plugin-node-resolve')
 const postCss = require('rollup-plugin-postcss')
 const { renderBanner, isRelPath, SOURCEMAP_PLUGINS, WATCH_OPTIONS, EXTERNAL_BROWSER_GLOBALS, TEMPLATE_PLUGIN, onwarn, isScssPath } = require('./rollup-util')
 const { pkgStructs, pkgStructHash, getCorePkgStruct, getNonPremiumBundle } = require('./pkg-struct')
 const alias = require('rollup-plugin-alias')
+const replace = require('rollup-plugin-replace')
+const react = require('react')
+const reactDom = require('react-dom')
 
 
 module.exports = function(isDev) {
@@ -49,6 +53,19 @@ function buildBundleConfig(pkgStruct, isDev) {
     plugins: [
       alias(buildAliasMap()),
       nodeResolve(), // for requiring tslib. TODO: whitelist?
+      commonjs({
+        // this react(-dom) hack is also in rollup-tests.js
+        include: 'node_modules/**',
+        namedExports: {
+          'react': Object.keys(react),
+          'react-dom': Object.keys(reactDom)
+        }
+      }),
+      replace({ // for react. also in rollup-tests.js
+        values: {
+          'process.env.NODE_ENV': '"development"'
+        }
+      }),
       postCss({
         extract: true // to separate file
       }),

+ 17 - 1
scripts/lib/rollup-tests.js

@@ -6,6 +6,9 @@ const commonjs = require('rollup-plugin-commonjs')
 const sourcemaps = require('rollup-plugin-sourcemaps')
 const postCss = require('rollup-plugin-postcss')
 const { WATCH_OPTIONS, onwarn, isStylePath, isRelPath } = require('./rollup-util')
+const replace = require('rollup-plugin-replace')
+const react = require('react')
+const reactDom = require('react-dom')
 
 
 module.exports = function() {
@@ -81,7 +84,20 @@ function buildConfig(options) {
           paths: nodeModulesDirs
         }
       }),
-      commonjs(), // for fast-deep-equal import
+      commonjs({
+        // for fast-deep-equal import
+        // also for react(-dom) hack, ALSO IN rollup-bundle.js
+        include: 'node_modules/**',
+        namedExports: {
+          'react': Object.keys(react),
+          'react-dom': Object.keys(reactDom)
+        }
+      }),
+      replace({ // for react. also in rollup-tests.js
+        values: {
+          'process.env.NODE_ENV': '"development"'
+        }
+      }),
       postCss({
         extract: true // to separate .css file
       }),