diff --git a/views/layout.html b/views/layout.html index c69138ea57..b6ca660359 100644 --- a/views/layout.html +++ b/views/layout.html @@ -51,6 +51,10 @@ jQuery('.toplevel_page_mailpoet-newsletters.menu-top-last') <% block translations %><% endblock %> +<%= javascript( + 'admin_vendor.js' +)%> + <% block before_admin_javascript %><% endblock %> <%= javascript( diff --git a/webpack.config.js b/webpack.config.js index 96e52617bb..42312f945a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,7 +2,8 @@ var webpack = require('webpack'), _ = require('underscore'), path = require('path'), baseConfig = {}, - config = []; + config = [], + globalPrefix = 'MailPoetLib'; baseConfig = { context: __dirname, @@ -60,9 +61,17 @@ baseConfig = { include: require.resolve('underscore'), loader: 'expose-loader?_', }, + { + include: require.resolve('react'), + loader: 'expose-loader?' + globalPrefix + '.React', + }, + { + include: require.resolve('react-string-replace'), + loader: 'expose-loader?' + globalPrefix + '.ReactStringReplace', + }, { test: /wp-js-hooks/i, - loader: 'exports-loader?window.wp.hooks', + loader: 'expose-loader?' + globalPrefix + '.Hooks!exports-loader?wp.hooks', }, { include: /Blob.js$/, @@ -111,6 +120,12 @@ config.push(_.extend({}, baseConfig, { 'jquery.serialize_object', 'parsleyjs' ], + admin_vendor: [ + 'react', + 'react-dom', + 'react-router', + 'react-string-replace' + ], admin: [ 'subscribers/subscribers.jsx', 'newsletters/newsletters.jsx', @@ -172,6 +187,7 @@ config.push(_.extend({}, baseConfig, { ] }, plugins: [ + new webpack.optimize.CommonsChunkPlugin('admin_vendor', 'admin_vendor.js', ['admin_vendor', 'admin']), new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js') ], externals: {