diff --git a/js/app.js b/js/app.js index 3f386fd..cfeb878 100644 --- a/js/app.js +++ b/js/app.js @@ -1,10 +1,9 @@ -window.React = require('react'); +// combine react & react-dom/server to emulate React 0.12.x +window.React = Object.assign(require('react'), require('react-dom/server')); var App = require('./components/App.react'); var css = require('./../css/app.css'); require('../img/social_media.png'); -React.initializeTouchEvents(true); - // Render the app component (js/components/App.react.js) React.render( , diff --git a/js/constants/AppConstants.js b/js/constants/AppConstants.js index ea53ed8..f825214 100644 --- a/js/constants/AppConstants.js +++ b/js/constants/AppConstants.js @@ -1,4 +1,4 @@ -var keyMirror = require('react/lib/keyMirror'); +var keyMirror = obj => Object.keys(obj).reduce( (acc, key) => ((acc[key]=key), acc), {} ); // Define actions module.exports = keyMirror({ diff --git a/js/stores/AppStore.js b/js/stores/AppStore.js index fb6f5fd..6c9ea25 100644 --- a/js/stores/AppStore.js +++ b/js/stores/AppStore.js @@ -2,7 +2,7 @@ var AppDispatcher = require('../dispatcher/AppDispatcher'); var AppActions = require('../actions/AppActions'); var EventEmitter = require('events').EventEmitter; var AppConstants = require('../constants/AppConstants'); -var assign = require('react/lib/Object.assign'); +var assign = Object.assign || ((obj, props) => { for (let i in props) obj[i] = props[i]; return obj; }); /** * DATA diff --git a/makewebpackconfig.js b/makewebpackconfig.js index ad84abc..62bd1d8 100644 --- a/makewebpackconfig.js +++ b/makewebpackconfig.js @@ -60,6 +60,12 @@ module.exports = function(options) { path: path.resolve(__dirname, 'build'), filename: "js/bundle.js" }, + resolve: { + alias: { + react: 'preact-compat', + 'react-dom': 'preact-compat' + } + }, module: { loaders: [{ test: /\.js$/, // Transform all .js files required somewhere within an entry point... diff --git a/package.json b/package.json index 007dd29..2be4c25 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "js/app.js", "dependencies": { "flux": "^2.0.0", - "react": "^0.12.0" + "preact": "^6.0.0", + "preact-compat": "^3.0.0" }, "devDependencies": { "appcache-webpack-plugin": "1.2.1", @@ -31,7 +32,6 @@ "postcss-nested": "^1.0.0", "postcss-reporter": "^0.4.0", "postcss-simple-vars": "^0.3.0", - "react-hot-loader": "^1.2.8", "style-loader": "^0.12.3", "url-loader": "^0.5.6", "webpack": "^1.10.5", @@ -41,12 +41,6 @@ "start": "node server.js", "build": "rm -rf build | webpack --config webpack.build.config.js --progress --colors -p" }, - "browserify": { - "transform": [ - "reactify", - "envify" - ] - }, "repository": { "type": "git", "url": "git://github.com/mstoiber/sharing.git"