New: Update Frontend Packages

pull/908/head
Qstick 5 years ago
parent 03aceb3568
commit c673058a10

@ -1,6 +0,0 @@
module.exports = [
'>0.25%',
'not ie 11',
'not op_mini all',
'not chrome < 60'
];

@ -6,7 +6,6 @@ const webpack = require('webpack');
const errorHandler = require('./helpers/errorHandler'); const errorHandler = require('./helpers/errorHandler');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const browsers = require('../browsers');
const uiFolder = 'UI'; const uiFolder = 'UI';
const frontendFolder = path.join(__dirname, '..'); const frontendFolder = path.join(__dirname, '..');
@ -103,7 +102,7 @@ const config = {
loose: true, loose: true,
debug: false, debug: false,
useBuiltIns: 'entry', useBuiltIns: 'entry',
targets: browsers corejs: 3
} }
] ]
] ]
@ -122,8 +121,9 @@ const config = {
loader: 'css-loader', loader: 'css-loader',
options: { options: {
importLoaders: 1, importLoaders: 1,
localIdentName: '[name]/[local]/[hash:base64:5]', modules: {
modules: true localIdentName: '[name]/[local]/[hash:base64:5]'
}
} }
}, },
{ {

@ -1,5 +1,4 @@
const reload = require('require-nocache')(module); const reload = require('require-nocache')(module);
const browsers = require('./browsers');
module.exports = (ctx, configPath, options) => { module.exports = (ctx, configPath, options) => {
const config = { const config = {
@ -16,10 +15,7 @@ module.exports = (ctx, configPath, options) => {
}, {}) }, {})
}, },
'postcss-color-function': {}, 'postcss-color-function': {},
'postcss-nested': {}, 'postcss-nested': {}
autoprefixer: {
browsers
}
} }
}; };

@ -134,7 +134,7 @@ class ArtistIndexItemConnector extends Component {
ArtistIndexItemConnector.propTypes = { ArtistIndexItemConnector.propTypes = {
id: PropTypes.number, id: PropTypes.number,
component: PropTypes.func.isRequired, component: PropTypes.elementType.isRequired,
dispatchExecuteCommand: PropTypes.func.isRequired dispatchExecuteCommand: PropTypes.func.isRequired
}; };

@ -42,7 +42,7 @@ ArtistStatusCell.propTypes = {
artistType: PropTypes.string.isRequired, artistType: PropTypes.string.isRequired,
monitored: PropTypes.bool.isRequired, monitored: PropTypes.bool.isRequired,
status: PropTypes.string.isRequired, status: PropTypes.string.isRequired,
component: PropTypes.func component: PropTypes.elementType
}; };
ArtistStatusCell.defaultProps = { ArtistStatusCell.defaultProps = {

@ -56,7 +56,7 @@ class ErrorBoundary extends Component {
ErrorBoundary.propTypes = { ErrorBoundary.propTypes = {
children: PropTypes.node.isRequired, children: PropTypes.node.isRequired,
errorComponent: PropTypes.func.isRequired errorComponent: PropTypes.elementType.isRequired
}; };
export default ErrorBoundary; export default ErrorBoundary;

@ -176,7 +176,7 @@ class AutoSuggestInput extends Component {
className: classNames( className: classNames(
className, className,
hasError && styles.hasError, hasError && styles.hasError,
hasWarning && styles.hasWarning, hasWarning && styles.hasWarning
), ),
name, name,
value, value,
@ -234,7 +234,7 @@ AutoSuggestInput.propTypes = {
minHeight: PropTypes.number.isRequired, minHeight: PropTypes.number.isRequired,
maxHeight: PropTypes.number.isRequired, maxHeight: PropTypes.number.isRequired,
getSuggestionValue: PropTypes.func.isRequired, getSuggestionValue: PropTypes.func.isRequired,
renderInputComponent: PropTypes.func, renderInputComponent: PropTypes.elementType,
renderSuggestion: PropTypes.func.isRequired, renderSuggestion: PropTypes.func.isRequired,
onInputChange: PropTypes.func, onInputChange: PropTypes.func,
onInputKeyDown: PropTypes.func, onInputKeyDown: PropTypes.func,

@ -430,7 +430,7 @@ EnhancedSelectInput.propTypes = {
hasWarning: PropTypes.bool, hasWarning: PropTypes.bool,
selectedValueOptions: PropTypes.object.isRequired, selectedValueOptions: PropTypes.object.isRequired,
selectedValueComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired, selectedValueComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,
optionComponent: PropTypes.func, optionComponent: PropTypes.elementType,
onChange: PropTypes.func.isRequired onChange: PropTypes.func.isRequired
}; };

@ -226,7 +226,7 @@ class TagInput extends Component {
className={styles.internalInput} className={styles.internalInput}
inputContainerClassName={classNames( inputContainerClassName={classNames(
inputContainerClassName, inputContainerClassName,
isFocused && styles.isFocused, isFocused && styles.isFocused
)} )}
value={value} value={value}
suggestions={suggestions} suggestions={suggestions}
@ -260,7 +260,7 @@ TagInput.propTypes = {
minQueryLength: PropTypes.number.isRequired, minQueryLength: PropTypes.number.isRequired,
hasError: PropTypes.bool, hasError: PropTypes.bool,
hasWarning: PropTypes.bool, hasWarning: PropTypes.bool,
tagComponent: PropTypes.func.isRequired, tagComponent: PropTypes.elementType.isRequired,
onTagAdd: PropTypes.func.isRequired, onTagAdd: PropTypes.func.isRequired,
onTagDelete: PropTypes.func.isRequired onTagDelete: PropTypes.func.isRequired
}; };

@ -67,7 +67,7 @@ TagInputInput.propTypes = {
inputProps: PropTypes.object.isRequired, inputProps: PropTypes.object.isRequired,
kind: PropTypes.oneOf(kinds.all).isRequired, kind: PropTypes.oneOf(kinds.all).isRequired,
isFocused: PropTypes.bool.isRequired, isFocused: PropTypes.bool.isRequired,
tagComponent: PropTypes.func.isRequired, tagComponent: PropTypes.elementType.isRequired,
onTagDelete: PropTypes.func.isRequired, onTagDelete: PropTypes.func.isRequired,
onInputContainerPress: PropTypes.func.isRequired onInputContainerPress: PropTypes.func.isRequired
}; };

@ -95,8 +95,8 @@ FilterMenu.propTypes = {
selectedFilterKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, selectedFilterKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
filters: PropTypes.arrayOf(PropTypes.object).isRequired, filters: PropTypes.arrayOf(PropTypes.object).isRequired,
customFilters: PropTypes.arrayOf(PropTypes.object).isRequired, customFilters: PropTypes.arrayOf(PropTypes.object).isRequired,
buttonComponent: PropTypes.func.isRequired, buttonComponent: PropTypes.elementType.isRequired,
filterModalConnectorComponent: PropTypes.func, filterModalConnectorComponent: PropTypes.elementType,
filterModalConnectorComponentProps: PropTypes.object, filterModalConnectorComponentProps: PropTypes.object,
onFilterSelect: PropTypes.func.isRequired onFilterSelect: PropTypes.func.isRequired
}; };

@ -14,4 +14,4 @@ function createMapStateToProps() {
); );
} }
export default connect(createMapStateToProps)(PageContentBody); export default connect(createMapStateToProps, null, null, { forwardRef: true })(PageContentBody);

@ -94,7 +94,7 @@ PageSidebarItem.propTypes = {
isActiveParent: PropTypes.bool, isActiveParent: PropTypes.bool,
isParentItem: PropTypes.bool.isRequired, isParentItem: PropTypes.bool.isRequired,
isChildItem: PropTypes.bool.isRequired, isChildItem: PropTypes.bool.isRequired,
statusComponent: PropTypes.func, statusComponent: PropTypes.elementType,
children: PropTypes.node, children: PropTypes.node,
onPress: PropTypes.func onPress: PropTypes.func
}; };

@ -53,7 +53,7 @@ RelativeDateCell.propTypes = {
shortDateFormat: PropTypes.string.isRequired, shortDateFormat: PropTypes.string.isRequired,
longDateFormat: PropTypes.string.isRequired, longDateFormat: PropTypes.string.isRequired,
timeFormat: PropTypes.string.isRequired, timeFormat: PropTypes.string.isRequired,
component: PropTypes.func, component: PropTypes.elementType,
dispatch: PropTypes.func dispatch: PropTypes.func
}; };

@ -113,7 +113,7 @@ Table.propTypes = {
className: PropTypes.string, className: PropTypes.string,
selectAll: PropTypes.bool.isRequired, selectAll: PropTypes.bool.isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired, columns: PropTypes.arrayOf(PropTypes.object).isRequired,
optionsComponent: PropTypes.func, optionsComponent: PropTypes.elementType,
pageSize: PropTypes.number, pageSize: PropTypes.number,
canModifyColumns: PropTypes.bool, canModifyColumns: PropTypes.bool,
children: PropTypes.node, children: PropTypes.node,

@ -1,7 +1,7 @@
import _ from 'lodash'; import _ from 'lodash';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React, { Component } from 'react'; import React, { Component } from 'react';
import { DragDropContext } from 'react-dnd'; import { DndProvider } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend'; import HTML5Backend from 'react-dnd-html5-backend';
import { inputTypes } from 'Helpers/Props'; import { inputTypes } from 'Helpers/Props';
import Button from 'Components/Link/Button'; import Button from 'Components/Link/Button';
@ -127,6 +127,7 @@ class TableOptionsModal extends Component {
const isDraggingDown = isDragging && dropIndex > dragIndex; const isDraggingDown = isDragging && dropIndex > dragIndex;
return ( return (
<DndProvider backend={HTML5Backend}>
<Modal <Modal
isOpen={isOpen} isOpen={isOpen}
onModalClose={onModalClose} onModalClose={onModalClose}
@ -237,6 +238,7 @@ class TableOptionsModal extends Component {
null null
} }
</Modal> </Modal>
</DndProvider>
); );
} }
} }
@ -246,7 +248,7 @@ TableOptionsModal.propTypes = {
columns: PropTypes.arrayOf(PropTypes.object).isRequired, columns: PropTypes.arrayOf(PropTypes.object).isRequired,
pageSize: PropTypes.number, pageSize: PropTypes.number,
canModifyColumns: PropTypes.bool.isRequired, canModifyColumns: PropTypes.bool.isRequired,
optionsComponent: PropTypes.func, optionsComponent: PropTypes.elementType,
onTableOptionChange: PropTypes.func.isRequired, onTableOptionChange: PropTypes.func.isRequired,
onModalClose: PropTypes.func.isRequired onModalClose: PropTypes.func.isRequired
}; };
@ -255,4 +257,4 @@ TableOptionsModal.defaultProps = {
canModifyColumns: true canModifyColumns: true
}; };
export default DragDropContext(HTML5Backend)(TableOptionsModal); export default TableOptionsModal;

@ -62,7 +62,7 @@ class RemotePathMapping extends Component {
return ( return (
<div <div
className={classNames( className={classNames(
styles.remotePathMapping, styles.remotePathMapping
)} )}
> >
<div className={styles.host}>{host}</div> <div className={styles.host}>{host}</div>

@ -61,7 +61,7 @@ class ImportListExclusion extends Component {
return ( return (
<div <div
className={classNames( className={classNames(
styles.importListExclusion, styles.importListExclusion
)} )}
> >
<div className={styles.artistName}>{artistName}</div> <div className={styles.artistName}>{artistName}</div>

@ -96,7 +96,7 @@ class DelayProfile extends Component {
<div <div
className={classNames( className={classNames(
styles.delayProfile, styles.delayProfile,
isDragging && styles.isDragging, isDragging && styles.isDragging
)} )}
> >
<div className={styles.column}>{preferred}</div> <div className={styles.column}>{preferred}</div>

@ -1,5 +1,5 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { DragDropContext } from 'react-dnd'; import { DndProvider } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend'; import HTML5Backend from 'react-dnd-html5-backend';
import PageContent from 'Components/Page/PageContent'; import PageContent from 'Components/Page/PageContent';
import PageContentBodyConnector from 'Components/Page/PageContentBodyConnector'; import PageContentBodyConnector from 'Components/Page/PageContentBodyConnector';
@ -9,6 +9,9 @@ import MetadataProfilesConnector from './Metadata/MetadataProfilesConnector';
import DelayProfilesConnector from './Delay/DelayProfilesConnector'; import DelayProfilesConnector from './Delay/DelayProfilesConnector';
import ReleaseProfilesConnector from './Release/ReleaseProfilesConnector'; import ReleaseProfilesConnector from './Release/ReleaseProfilesConnector';
// Only a single DragDrop Context can exist so it's done here to allow editing
// quality profiles and reordering delay profiles to work.
class Profiles extends Component { class Profiles extends Component {
// //
@ -22,18 +25,16 @@ class Profiles extends Component {
/> />
<PageContentBodyConnector> <PageContentBodyConnector>
<DndProvider backend={HTML5Backend}>
<QualityProfilesConnector /> <QualityProfilesConnector />
<MetadataProfilesConnector /> <MetadataProfilesConnector />
<DelayProfilesConnector /> <DelayProfilesConnector />
<ReleaseProfilesConnector /> <ReleaseProfilesConnector />
</DndProvider>
</PageContentBodyConnector> </PageContentBodyConnector>
</PageContent> </PageContent>
); );
} }
} }
// Only a single DragDropContext can exist so it's done here to allow editing export default Profiles;
// quality profiles and reordering delay profiles to work.
/* eslint-disable new-cap */
export default DragDropContext(HTML5Backend)(Profiles);
/* eslint-enable new-cap */

@ -67,7 +67,7 @@ class QualityProfileItemGroup extends Component {
className={classNames( className={classNames(
styles.qualityProfileItemGroup, styles.qualityProfileItemGroup,
editGroups && styles.editGroups, editGroups && styles.editGroups,
isDragging && styles.isDragging, isDragging && styles.isDragging
)} )}
> >
<div className={styles.qualityProfileItemGroupInfo}> <div className={styles.qualityProfileItemGroupInfo}>

@ -1,12 +1,12 @@
import React from 'react'; import React from 'react';
import { render } from 'react-dom'; import { render } from 'react-dom';
import createHistory from 'history/createBrowserHistory'; import { createBrowserHistory } from 'history';
import createAppStore from 'Store/createAppStore'; import createAppStore from 'Store/createAppStore';
import App from './App/App'; import App from './App/App';
import 'Styles/globals.css'; import 'Styles/globals.css';
import './index.css'; import './index.css';
const history = createHistory(); const history = createBrowserHistory();
const store = createAppStore(history); const store = createAppStore(history);
render( render(

@ -20,46 +20,48 @@
"license": "GPL-3.0", "license": "GPL-3.0",
"readmeFilename": "readme.md", "readmeFilename": "readme.md",
"dependencies": { "dependencies": {
"@babel/core": "7.3.4", "@babel/core": "7.5.5",
"@babel/plugin-proposal-class-properties": "7.3.4", "@babel/plugin-proposal-class-properties": "7.5.5",
"@babel/plugin-proposal-decorators": "7.3.0", "@babel/plugin-proposal-decorators": "7.4.4",
"@babel/plugin-proposal-export-default-from": "7.2.0", "@babel/plugin-proposal-export-default-from": "7.5.2",
"@babel/plugin-proposal-export-namespace-from": "7.2.0", "@babel/plugin-proposal-export-namespace-from": "7.5.2",
"@babel/plugin-proposal-function-sent": "7.2.0", "@babel/plugin-proposal-function-sent": "7.5.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", "@babel/plugin-proposal-nullish-coalescing-operator": "7.4.4",
"@babel/plugin-proposal-numeric-separator": "7.2.0", "@babel/plugin-proposal-numeric-separator": "7.2.0",
"@babel/plugin-proposal-optional-chaining": "7.2.0", "@babel/plugin-proposal-optional-chaining": "7.2.0",
"@babel/plugin-proposal-throw-expressions": "7.2.0", "@babel/plugin-proposal-throw-expressions": "7.2.0",
"@babel/plugin-syntax-dynamic-import": "7.2.0", "@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/preset-env": "7.3.4", "@babel/preset-env": "7.5.5",
"@babel/preset-react": "7.0.0", "@babel/preset-react": "7.0.0",
"@fortawesome/fontawesome-free": "5.7.2", "@fortawesome/fontawesome-free": "5.10.1",
"@fortawesome/fontawesome-svg-core": "1.2.15", "@fortawesome/fontawesome-svg-core": "1.2.21",
"@fortawesome/free-regular-svg-icons": "5.7.2", "@fortawesome/free-regular-svg-icons": "5.10.1",
"@fortawesome/free-solid-svg-icons": "5.7.2", "@fortawesome/free-solid-svg-icons": "5.10.1",
"@fortawesome/react-fontawesome": "0.1.4", "@fortawesome/react-fontawesome": "0.1.4",
"@sentry/browser": "4.6.4", "@sentry/browser": "5.5.0",
"ansi-colors": "3.2.4", "@sentry/integrations": "5.5.0",
"autoprefixer": "9.4.10", "ansi-colors": "4.1.1",
"babel-eslint": "10.0.1", "autoprefixer": "9.6.1",
"babel-loader": "8.0.5", "babel-eslint": "10.0.2",
"babel-loader": "8.0.6",
"babel-plugin-inline-classnames": "2.0.1", "babel-plugin-inline-classnames": "2.0.1",
"babel-plugin-transform-react-remove-prop-types": "0.4.24", "babel-plugin-transform-react-remove-prop-types": "0.4.24",
"classnames": "2.2.6", "classnames": "2.2.6",
"clipboard": "2.0.4", "clipboard": "2.0.4",
"connected-react-router": "6.3.2", "connected-react-router": "6.5.2",
"core-js": "3",
"create-react-class": "15.6.3", "create-react-class": "15.6.3",
"css-loader": "2.1.1", "css-loader": "3.1.0",
"del": "4.0.0", "del": "5.0.0",
"element-class": "0.2.2", "element-class": "0.2.2",
"eslint": "5.15.1", "eslint": "6.1.0",
"eslint-plugin-filenames": "1.3.2", "eslint-plugin-filenames": "1.3.2",
"eslint-plugin-react": "7.12.4", "eslint-plugin-react": "7.14.3",
"esprint": "0.4.0", "esprint": "0.5.0",
"file-loader": "3.0.1", "file-loader": "4.1.0",
"filesize": "4.1.2", "filesize": "4.1.2",
"fuse.js": "3.4.2", "fuse.js": "3.4.5",
"gulp": "4.0.0", "gulp": "4.0.2",
"gulp-cached": "1.1.1", "gulp-cached": "1.1.1",
"gulp-concat": "2.6.1", "gulp-concat": "2.6.1",
"gulp-livereload": "4.0.1", "gulp-livereload": "4.0.1",
@ -67,45 +69,45 @@
"gulp-print": "5.0.2", "gulp-print": "5.0.2",
"gulp-sourcemaps": "2.6.5", "gulp-sourcemaps": "2.6.5",
"gulp-watch": "5.0.1", "gulp-watch": "5.0.1",
"gulp-wrap": "0.14.0", "gulp-wrap": "0.15.0",
"history": "4.7.2", "history": "4.9.0",
"jdu": "1.0.0", "jdu": "1.0.0",
"jquery": "3.4.0", "jquery": "3.4.1",
"loader-utils": "^1.1.0", "loader-utils": "^1.1.0",
"lodash": "4.17.14", "lodash": "4.17.15",
"mini-css-extract-plugin": "0.5.0", "mini-css-extract-plugin": "0.8.0",
"mobile-detect": "1.4.3", "mobile-detect": "1.4.3",
"moment": "2.24.0", "moment": "2.24.0",
"mousetrap": "1.6.3", "mousetrap": "1.6.3",
"normalize.css": "8.0.1", "normalize.css": "8.0.1",
"optimize-css-assets-webpack-plugin": "5.0.1", "optimize-css-assets-webpack-plugin": "5.0.3",
"postcss-color-function": "4.0.1", "postcss-color-function": "4.1.0",
"postcss-loader": "3.0.0", "postcss-loader": "3.0.0",
"postcss-mixins": "6.2.1", "postcss-mixins": "6.2.2",
"postcss-nested": "4.1.2", "postcss-nested": "4.1.2",
"postcss-simple-vars": "5.0.2", "postcss-simple-vars": "5.0.2",
"postcss-url": "8.0.0", "postcss-url": "8.0.0",
"prop-types": "15.7.2", "prop-types": "15.7.2",
"qs": "6.6.0", "qs": "6.7.0",
"react": "16.8.4", "react": "16.8.6",
"react-addons-shallow-compare": "15.6.2", "react-addons-shallow-compare": "15.6.2",
"react-async-script": "1.0.0", "react-async-script": "1.1.1",
"react-autosuggest": "9.4.3", "react-autosuggest": "9.4.3",
"react-custom-scrollbars": "4.2.1", "react-custom-scrollbars": "4.2.1",
"react-dnd": "7.0.2", "react-dnd": "9.3.2",
"react-dnd-html5-backend": "7.0.2", "react-dnd-html5-backend": "9.3.2",
"react-document-title": "2.0.3", "react-document-title": "2.0.3",
"react-dom": "16.8.4", "react-dom": "16.8.6",
"react-google-recaptcha": "1.0.5", "react-google-recaptcha": "1.1.0",
"react-lazyload": "2.5.0", "react-lazyload": "2.6.2",
"react-measure": "1.4.7", "react-measure": "1.4.7",
"react-popper": "1.3.3", "react-popper": "1.3.3",
"react-redux": "6.0.1", "react-redux": "7.1.0",
"react-router-dom": "4.3.1", "react-router-dom": "5.0.1",
"react-slider": "0.11.2", "react-slider": "0.11.2",
"react-text-truncate": "0.14.0", "react-text-truncate": "0.15.0",
"react-virtualized": "9.21.0", "react-virtualized": "9.21.1",
"redux": "4.0.1", "redux": "4.0.4",
"redux-actions": "2.6.5", "redux-actions": "2.6.5",
"redux-batched-actions": "0.4.1", "redux-batched-actions": "0.4.1",
"redux-localstorage": "0.4.1", "redux-localstorage": "0.4.1",
@ -117,15 +119,21 @@
"signalr": "2.4.1", "signalr": "2.4.1",
"streamqueue": "1.1.2", "streamqueue": "1.1.2",
"style-loader": "0.23.1", "style-loader": "0.23.1",
"stylelint": "9.10.1", "stylelint": "10.1.0",
"stylelint-order": "2.1.0", "stylelint-order": "3.0.1",
"uglifyjs-webpack-plugin": "2.1.2", "uglifyjs-webpack-plugin": "2.2.0",
"url-loader": "1.1.2", "url-loader": "2.1.0",
"webpack": "4.29.6", "webpack": "4.39.1",
"webpack-stream": "5.2.1" "webpack-stream": "5.2.1"
}, },
"main": "index.js",
"devDependencies": { "devDependencies": {
"@sentry/cli": "1.40.0" "@sentry/cli": "1.47.1"
} },
"main": "index.js",
"browserslist": [
">0.25%",
"not ie 11",
"not op_mini all",
"not chrome < 60"
]
} }

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save