mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
Upgrade webpack (#4746)
* optimize code * optimize code * optimize code * optimize dependences * optimize code
This commit is contained in:
parent
bc71331666
commit
b22f90f2e8
@ -10,8 +10,9 @@ const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeM
|
|||||||
const eslintFormatter = require('react-dev-utils/eslintFormatter');
|
const eslintFormatter = require('react-dev-utils/eslintFormatter');
|
||||||
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
|
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
|
||||||
const getClientEnvironment = require('./env');
|
const getClientEnvironment = require('./env');
|
||||||
const paths = require('./paths');
|
|
||||||
const BundleTracker = require('webpack-bundle-tracker');
|
const BundleTracker = require('webpack-bundle-tracker');
|
||||||
|
const paths = require('./paths');
|
||||||
|
const getEntries = require('./webpack.entry');
|
||||||
|
|
||||||
// Webpack uses `publicPath` to determine where the app is being served from.
|
// Webpack uses `publicPath` to determine where the app is being served from.
|
||||||
// In development, we always serve from the root. This makes config easier.
|
// In development, we always serve from the root. This makes config easier.
|
||||||
@ -33,190 +34,7 @@ module.exports = {
|
|||||||
// These are the "entry points" to our application.
|
// These are the "entry points" to our application.
|
||||||
// This means they will be the "root" imports that are included in JS bundle.
|
// This means they will be the "root" imports that are included in JS bundle.
|
||||||
// The first two entry points enable "hot" CSS and auto-refreshes for JS.
|
// The first two entry points enable "hot" CSS and auto-refreshes for JS.
|
||||||
entry: {
|
entry: getEntries('development'),
|
||||||
markdownEditor: [
|
|
||||||
// We ship a few polyfills by default:
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
// Include an alternative client for WebpackDevServer. A client's job is to
|
|
||||||
// connect to WebpackDevServer by a socket and get notified about changes.
|
|
||||||
// When you save a file, the client will either apply hot updates (in case
|
|
||||||
// of CSS changes), or refresh the page (in case of JS changes). When you
|
|
||||||
// make a syntax error, this client will display a syntax error overlay.
|
|
||||||
// Note: instead of the default WebpackDevServer client, we use a custom one
|
|
||||||
// to bring better experience for Create React App users. You can replace
|
|
||||||
// the line below with these two lines if you prefer the stock client:
|
|
||||||
// require.resolve('webpack-dev-server/client') + '?/',
|
|
||||||
// require.resolve('webpack/hot/dev-server'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
// Finally, this is your app's code:
|
|
||||||
paths.appIndexJs,
|
|
||||||
// We include the app code last so that if there is a runtime error during
|
|
||||||
// initialization, it doesn't blow up the WebpackDevServer client, and
|
|
||||||
// changing JS code would still trigger a refresh.
|
|
||||||
],
|
|
||||||
TCAccept: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/tc-accept.js",
|
|
||||||
],
|
|
||||||
TCView: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/tc-view.js",
|
|
||||||
],
|
|
||||||
userNotifications: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/user-notifications.js",
|
|
||||||
],
|
|
||||||
wiki: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/wiki.js",
|
|
||||||
],
|
|
||||||
fileHistory: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/file-history.js",
|
|
||||||
],
|
|
||||||
fileHistoryOld: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/file-history-old.js",
|
|
||||||
],
|
|
||||||
app: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/app.js",
|
|
||||||
],
|
|
||||||
draft: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/draft.js",
|
|
||||||
],
|
|
||||||
sharedDirView: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-dir-view.js",
|
|
||||||
],
|
|
||||||
sharedFileViewMarkdown: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-markdown.js",
|
|
||||||
],
|
|
||||||
sharedFileViewText: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-text.js",
|
|
||||||
],
|
|
||||||
sharedFileViewImage: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-image.js",
|
|
||||||
],
|
|
||||||
sharedFileViewVideo: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-video.js",
|
|
||||||
],
|
|
||||||
sharedFileViewPDF: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-pdf.js",
|
|
||||||
],
|
|
||||||
sharedFileViewSVG: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-svg.js",
|
|
||||||
],
|
|
||||||
sharedFileViewAudio: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-audio.js",
|
|
||||||
],
|
|
||||||
sharedFileViewDocument: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-document.js",
|
|
||||||
],
|
|
||||||
sharedFileViewSpreadsheet: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-spreadsheet.js",
|
|
||||||
],
|
|
||||||
sharedFileViewUnknown: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/shared-file-view-unknown.js",
|
|
||||||
],
|
|
||||||
historyTrashFileView: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/history-trash-file-view.js",
|
|
||||||
],
|
|
||||||
fileView: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/file-view.js",
|
|
||||||
],
|
|
||||||
viewFileText: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/view-file-text.js",
|
|
||||||
],
|
|
||||||
viewFileDocument: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/view-file-document.js",
|
|
||||||
],
|
|
||||||
viewFileSpreadsheet: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/view-file-spreadsheet.js",
|
|
||||||
],
|
|
||||||
settings: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/settings.js",
|
|
||||||
],
|
|
||||||
repoHistory: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/repo-history.js",
|
|
||||||
],
|
|
||||||
repoSnapshot: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/repo-snapshot.js",
|
|
||||||
],
|
|
||||||
repoFolderTrash: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/repo-folder-trash.js",
|
|
||||||
],
|
|
||||||
orgAdmin: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/pages/org-admin",
|
|
||||||
],
|
|
||||||
sysAdmin: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/pages/sys-admin",
|
|
||||||
],
|
|
||||||
|
|
||||||
search: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/pages/search",
|
|
||||||
],
|
|
||||||
uploadLink: [
|
|
||||||
require.resolve('./polyfills'),
|
|
||||||
require.resolve('react-dev-utils/webpackHotDevClient'),
|
|
||||||
paths.appSrc + "/pages/upload-link",
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
// Add /* filename */ comments to generated require()s in the output.
|
// Add /* filename */ comments to generated require()s in the output.
|
||||||
pathinfo: true,
|
pathinfo: true,
|
||||||
@ -458,13 +276,7 @@ module.exports = {
|
|||||||
"Access-Control-Allow-Origin": "*",
|
"Access-Control-Allow-Origin": "*",
|
||||||
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
||||||
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
|
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
|
||||||
},
|
}
|
||||||
|
|
||||||
// watchOptions: {
|
|
||||||
// aggregateTimeout: 1000,
|
|
||||||
// poll: 5000,
|
|
||||||
// ignored: paths.appNodeModules,
|
|
||||||
// },
|
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -28,6 +28,7 @@ const shouldUseSourceMap = false;
|
|||||||
const publicUrl = publicPath.slice(0, -1);
|
const publicUrl = publicPath.slice(0, -1);
|
||||||
// Get environment variables to inject into our app.
|
// Get environment variables to inject into our app.
|
||||||
const env = getClientEnvironment(publicUrl);
|
const env = getClientEnvironment(publicUrl);
|
||||||
|
const getEntries = require('./webpack.entry');
|
||||||
|
|
||||||
// Assert this just to be safe.
|
// Assert this just to be safe.
|
||||||
// Development builds of React are slow and not intended for production.
|
// Development builds of React are slow and not intended for production.
|
||||||
@ -57,41 +58,7 @@ module.exports = {
|
|||||||
// You can exclude the *.map files from the build during deployment.
|
// You can exclude the *.map files from the build during deployment.
|
||||||
devtool: shouldUseSourceMap ? 'source-map' : false,
|
devtool: shouldUseSourceMap ? 'source-map' : false,
|
||||||
// In production, we only want to load the polyfills and the app code.
|
// In production, we only want to load the polyfills and the app code.
|
||||||
entry: {
|
entry: getEntries('production'),
|
||||||
markdownEditor: [require.resolve('./polyfills'), paths.appIndexJs],
|
|
||||||
TCAccept: [require.resolve('./polyfills'), paths.appSrc + "/tc-accept.js"],
|
|
||||||
TCView: [require.resolve('./polyfills'), paths.appSrc + "/tc-view.js"],
|
|
||||||
userNotifications: [require.resolve('./polyfills'), paths.appSrc + "/user-notifications.js"],
|
|
||||||
wiki: [require.resolve('./polyfills'), paths.appSrc + "/wiki.js"],
|
|
||||||
fileHistory: [require.resolve('./polyfills'), paths.appSrc + "/file-history.js"],
|
|
||||||
fileHistoryOld: [require.resolve('./polyfills'), paths.appSrc + "/file-history-old.js"],
|
|
||||||
app: [require.resolve('./polyfills'), paths.appSrc + "/app.js"],
|
|
||||||
draft: [require.resolve('./polyfills'), paths.appSrc + "/draft.js"],
|
|
||||||
sharedDirView: [require.resolve('./polyfills'), paths.appSrc + "/shared-dir-view.js"],
|
|
||||||
sharedFileViewMarkdown: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-markdown.js"],
|
|
||||||
sharedFileViewText: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-text.js"],
|
|
||||||
sharedFileViewImage: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-image.js"],
|
|
||||||
sharedFileViewVideo: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-video.js"],
|
|
||||||
sharedFileViewPDF: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-pdf.js"],
|
|
||||||
sharedFileViewSVG: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-svg.js"],
|
|
||||||
sharedFileViewAudio: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-audio.js"],
|
|
||||||
sharedFileViewDocument: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-document.js"],
|
|
||||||
sharedFileViewSpreadsheet: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-spreadsheet.js"],
|
|
||||||
sharedFileViewUnknown: [require.resolve('./polyfills'), paths.appSrc + "/shared-file-view-unknown.js"],
|
|
||||||
historyTrashFileView: [require.resolve('./polyfills'), paths.appSrc + "/history-trash-file-view.js"],
|
|
||||||
fileView: [require.resolve('./polyfills'), paths.appSrc + "/file-view.js"],
|
|
||||||
viewFileText: [require.resolve('./polyfills'), paths.appSrc + "/view-file-text.js"],
|
|
||||||
viewFileDocument: [require.resolve('./polyfills'), paths.appSrc + "/view-file-document.js"],
|
|
||||||
viewFileSpreadsheet: [require.resolve('./polyfills'), paths.appSrc + "/view-file-spreadsheet.js"],
|
|
||||||
settings: [require.resolve('./polyfills'), paths.appSrc + "/settings.js"],
|
|
||||||
repoHistory: [require.resolve('./polyfills'), paths.appSrc + "/repo-history.js"],
|
|
||||||
repoSnapshot: [require.resolve('./polyfills'), paths.appSrc + "/repo-snapshot.js"],
|
|
||||||
repoFolderTrash: [require.resolve('./polyfills'), paths.appSrc + "/repo-folder-trash.js"],
|
|
||||||
orgAdmin: [require.resolve('./polyfills'), paths.appSrc + "/pages/org-admin"],
|
|
||||||
sysAdmin: [require.resolve('./polyfills'), paths.appSrc + "/pages/sys-admin"],
|
|
||||||
search: [require.resolve('./polyfills'), paths.appSrc + "/pages/search"],
|
|
||||||
uploadLink: [require.resolve('./polyfills'), paths.appSrc + "/pages/upload-link"],
|
|
||||||
},
|
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
// The build folder.
|
// The build folder.
|
||||||
|
54
frontend/config/webpack.entry.js
Normal file
54
frontend/config/webpack.entry.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
const paths = require('./paths');
|
||||||
|
|
||||||
|
const entryFiles = {
|
||||||
|
markdownEditor: "/index.js",
|
||||||
|
TCAccept: "/tc-accept.js",
|
||||||
|
TCView: "/tc-view.js",
|
||||||
|
userNotifications: "/user-notifications.js",
|
||||||
|
wiki: "/wiki.js",
|
||||||
|
fileHistory: "/file-history.js",
|
||||||
|
fileHistoryOld: "/file-history-old.js",
|
||||||
|
app: "/app.js",
|
||||||
|
draft: "/draft.js",
|
||||||
|
sharedDirView: "/shared-dir-view.js",
|
||||||
|
sharedFileViewMarkdown: "/shared-file-view-markdown.js",
|
||||||
|
sharedFileViewText: "/shared-file-view-text.js",
|
||||||
|
sharedFileViewImage: "/shared-file-view-image.js",
|
||||||
|
sharedFileViewVideo: "/shared-file-view-video.js",
|
||||||
|
sharedFileViewPDF: "/shared-file-view-pdf.js",
|
||||||
|
sharedFileViewSVG: "/shared-file-view-svg.js",
|
||||||
|
sharedFileViewAudio: "/shared-file-view-audio.js",
|
||||||
|
sharedFileViewDocument: "/shared-file-view-document.js",
|
||||||
|
sharedFileViewSpreadsheet: "/shared-file-view-spreadsheet.js",
|
||||||
|
sharedFileViewUnknown: "/shared-file-view-unknown.js",
|
||||||
|
historyTrashFileView: "/history-trash-file-view.js",
|
||||||
|
fileView: "/file-view.js",
|
||||||
|
viewFileText: "/view-file-text.js",
|
||||||
|
viewFileDocument: "/view-file-document.js",
|
||||||
|
viewFileSpreadsheet: "/view-file-spreadsheet.js",
|
||||||
|
settings: "/settings.js",
|
||||||
|
repoHistory: "/repo-history.js",
|
||||||
|
repoSnapshot: "/repo-snapshot.js",
|
||||||
|
repoFolderTrash: "/repo-folder-trash.js",
|
||||||
|
orgAdmin: "/pages/org-admin",
|
||||||
|
sysAdmin: "/pages/sys-admin",
|
||||||
|
search: "/pages/search",
|
||||||
|
uploadLink: "/pages/upload-link",
|
||||||
|
};
|
||||||
|
|
||||||
|
const getEntries = (mode) => {
|
||||||
|
let entries = {};
|
||||||
|
Object.keys(entryFiles).forEach(key => {
|
||||||
|
let entry = [];
|
||||||
|
entry.push(require.resolve('./polyfills'));
|
||||||
|
if (mode === 'development') {
|
||||||
|
entry.push(require.resolve('react-dev-utils/webpackHotDevClient'));
|
||||||
|
}
|
||||||
|
entry.push(paths.appSrc + entryFiles[key]);
|
||||||
|
|
||||||
|
entries[key] = entry;
|
||||||
|
});
|
||||||
|
return entries;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = getEntries;
|
1140
frontend/package-lock.json
generated
1140
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -9,27 +9,18 @@
|
|||||||
"@seafile/seafile-calendar": "0.0.12",
|
"@seafile/seafile-calendar": "0.0.12",
|
||||||
"@seafile/seafile-editor": "0.3.26",
|
"@seafile/seafile-editor": "0.3.26",
|
||||||
"MD5": "^1.3.0",
|
"MD5": "^1.3.0",
|
||||||
"autoprefixer": "7.1.6",
|
"chart.js": "2.9.4",
|
||||||
"chart.js": "^2.9.1",
|
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.2.6",
|
||||||
"copy-to-clipboard": "^3.0.8",
|
"copy-to-clipboard": "^3.0.8",
|
||||||
"css-loader": "0.28.7",
|
|
||||||
"dotenv": "4.0.0",
|
"dotenv": "4.0.0",
|
||||||
"dotenv-expand": "4.2.0",
|
"dotenv-expand": "4.2.0",
|
||||||
"faker": "^4.1.0",
|
|
||||||
"file-loader": "1.1.5",
|
|
||||||
"glamor": "^2.20.40",
|
"glamor": "^2.20.40",
|
||||||
"html-webpack-plugin": "2.29.0",
|
|
||||||
"i18next": "^17.0.13",
|
"i18next": "^17.0.13",
|
||||||
"i18next-browser-languagedetector": "^3.0.3",
|
"i18next-browser-languagedetector": "^3.0.3",
|
||||||
"i18next-xhr-backend": "^3.1.2",
|
"i18next-xhr-backend": "^3.1.2",
|
||||||
"immutability-helper": "^3.0.0",
|
|
||||||
"jest": "20.0.4",
|
|
||||||
"merge": "^1.2.1",
|
"merge": "^1.2.1",
|
||||||
"moment": "^2.22.2",
|
"moment": "^2.22.2",
|
||||||
"object-assign": "4.1.1",
|
"object-assign": "4.1.1",
|
||||||
"postcss-flexbugs-fixes": "3.2.0",
|
|
||||||
"postcss-loader": "2.0.8",
|
|
||||||
"prismjs": "^1.15.0",
|
"prismjs": "^1.15.0",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"raf": "3.4.0",
|
"raf": "3.4.0",
|
||||||
@ -46,9 +37,7 @@
|
|||||||
"reactstrap": "^6.4.0",
|
"reactstrap": "^6.4.0",
|
||||||
"seafile-js": "0.2.162",
|
"seafile-js": "0.2.162",
|
||||||
"socket.io-client": "^2.2.0",
|
"socket.io-client": "^2.2.0",
|
||||||
"sw-precache-webpack-plugin": "0.11.4",
|
|
||||||
"unified": "^7.0.0",
|
"unified": "^7.0.0",
|
||||||
"url-loader": "0.6.2",
|
|
||||||
"url-parse": "^1.4.3",
|
"url-parse": "^1.4.3",
|
||||||
"vfile": "^3.0.0",
|
"vfile": "^3.0.0",
|
||||||
"video.js": "^7.4.1",
|
"video.js": "^7.4.1",
|
||||||
@ -104,6 +93,7 @@
|
|||||||
"extends": "react-app"
|
"extends": "react-app"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"autoprefixer": "7.1.6",
|
||||||
"babel-cli": "^6.26.0",
|
"babel-cli": "^6.26.0",
|
||||||
"babel-core": "^6.26.3",
|
"babel-core": "^6.26.3",
|
||||||
"babel-eslint": "7.2.3",
|
"babel-eslint": "7.2.3",
|
||||||
@ -115,6 +105,7 @@
|
|||||||
"babel-preset-react-hmre": "^1.1.1",
|
"babel-preset-react-hmre": "^1.1.1",
|
||||||
"babel-preset-stage-0": "^6.24.1",
|
"babel-preset-stage-0": "^6.24.1",
|
||||||
"case-sensitive-paths-webpack-plugin": "2.1.1",
|
"case-sensitive-paths-webpack-plugin": "2.1.1",
|
||||||
|
"css-loader": "0.28.7",
|
||||||
"eslint": "4.10.0",
|
"eslint": "4.10.0",
|
||||||
"eslint-config-react-app": "^2.1.0",
|
"eslint-config-react-app": "^2.1.0",
|
||||||
"eslint-loader": "1.9.0",
|
"eslint-loader": "1.9.0",
|
||||||
@ -123,10 +114,17 @@
|
|||||||
"eslint-plugin-jsx-a11y": "5.1.1",
|
"eslint-plugin-jsx-a11y": "5.1.1",
|
||||||
"eslint-plugin-react": "7.4.0",
|
"eslint-plugin-react": "7.4.0",
|
||||||
"extract-text-webpack-plugin": "3.0.2",
|
"extract-text-webpack-plugin": "3.0.2",
|
||||||
|
"file-loader": "1.1.5",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
|
"html-webpack-plugin": "2.29.0",
|
||||||
|
"jest": "20.0.4",
|
||||||
|
"postcss-flexbugs-fixes": "3.2.0",
|
||||||
|
"postcss-loader": "2.0.8",
|
||||||
"react-app-polyfill": "^1.0.1",
|
"react-app-polyfill": "^1.0.1",
|
||||||
"react-dev-utils": "^5.0.0",
|
"react-dev-utils": "^5.0.0",
|
||||||
"style-loader": "^0.19.0",
|
"style-loader": "^0.19.0",
|
||||||
|
"sw-precache-webpack-plugin": "0.11.4",
|
||||||
|
"url-loader": "0.6.2",
|
||||||
"webpack": "3.8.1",
|
"webpack": "3.8.1",
|
||||||
"webpack-bundle-tracker": "^0.4.2-beta",
|
"webpack-bundle-tracker": "^0.4.2-beta",
|
||||||
"webpack-dev-server": "2.9.4",
|
"webpack-dev-server": "2.9.4",
|
||||||
|
Loading…
Reference in New Issue
Block a user