Merge pull request #1662 from mailpoet/webpack-cleanup
Webpack cleanup [MAILPOET-1644]
This commit is contained in:
9
assets/js/src/form_editor/webpack_index.jsx
Normal file
9
assets/js/src/form_editor/webpack_index.jsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
import 'form_editor/form_editor.js'; // side effect - calls document.observe()
|
||||||
|
import 'codemirror'; // side effect - has to be loaded here, used in 'editor.html'
|
||||||
|
import 'codemirror/mode/css/css'; // side effect - has to be loaded here, used in 'editor.html'
|
@@ -7,3 +7,12 @@ define('mailpoet', [], function mailpoet() {
|
|||||||
|
|
||||||
return MailPoet;
|
return MailPoet;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
require('ajax'); // side effect - extends MailPoet object
|
||||||
|
require('date'); // side effect - extends MailPoet object
|
||||||
|
require('i18n'); // side effect - extends MailPoet object
|
||||||
|
require('modal'); // side effect - extends MailPoet object
|
||||||
|
require('notice'); // side effect - extends MailPoet object
|
||||||
|
require('num'); // side effect - extends MailPoet object
|
||||||
|
require('analytics_event'); // side effect - extends MailPoet object
|
||||||
|
require('help-tooltip'); // side effect - extends MailPoet object
|
||||||
|
13
assets/js/src/mailpoet_public.js
Normal file
13
assets/js/src/mailpoet_public.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
define('mailpoet', [], function mailpoet() {
|
||||||
|
// A placeholder for MailPoet object
|
||||||
|
var MailPoet = {};
|
||||||
|
|
||||||
|
// Expose MailPoet globally
|
||||||
|
window.MailPoet = MailPoet;
|
||||||
|
|
||||||
|
return MailPoet;
|
||||||
|
});
|
||||||
|
|
||||||
|
require('ajax'); // side effect - extends MailPoet object
|
||||||
|
require('i18n'); // side effect - extends MailPoet object
|
||||||
|
require('iframe'); // side effect - extends MailPoet object
|
13
assets/js/src/mailpoet_tests.js
Normal file
13
assets/js/src/mailpoet_tests.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
define('mailpoet', [], function mailpoet() {
|
||||||
|
// A placeholder for MailPoet object
|
||||||
|
var MailPoet = {};
|
||||||
|
|
||||||
|
// Expose MailPoet globally
|
||||||
|
window.MailPoet = MailPoet;
|
||||||
|
|
||||||
|
return MailPoet;
|
||||||
|
});
|
||||||
|
|
||||||
|
require('i18n'); // side effect - extends MailPoet object
|
||||||
|
require('notice'); // side effect - extends MailPoet object
|
||||||
|
require('help-tooltip'); // side effect - extends MailPoet object
|
49
assets/js/src/newsletter_editor/webpack_index.jsx
Normal file
49
assets/js/src/newsletter_editor/webpack_index.jsx
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
// dependencies
|
||||||
|
import 'sticky-kit'; // side effect - extends jQuery
|
||||||
|
import 'velocity-animate'; // side effect - assigns to window
|
||||||
|
|
||||||
|
// app
|
||||||
|
import 'newsletter_editor/initializer.jsx'; // side effect - calls Hooks.addAction()
|
||||||
|
import 'newsletter_editor/App'; // side effect - assigns to window
|
||||||
|
|
||||||
|
// components
|
||||||
|
import 'newsletter_editor/components/config.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/styles.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/sidebar.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/content.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/heading.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/save.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/components/communication.js'; // side effect - calls App.on()
|
||||||
|
|
||||||
|
// behaviors
|
||||||
|
import 'newsletter_editor/behaviors/BehaviorsLookup.js'; // side effect - assings to window and Marionette
|
||||||
|
import 'newsletter_editor/behaviors/ColorPickerBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/ContainerDropZoneBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/DraggableBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/HighlightContainerBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/HighlightEditingBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/MediaManagerBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/ResizableBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/SortableBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/ShowSettingsBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
import 'newsletter_editor/behaviors/TextEditorBehavior.js'; // side effect - assigns to BehaviorsLookup
|
||||||
|
|
||||||
|
// blocks
|
||||||
|
import 'newsletter_editor/blocks/container.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/button.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/image.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/divider.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/text.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/spacer.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/footer.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/header.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/automatedLatestContent.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/automatedLatestContentLayout.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/posts.js'; // side effect - calls App.on()
|
||||||
|
import 'newsletter_editor/blocks/social.js'; // side effect - calls App.on()
|
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import ReactStringReplace from 'react-string-replace';
|
import ReactStringReplace from 'react-string-replace';
|
||||||
import MailPoet from '../../../mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
|
|
||||||
function Fail(props) {
|
function Fail(props) {
|
||||||
return (
|
return (
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import MailPoet from '../../../mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import LoadingDots from '../../../loading.jsx';
|
import LoadingDots from 'loading.jsx';
|
||||||
|
|
||||||
function renderRichData(showRichData, illustrationImageUrl) {
|
function renderRichData(showRichData, illustrationImageUrl) {
|
||||||
if (showRichData) {
|
if (showRichData) {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import MailPoet from '../../../mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
|
|
||||||
function renderHeader(newsletter) {
|
function renderHeader(newsletter) {
|
||||||
if (newsletter.type === 'welcome') {
|
if (newsletter.type === 'welcome') {
|
||||||
|
19
assets/js/src/webpack_admin_index.jsx
Normal file
19
assets/js/src/webpack_admin_index.jsx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
import 'subscribers/subscribers.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'newsletters/newsletters.jsx'; // side effect - renders ReactDOM to window
|
||||||
|
import 'segments/segments.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'forms/forms.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'settings/tabs.js'; // side effect - assigns to MailPoet.Router, executes code on doc ready
|
||||||
|
import 'help/help.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'intro.jsx'; // side effect - assigns to MailPoet.showIntro
|
||||||
|
import 'settings/reinstall_from_scratch.js'; // side effect - adds event handler to document
|
||||||
|
import 'subscribers/importExport/import.js'; // side effect - executes on doc ready, adds events
|
||||||
|
import 'subscribers/importExport/export.js'; // side effect - executes on doc ready
|
||||||
|
import 'welcome_wizard/wizard.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'settings/announcement.jsx'; // side effect - renders ReactDOM to document
|
||||||
|
import 'nps_poll.jsx'; // side effect - calls setImmediate()
|
10
assets/js/src/webpack_mailpoet_index.jsx
Normal file
10
assets/js/src/webpack_mailpoet_index.jsx
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
import 'mailpoet'; // side effect - assigns MailPoet to window
|
||||||
|
import 'dismissible-notice.jsx'; // side effect - adds jQuery event
|
||||||
|
import 'jquery.serialize_object'; // side effect - extends jQuery
|
||||||
|
import 'parsleyjs'; // side effect - extends jQuery
|
9
assets/js/src/webpack_public_index.jsx
Normal file
9
assets/js/src/webpack_public_index.jsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
import 'mailpoet'; // side effect - assigns MailPoet to window
|
||||||
|
import 'jquery.serialize_object'; // side effect - extends jQuery
|
||||||
|
import 'public.js'; // side effect - assigns to window, sets up form validation, etc.
|
9
assets/js/src/webpack_vendor_index.jsx
Normal file
9
assets/js/src/webpack_vendor_index.jsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Initialize Editor dependencies that have side effect (meaning they
|
||||||
|
// not only define module but also modify/register something on load).
|
||||||
|
|
||||||
|
// This is to avoid undefined import order & messy WebPack config.
|
||||||
|
// Code can be gradually refactored to avoid side effects completely.
|
||||||
|
|
||||||
|
import 'handlebars'; // no side effect - this just explicitly requires Handlebars
|
||||||
|
import 'handlebars_helpers'; // side effect - extends Handlebars, assigns to window
|
||||||
|
import 'wp-js-hooks'; // side effect - assigns to window
|
@@ -38,7 +38,8 @@ var baseConfig = {
|
|||||||
'blob$': 'blob-tmp/Blob.js',
|
'blob$': 'blob-tmp/Blob.js',
|
||||||
'papaparse': 'papaparse/papaparse.min.js',
|
'papaparse': 'papaparse/papaparse.min.js',
|
||||||
'html2canvas': 'html2canvas/dist/html2canvas.js',
|
'html2canvas': 'html2canvas/dist/html2canvas.js',
|
||||||
'asyncqueue': 'vendor/jquery.asyncqueue.js'
|
'asyncqueue': 'vendor/jquery.asyncqueue.js',
|
||||||
|
'intro.js': 'intro.js/intro.js',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
node: {
|
node: {
|
||||||
@@ -96,7 +97,7 @@ var baseConfig = {
|
|||||||
test: /wp-js-hooks/i,
|
test: /wp-js-hooks/i,
|
||||||
use: [
|
use: [
|
||||||
'expose-loader?' + globalPrefix + '.Hooks',
|
'expose-loader?' + globalPrefix + '.Hooks',
|
||||||
'exports-loader?wp.hooks',
|
'exports-loader?window.wp.hooks',
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -218,119 +219,19 @@ var baseConfig = {
|
|||||||
var adminConfig = {
|
var adminConfig = {
|
||||||
name: 'admin',
|
name: 'admin',
|
||||||
entry: {
|
entry: {
|
||||||
vendor: [
|
vendor: 'webpack_vendor_index.jsx',
|
||||||
'handlebars',
|
mailpoet: 'webpack_mailpoet_index.jsx',
|
||||||
'handlebars_helpers',
|
admin: 'webpack_admin_index.jsx',
|
||||||
'wp-js-hooks'
|
form_editor: 'form_editor/webpack_index.jsx',
|
||||||
],
|
newsletter_editor: 'newsletter_editor/webpack_index.jsx',
|
||||||
mailpoet: [
|
|
||||||
'mailpoet',
|
|
||||||
'ajax',
|
|
||||||
'date',
|
|
||||||
'i18n',
|
|
||||||
'modal',
|
|
||||||
'notice',
|
|
||||||
'num',
|
|
||||||
'jquery.serialize_object',
|
|
||||||
'parsleyjs',
|
|
||||||
'analytics_event',
|
|
||||||
'help-tooltip.jsx',
|
|
||||||
'help-tooltip',
|
|
||||||
'dismissible-notice.jsx',
|
|
||||||
],
|
|
||||||
admin_vendor: [
|
|
||||||
'react',
|
|
||||||
'react-dom',
|
|
||||||
require.resolve('react-router-dom'),
|
|
||||||
'react-string-replace',
|
|
||||||
'prop-types',
|
|
||||||
'listing/listing.jsx',
|
|
||||||
'form/form.jsx',
|
|
||||||
'intro.js',
|
|
||||||
'newsletters/badges/stats.jsx',
|
|
||||||
'newsletters/breadcrumb.jsx',
|
|
||||||
'newsletters/listings/tabs.jsx',
|
|
||||||
'newsletters/listings/mixins.jsx',
|
|
||||||
'newsletters/listings/heading.jsx',
|
|
||||||
'newsletters/types/automatic_emails/events_list.jsx',
|
|
||||||
'newsletters/types/automatic_emails/breadcrumb.jsx',
|
|
||||||
'newsletters/types/welcome/scheduling.jsx',
|
|
||||||
'newsletter_editor/initializer.jsx',
|
|
||||||
'classnames'
|
|
||||||
],
|
|
||||||
admin: [
|
|
||||||
'subscribers/subscribers.jsx',
|
|
||||||
'newsletters/newsletters.jsx',
|
|
||||||
'segments/segments.jsx',
|
|
||||||
'forms/forms.jsx',
|
|
||||||
'settings/tabs.js',
|
|
||||||
'help/help.jsx',
|
|
||||||
'intro.jsx',
|
|
||||||
'settings/reinstall_from_scratch.js',
|
|
||||||
'subscribers/importExport/import.js',
|
|
||||||
'subscribers/importExport/export.js',
|
|
||||||
'welcome_wizard/wizard.jsx',
|
|
||||||
'settings/announcement.jsx',
|
|
||||||
'nps_poll.jsx'
|
|
||||||
],
|
|
||||||
form_editor: [
|
|
||||||
'form_editor/form_editor.js',
|
|
||||||
'codemirror',
|
|
||||||
'codemirror/mode/css/css'
|
|
||||||
],
|
|
||||||
newsletter_editor: [
|
|
||||||
'underscore',
|
|
||||||
'backbone',
|
|
||||||
'backbone.marionette',
|
|
||||||
'backbone.supermodel',
|
|
||||||
'interact.js',
|
|
||||||
'backbone.radio',
|
|
||||||
'select2',
|
|
||||||
'spectrum',
|
|
||||||
'sticky-kit',
|
|
||||||
'blob',
|
|
||||||
'file-saver',
|
|
||||||
'velocity-animate',
|
|
||||||
'newsletter_editor/App',
|
|
||||||
'newsletter_editor/components/config.js',
|
|
||||||
'newsletter_editor/components/styles.js',
|
|
||||||
'newsletter_editor/components/sidebar.js',
|
|
||||||
'newsletter_editor/components/content.js',
|
|
||||||
'newsletter_editor/components/heading.js',
|
|
||||||
'newsletter_editor/components/save.js',
|
|
||||||
'newsletter_editor/components/communication.js',
|
|
||||||
'newsletter_editor/behaviors/BehaviorsLookup.js',
|
|
||||||
'newsletter_editor/behaviors/ColorPickerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ContainerDropZoneBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/DraggableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/HighlightContainerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/HighlightEditingBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/MediaManagerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ResizableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/SortableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ShowSettingsBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/TextEditorBehavior.js',
|
|
||||||
'newsletter_editor/blocks/base.js',
|
|
||||||
'newsletter_editor/blocks/container.js',
|
|
||||||
'newsletter_editor/blocks/button.js',
|
|
||||||
'newsletter_editor/blocks/image.js',
|
|
||||||
'newsletter_editor/blocks/divider.js',
|
|
||||||
'newsletter_editor/blocks/text.js',
|
|
||||||
'newsletter_editor/blocks/spacer.js',
|
|
||||||
'newsletter_editor/blocks/footer.js',
|
|
||||||
'newsletter_editor/blocks/header.js',
|
|
||||||
'newsletter_editor/blocks/automatedLatestContent.js',
|
|
||||||
'newsletter_editor/blocks/automatedLatestContentLayout.js',
|
|
||||||
'newsletter_editor/blocks/posts.js',
|
|
||||||
'newsletter_editor/blocks/social.js'
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
|
...baseConfig.plugins,
|
||||||
new webpack.optimize.CommonsChunkPlugin({
|
new webpack.optimize.CommonsChunkPlugin({
|
||||||
name: 'admin_vendor',
|
name: 'admin_vendor',
|
||||||
fileName: 'admin_vendor.js',
|
fileName: 'admin_vendor.js',
|
||||||
chunks: ['admin_vendor', 'admin'],
|
chunks: ['admin', 'form_editor', 'newsletter_editor'],
|
||||||
minChunks: Infinity
|
minChunks: 2
|
||||||
}),
|
}),
|
||||||
new webpack.optimize.CommonsChunkPlugin({
|
new webpack.optimize.CommonsChunkPlugin({
|
||||||
name: 'vendor',
|
name: 'vendor',
|
||||||
@@ -348,15 +249,17 @@ var adminConfig = {
|
|||||||
var publicConfig = {
|
var publicConfig = {
|
||||||
name: 'public',
|
name: 'public',
|
||||||
entry: {
|
entry: {
|
||||||
public: [
|
public: 'webpack_public_index.jsx',
|
||||||
'mailpoet',
|
|
||||||
'i18n',
|
|
||||||
'ajax',
|
|
||||||
'iframe',
|
|
||||||
'jquery.serialize_object',
|
|
||||||
'public.js'
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
|
plugins: [
|
||||||
|
...baseConfig.plugins,
|
||||||
|
|
||||||
|
// replace MailPoet definition with a smaller version for public
|
||||||
|
new webpack.NormalModuleReplacementPlugin(
|
||||||
|
/mailpoet\.js/,
|
||||||
|
'./mailpoet_public.js'
|
||||||
|
),
|
||||||
|
],
|
||||||
externals: {
|
externals: {
|
||||||
'jquery': 'jQuery'
|
'jquery': 'jQuery'
|
||||||
}
|
}
|
||||||
@@ -379,55 +282,10 @@ var migratorConfig = {
|
|||||||
var testConfig = {
|
var testConfig = {
|
||||||
name: 'test',
|
name: 'test',
|
||||||
entry: {
|
entry: {
|
||||||
vendor: ['handlebars', 'handlebars_helpers'],
|
vendor: 'webpack_vendor_index.jsx',
|
||||||
testNewsletterEditor: [
|
testNewsletterEditor: [
|
||||||
'underscore',
|
'webpack_mailpoet_index.jsx',
|
||||||
'backbone',
|
'newsletter_editor/webpack_index.jsx',
|
||||||
'backbone.marionette',
|
|
||||||
'backbone.supermodel',
|
|
||||||
'backbone.radio',
|
|
||||||
'select2',
|
|
||||||
'blob',
|
|
||||||
'file-saver',
|
|
||||||
'velocity-animate',
|
|
||||||
|
|
||||||
'mailpoet',
|
|
||||||
'notice',
|
|
||||||
'i18n',
|
|
||||||
'help-tooltip',
|
|
||||||
|
|
||||||
'newsletter_editor/App',
|
|
||||||
'newsletter_editor/components/config.js',
|
|
||||||
'newsletter_editor/components/styles.js',
|
|
||||||
'newsletter_editor/components/sidebar.js',
|
|
||||||
'newsletter_editor/components/content.js',
|
|
||||||
'newsletter_editor/components/heading.js',
|
|
||||||
'newsletter_editor/components/save.js',
|
|
||||||
'newsletter_editor/components/communication.js',
|
|
||||||
'newsletter_editor/behaviors/BehaviorsLookup.js',
|
|
||||||
'newsletter_editor/behaviors/ColorPickerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ContainerDropZoneBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/DraggableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/HighlightContainerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/HighlightEditingBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/MediaManagerBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ResizableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/SortableBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/ShowSettingsBehavior.js',
|
|
||||||
'newsletter_editor/behaviors/TextEditorBehavior.js',
|
|
||||||
'newsletter_editor/blocks/base.js',
|
|
||||||
'newsletter_editor/blocks/container.js',
|
|
||||||
'newsletter_editor/blocks/button.js',
|
|
||||||
'newsletter_editor/blocks/image.js',
|
|
||||||
'newsletter_editor/blocks/divider.js',
|
|
||||||
'newsletter_editor/blocks/text.js',
|
|
||||||
'newsletter_editor/blocks/spacer.js',
|
|
||||||
'newsletter_editor/blocks/footer.js',
|
|
||||||
'newsletter_editor/blocks/header.js',
|
|
||||||
'newsletter_editor/blocks/automatedLatestContent.js',
|
|
||||||
'newsletter_editor/blocks/automatedLatestContentLayout.js',
|
|
||||||
'newsletter_editor/blocks/posts.js',
|
|
||||||
'newsletter_editor/blocks/social.js',
|
|
||||||
|
|
||||||
'components/config.spec.js',
|
'components/config.spec.js',
|
||||||
'components/content.spec.js',
|
'components/content.spec.js',
|
||||||
@@ -454,6 +312,15 @@ var testConfig = {
|
|||||||
path: path.join(__dirname, 'tests/javascript/testBundles'),
|
path: path.join(__dirname, 'tests/javascript/testBundles'),
|
||||||
filename: '[name].js',
|
filename: '[name].js',
|
||||||
},
|
},
|
||||||
|
plugins: [
|
||||||
|
...baseConfig.plugins,
|
||||||
|
|
||||||
|
// replace MailPoet definition with a smaller version for public
|
||||||
|
new webpack.NormalModuleReplacementPlugin(
|
||||||
|
/mailpoet\.js/,
|
||||||
|
'./mailpoet_tests.js'
|
||||||
|
),
|
||||||
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
modules: [
|
modules: [
|
||||||
'node_modules',
|
'node_modules',
|
||||||
@@ -464,7 +331,8 @@ var testConfig = {
|
|||||||
'sticky-kit': 'vendor/jquery.sticky-kit.js',
|
'sticky-kit': 'vendor/jquery.sticky-kit.js',
|
||||||
'backbone.marionette': 'backbone.marionette/lib/backbone.marionette',
|
'backbone.marionette': 'backbone.marionette/lib/backbone.marionette',
|
||||||
'backbone.supermodel$': 'backbone.supermodel/build/backbone.supermodel.js',
|
'backbone.supermodel$': 'backbone.supermodel/build/backbone.supermodel.js',
|
||||||
'blob$': 'blob-tmp/Blob.js'
|
'blob$': 'blob-tmp/Blob.js',
|
||||||
|
'wp-js-hooks': 'WP-JS-Hooks/src/event-manager.js',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
externals: {
|
externals: {
|
||||||
@@ -482,7 +350,10 @@ module.exports = _.map([adminConfig, publicConfig, migratorConfig, testConfig],
|
|||||||
config.plugins.push(
|
config.plugins.push(
|
||||||
new webpackUglifyJsPlugin({
|
new webpackUglifyJsPlugin({
|
||||||
mangle: false,
|
mangle: false,
|
||||||
})
|
}),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
'process.env.NODE_ENV': JSON.stringify('production')
|
||||||
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
config.plugins.push(
|
config.plugins.push(
|
||||||
|
Reference in New Issue
Block a user