Merge pull request #15716 from nextcloud/enhancement/webpack/global-config

Unify webpack config
This commit is contained in:
Roeland Jago Douma 2019-05-29 22:00:02 +02:00 committed by GitHub
commit 89c701382f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 201 additions and 494 deletions

View File

@ -1,5 +1,4 @@
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'main.js'),
@ -7,22 +6,5 @@ module.exports = {
path: path.resolve(__dirname, './js'),
publicPath: '/js/',
filename: 'accessibility.js'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
}
]
},
plugins: [new VueLoaderPlugin()],
resolve: {
extensions: ['*', '.js', '.vue', '.json']
}
};
}

View File

@ -1,4 +1,4 @@
const path = require('path');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'comments.js'),
@ -7,34 +7,7 @@ module.exports = {
publicPath: '/js/',
filename: 'comments.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
externals: {
jquery: 'jQuery'
},
resolve: {
extensions: ['*', '.js']
}
};
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{14:function(e,o,i){"use strict";i.r(o);var n=i(17),l=i(19),r=i(26),u=i(29),d=i.n(u),a=i(30),s={name:"CollaborationView",computed:{fileId:function(){return this.$root.model&&this.$root.model.id?""+this.$root.model.id:null},filename:function(){return this.$root.model&&this.$root.model.name?""+this.$root.model.name:""}},components:{CollectionList:i(33).a}},c=i(59),f=Object(c.a)(s,function(){var e=this.$createElement,t=this._self._c||e;return this.fileId?t("collection-list",{attrs:{type:"file",id:this.fileId,name:this.filename}}):this._e()},[],!1,null,null,null).exports;i.d(o,"Vue",function(){return n.default}),i.d(o,"View",function(){return f}),
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{15:function(e,o,i){"use strict";i.r(o);var n=i(18),l=i(20),r=i(27),u=i(30),d=i.n(u),a=i(31),s={name:"CollaborationView",computed:{fileId:function(){return this.$root.model&&this.$root.model.id?""+this.$root.model.id:null},filename:function(){return this.$root.model&&this.$root.model.name?""+this.$root.model.name:""}},components:{CollectionList:i(34).a}},c=i(60),f=Object(c.a)(s,function(){var e=this.$createElement,t=this._self._c||e;return this.fileId?t("collection-list",{attrs:{type:"file",id:this.fileId,name:this.filename}}):this._e()},[],!1,null,null,null).exports;i.d(o,"Vue",function(){return n.default}),i.d(o,"View",function(){return f}),
/*
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,4 @@
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');
module.exports = {
entry: {
@ -12,31 +11,5 @@ module.exports = {
publicPath: '/js/',
filename: '[name].js',
chunkFilename: 'files_sharing.[id].js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['vue-style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['vue-style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
}
]
},
plugins: [new VueLoaderPlugin()],
resolve: {
extensions: ['*', '.js', '.vue', '.json']
},
};
}
}

View File

@ -1,4 +1,4 @@
const path = require('path');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'files_trashbin.js'),
@ -6,32 +6,5 @@ module.exports = {
path: path.resolve(__dirname, './js'),
publicPath: '/js/',
filename: 'files_trashbin.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
resolve: {
extensions: ['*', '.js']
}
};
}

View File

@ -1,4 +1,4 @@
const path = require('path');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'files_versions.js'),
@ -6,36 +6,5 @@ module.exports = {
path: path.resolve(__dirname, 'js'),
publicPath: '/js/',
filename: 'files_versions.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},
{
test: /\.handlebars$/,
loader: "handlebars-loader"
}
]
},
resolve: {
extensions: ['*', '.js']
}
};
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,32 +1,10 @@
const path = require('path')
const { VueLoaderPlugin } = require('vue-loader');
module.exports = {
entry: path.join(__dirname, 'src', 'main.js'),
output: {
path: path.resolve(__dirname, './js'),
publicPath: '/js',
filename: 'oauth2.js'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.css$/,
use: ['vue-style-loader', 'css-loader']
},
]
},
plugins: [
new VueLoaderPlugin()
],
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['*', '.js', '.vue', '.json']
}
entry: path.join(__dirname, 'src', 'main.js'),
output: {
path: path.resolve(__dirname, './js'),
publicPath: '/js',
filename: 'oauth2.js'
}
}

View File

@ -1,4 +1,4 @@
const path = require('path');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'systemtags.js'),
@ -6,32 +6,5 @@ module.exports = {
path: path.resolve(__dirname, './js'),
publicPath: '/js/',
filename: 'systemtags.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
resolve: {
extensions: ['*', '.js']
}
};
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,4 @@
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'settings.js'),
@ -7,40 +6,5 @@ module.exports = {
path: path.resolve(__dirname, 'js'),
publicPath: '/js',
filename: 'settings.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ['vue-style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['vue-style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
plugins: [new VueLoaderPlugin()],
resolve: {
alias: {
vue$: 'vue/dist/vue.esm.js',
},
extensions: ['*', '.js', '.vue', '.json']
}
};
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -409,7 +409,7 @@
}
</script>
<style lang="sass" scoped>
<style lang="scss" scoped>
#updatenotification {
margin-top: -25px;
margin-bottom: 200px;
@ -482,7 +482,7 @@
}
}
</style>
<style lang="sass">
<style lang="scss">
/* override needed to make menu wider */
#updatenotification .popovermenu {
p {

View File

@ -1,5 +1,4 @@
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');
const path = require('path')
module.exports = {
entry: path.join(__dirname, 'src', 'init.js'),
@ -7,26 +6,5 @@ module.exports = {
path: path.resolve(__dirname, './js'),
publicPath: '/js/',
filename: 'updatenotification.js'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.s[a|c]ss$/,
loader: 'style-loader!css-loader!sass-loader'
}
]
},
plugins: [new VueLoaderPlugin()],
resolve: {
extensions: ['*', '.js', '.vue', '.json']
}
};
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -9,36 +9,13 @@ module.exports = {
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},
{
test: /\.handlebars$/,
loader: "handlebars-loader",
options: {
helperDirs: path.join(__dirname, 'src/hbs_helpers'),
}
},
}
]
},
resolve: {
extensions: ['*', '.js', '.handlebars']
}
};
}

18
core/js/dist/login.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

36
core/js/dist/main.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,5 @@
const path = require('path');
const webpack = require('webpack');
const { VueLoaderPlugin } = require('vue-loader');
const path = require('path')
const webpack = require('webpack')
module.exports = [
{
@ -15,41 +14,9 @@ module.exports = [
},
module: {
rules: [
{
test: /\.css$/,
use: ['vue-style-loader', 'style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['vue-style-loader', 'style-loader', 'css-loader', 'sass-loader']
},
{
test: /davclient/,
use: 'exports-loader?dav'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.(png|jpg|gif)$/,
loader: 'url-loader',
options: {
name: '[name].[ext]?[hash]',
limit: 8192
}
},
{
test: /\.handlebars/,
loader: "handlebars-loader",
query: {
extensions: '.handlebars'
}
}
]
},
@ -58,16 +25,8 @@ module.exports = [
'_': "underscore",
$: "jquery",
jQuery: "jquery"
}),
new VueLoaderPlugin(),
],
resolve: {
alias: {
handlebars: 'handlebars/runtime'
},
extensions: ['*', '.js'],
symlinks: false
}
})
]
},
{
entry: {
@ -77,23 +36,6 @@ module.exports = [
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'js/dist')
},
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
]
}
}
];
]

View File

@ -707,7 +707,7 @@ Object(o.a)(p),n.default=p},function(t,e,n){"use strict";var i=n(39);n.n(i).a},f
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/n.d(e,"ActionButton",function(){return o.default}),n.d(e,"ActionCheckbox",function(){return r.default}),n.d(e,"ActionInput",function(){return a.default}),n.d(e,"ActionLink",function(){return s.default}),n.d(e,"ActionRouter",function(){return c.default}),n.d(e,"ActionText",function(){return l.default}),n.d(e,"Actions",function(){return u.default}),n.d(e,"AppContent",function(){return d.default}),n.d(e,"AppNavigation",function(){return p.default}),n.d(e,"AppNavigationItem",function(){return f.default}),n.d(e,"AppNavigationNew",function(){return h.default}),n.d(e,"AppNavigationSettings",function(){return A.default}),n.d(e,"AppNavigationSpacer",function(){return v.default}),n.d(e,"AppSidebar",function(){return m.default}),n.d(e,"AppSidebarTab",function(){return g.default}),n.d(e,"Avatar",function(){return b.default}),n.d(e,"Content",function(){return y.default}),n.d(e,"DatetimePicker",function(){return w.default}),n.d(e,"Modal",function(){return x.default}),n.d(e,"Multiselect",function(){return _.default}),n.d(e,"PopoverMenu",function(){return T.default}),n.d(e,"Tooltip",function(){return k.default}),n.d(e,"isFullscreen",function(){return C.default}),n.d(e,"isMobile",function(){return E.default}),"undefined"!=typeof window&&window.Vue&&M(window.Vue),e.default=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(e){S(t,e,n[e])})}return t}({install:M},i)}])},e.exports=o(i(2))},68:function(t,e,n){(function(e){
*/n.d(e,"ActionButton",function(){return o.default}),n.d(e,"ActionCheckbox",function(){return r.default}),n.d(e,"ActionInput",function(){return a.default}),n.d(e,"ActionLink",function(){return s.default}),n.d(e,"ActionRouter",function(){return c.default}),n.d(e,"ActionText",function(){return l.default}),n.d(e,"Actions",function(){return u.default}),n.d(e,"AppContent",function(){return d.default}),n.d(e,"AppNavigation",function(){return p.default}),n.d(e,"AppNavigationItem",function(){return f.default}),n.d(e,"AppNavigationNew",function(){return h.default}),n.d(e,"AppNavigationSettings",function(){return A.default}),n.d(e,"AppNavigationSpacer",function(){return v.default}),n.d(e,"AppSidebar",function(){return m.default}),n.d(e,"AppSidebarTab",function(){return g.default}),n.d(e,"Avatar",function(){return b.default}),n.d(e,"Content",function(){return y.default}),n.d(e,"DatetimePicker",function(){return w.default}),n.d(e,"Modal",function(){return x.default}),n.d(e,"Multiselect",function(){return _.default}),n.d(e,"PopoverMenu",function(){return T.default}),n.d(e,"Tooltip",function(){return k.default}),n.d(e,"isFullscreen",function(){return C.default}),n.d(e,"isMobile",function(){return E.default}),"undefined"!=typeof window&&window.Vue&&M(window.Vue),e.default=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(e){S(t,e,n[e])})}return t}({install:M},i)}])},e.exports=o(i(2))},69:function(t,e,n){(function(e){
/**
* vue-local-storage v0.6.0
* (c) 2017 Alexander Avakov

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,4 @@
const path = require('path')
const { VueLoaderPlugin } = require('vue-loader');
module.exports = {
entry: {
@ -16,36 +15,5 @@ module.exports = {
splitChunks: {
automaticNameDelimiter: '-',
}
},
module: {
rules: [
{
test: /\.css$/,
use: [
'vue-style-loader', 'css-loader'
],
},
{
test: /\.scss$/,
use: [
'vue-style-loader', 'css-loader', 'sass-loader'
],
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
]
},
plugins: [
new VueLoaderPlugin()
],
resolve: {
extensions: ['*', '.js', '.vue', '.json']
}
}

View File

@ -1,28 +1,85 @@
const core = require('./core/webpack')
const settings = require('./settings/webpack')
const path = require('path');
const merge = require('webpack-merge');
const { VueLoaderPlugin } = require('vue-loader');
const accessibility = require('./apps/accessibility/webpack')
const comments = require('./apps/comments/webpack')
const files_sharing = require('./apps/files_sharing/webpack')
const files_trashbin = require('./apps/files_trashbin/webpack')
const files_versions = require('./apps/files_versions/webpack')
const oauth2 = require('./apps/oauth2/webpack')
const systemtags = require('./apps/systemtags/webpack')
const twofactor_backupscodes = require('./apps/twofactor_backupcodes/webpack')
const updatenotifications = require('./apps/updatenotification/webpack')
const workflowengine = require('./apps/workflowengine/webpack')
const core = require('./core/webpack');
const settings = require('./settings/webpack');
module.exports = [].concat(
core,
settings,
accessibility,
comments,
files_sharing,
files_trashbin,
files_versions,
oauth2,
systemtags,
twofactor_backupscodes,
updatenotifications,
workflowengine
);
const accessibility = require('./apps/accessibility/webpack');
const comments = require('./apps/comments/webpack');
const files_sharing = require('./apps/files_sharing/webpack');
const files_trashbin = require('./apps/files_trashbin/webpack');
const files_versions = require('./apps/files_versions/webpack');
const oauth2 = require('./apps/oauth2/webpack');
const systemtags = require('./apps/systemtags/webpack');
const twofactor_backupscodes = require('./apps/twofactor_backupcodes/webpack');
const updatenotifications = require('./apps/updatenotification/webpack');
const workflowengine = require('./apps/workflowengine/webpack');
module.exports = []
.concat(
core,
settings,
accessibility,
comments,
files_sharing,
files_trashbin,
files_versions,
oauth2,
systemtags,
twofactor_backupscodes,
updatenotifications,
workflowengine
)
.map(config =>
merge(config, {
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.(png|jpg|gif)$/,
loader: 'url-loader',
options: {
name: '[name].[ext]?[hash]',
limit: 8192
}
},
{
test: /\.handlebars/,
loader: "handlebars-loader",
query: {
extensions: '.handlebars'
}
}
]
},
plugins: [
new VueLoaderPlugin()
],
resolve: {
alias: {
OC: path.resolve(__dirname, './core/src/OC'),
OCA: path.resolve(__dirname, './core/src/OCA'),
// make sure to use the handlebar runtime when importing
handlebars: 'handlebars/runtime'
},
extensions: ['*', '.js', '.vue', '.json']
}
})
);