logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 7de6d269d21e0ed7a3ede7c3d17089726a29d841
parent: 684001d729a4684ab00a24e31ec39f8cae6e37a7
Author: Nolan Lawson <nolan@nolanlawson.com>
Date:   Sat,  7 Oct 2017 17:55:58 -0700

Use ES module build of react-router-dom (#5264)


Diffstat:

Mapp/javascript/mastodon/containers/mastodon.js3+--
Mapp/javascript/mastodon/features/account/components/action_bar.js2+-
Mapp/javascript/mastodon/features/compose/components/search_results.js2+-
Mapp/javascript/mastodon/features/compose/index.js2+-
Mapp/javascript/mastodon/features/home_timeline/index.js2+-
Mapp/javascript/mastodon/features/status/components/detailed_status.js2+-
Mapp/javascript/mastodon/features/ui/components/column_link.js2+-
Mapp/javascript/mastodon/features/ui/components/tabs_bar.js2+-
Mapp/javascript/mastodon/features/ui/util/react_router_helpers.js3+--
Mconfig/webpack/shared.js7+++++++
10 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/app/javascript/mastodon/containers/mastodon.js b/app/javascript/mastodon/containers/mastodon.js @@ -3,8 +3,7 @@ import { Provider } from 'react-redux'; import PropTypes from 'prop-types'; import configureStore from '../store/configureStore'; import { showOnboardingOnce } from '../actions/onboarding'; -import BrowserRouter from 'react-router-dom/BrowserRouter'; -import Route from 'react-router-dom/Route'; +import { BrowserRouter, Route } from 'react-router-dom'; import { ScrollContext } from 'react-router-scroll'; import UI from '../features/ui'; import { hydrateStore } from '../actions/store'; diff --git a/app/javascript/mastodon/features/account/components/action_bar.js b/app/javascript/mastodon/features/account/components/action_bar.js @@ -2,7 +2,7 @@ import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import DropdownMenuContainer from '../../../containers/dropdown_menu_container'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; import { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl'; const messages = defineMessages({ diff --git a/app/javascript/mastodon/features/compose/components/search_results.js b/app/javascript/mastodon/features/compose/components/search_results.js @@ -3,7 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import { FormattedMessage } from 'react-intl'; import AccountContainer from '../../../containers/account_container'; import StatusContainer from '../../../containers/status_container'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; import ImmutablePureComponent from 'react-immutable-pure-component'; export default class SearchResults extends ImmutablePureComponent { diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { connect } from 'react-redux'; import { mountCompose, unmountCompose } from '../../actions/compose'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; import { injectIntl, defineMessages } from 'react-intl'; import SearchContainer from './containers/search_container'; import Motion from 'react-motion/lib/Motion'; diff --git a/app/javascript/mastodon/features/home_timeline/index.js b/app/javascript/mastodon/features/home_timeline/index.js @@ -8,7 +8,7 @@ import ColumnHeader from '../../components/column_header'; import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import ColumnSettingsContainer from './containers/column_settings_container'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; const messages = defineMessages({ title: { id: 'column.home', defaultMessage: 'Home' }, diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js @@ -6,7 +6,7 @@ import DisplayName from '../../../components/display_name'; import StatusContent from '../../../components/status_content'; import MediaGallery from '../../../components/media_gallery'; import AttachmentList from '../../../components/attachment_list'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; import { FormattedDate, FormattedNumber } from 'react-intl'; import CardContainer from '../containers/card_container'; import ImmutablePureComponent from 'react-immutable-pure-component'; diff --git a/app/javascript/mastodon/features/ui/components/column_link.js b/app/javascript/mastodon/features/ui/components/column_link.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Link from 'react-router-dom/Link'; +import { Link } from 'react-router-dom'; const ColumnLink = ({ icon, text, to, href, method }) => { if (href) { diff --git a/app/javascript/mastodon/features/ui/components/tabs_bar.js b/app/javascript/mastodon/features/ui/components/tabs_bar.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import NavLink from 'react-router-dom/NavLink'; +import { NavLink } from 'react-router-dom'; import { FormattedMessage, injectIntl } from 'react-intl'; import { debounce } from 'lodash'; import { isUserTouching } from '../../../is_mobile'; diff --git a/app/javascript/mastodon/features/ui/util/react_router_helpers.js b/app/javascript/mastodon/features/ui/util/react_router_helpers.js @@ -1,7 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import Switch from 'react-router-dom/Switch'; -import Route from 'react-router-dom/Route'; +import { Switch, Route } from 'react-router-dom'; import ColumnLoading from '../components/column_loading'; import BundleColumnError from '../components/bundle_column_error'; diff --git a/config/webpack/shared.js b/config/webpack/shared.js @@ -48,6 +48,13 @@ module.exports = { plugins: [ new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(env))), + new webpack.NormalModuleReplacementPlugin( + /^history\//, (resource) => { + // temporary fix for https://github.com/ReactTraining/react-router/issues/5576 + // to reduce bundle size + resource.request = resource.request.replace(/^history/, 'history/es'); + } + ), new ExtractTextPlugin(env.NODE_ENV === 'production' ? '[name]-[hash].css' : '[name].css'), new ManifestPlugin({ publicPath: output.publicPath,