mirror of
https://github.com/nextcloud/richdocuments.git
synced 2025-12-17 21:12:14 +01:00
Migrate to @nextcloud/webpack-vue-config
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
1d4752b4d7
commit
ce808da615
6 changed files with 1367 additions and 1252 deletions
2449
package-lock.json
generated
2449
package-lock.json
generated
File diff suppressed because it is too large
Load diff
33
package.json
33
package.json
|
|
@ -12,9 +12,9 @@
|
|||
"license": "AGPL-3.0-or-later",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "NODE_ENV=development webpack --config webpack.dev.js",
|
||||
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.dev.js",
|
||||
"build": "NODE_ENV=production webpack --progress --config webpack.prod.js",
|
||||
"build": "NODE_ENV=production webpack --progress --config webpack.js",
|
||||
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
|
||||
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
|
||||
"lint": "eslint --ext .js,.vue src",
|
||||
"lint:fix": "eslint --ext .js,.vue src --fix",
|
||||
"stylelint": "stylelint css/*",
|
||||
|
|
@ -39,14 +39,16 @@
|
|||
"node": ">=10.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.13.8",
|
||||
"@babel/core": "^7.13.10",
|
||||
"@babel/eslint-parser": "^7.13.10",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||
"@babel/plugin-transform-runtime": "^7.13.9",
|
||||
"@babel/plugin-transform-runtime": "^7.13.10",
|
||||
"@babel/polyfill": "^7.12.1",
|
||||
"@babel/preset-env": "^7.13.9",
|
||||
"@babel/preset-env": "^7.13.12",
|
||||
"@nextcloud/browserslist-config": "^2.1.0",
|
||||
"@nextcloud/eslint-config": "^2.1.0",
|
||||
"@nextcloud/eslint-plugin": "^1.5.0",
|
||||
"@nextcloud/eslint-config": "^4.0.0",
|
||||
"@nextcloud/eslint-plugin": "^2.0.0",
|
||||
"@nextcloud/webpack-vue-config": "^3.0.0",
|
||||
"@vue/test-utils": "^1.1.3",
|
||||
"acorn": "^8.0.5",
|
||||
"babel-core": "^7.0.0-bridge.0",
|
||||
|
|
@ -54,16 +56,16 @@
|
|||
"babel-jest": "^26.6.3",
|
||||
"babel-loader": "^8.2.2",
|
||||
"babel-loader-exclude-node-modules-except": "^1.1.2",
|
||||
"css-loader": "^5.1.1",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-standard": "^12.0.0",
|
||||
"css-loader": "^4.3.0",
|
||||
"eslint": "^7.22.0",
|
||||
"eslint-config-standard": "^16.0.2",
|
||||
"eslint-friendly-formatter": "^4.0.1",
|
||||
"eslint-loader": "^3.0.4",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.3.1",
|
||||
"eslint-plugin-standard": "^4.1.0",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"eslint-plugin-vue": "^7.8.0",
|
||||
"eslint-webpack-plugin": "^2.5.3",
|
||||
"file-loader": "^6.2.0",
|
||||
"jest": "^26.6.3",
|
||||
"jest-environment-jsdom-fourteen": "^1.0.1",
|
||||
|
|
@ -71,9 +73,10 @@
|
|||
"node-sass": "^5.0.0",
|
||||
"prettier-eslint": "^12.0.0",
|
||||
"raw-loader": "^4.0.2",
|
||||
"sass": "^1.32.8",
|
||||
"sass-loader": "^10.1.1",
|
||||
"style-loader": "^2.0.0",
|
||||
"stylelint": "^13.11.0",
|
||||
"stylelint": "^13.12.0",
|
||||
"stylelint-config-recommended-scss": "^4.2.0",
|
||||
"stylelint-scss": "^3.19.0",
|
||||
"stylelint-webpack-plugin": "^2.1.1",
|
||||
|
|
@ -85,7 +88,7 @@
|
|||
"vue-style-loader": "^4.1.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack": "^4.46.0",
|
||||
"webpack-cli": "^4.5.0",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-merge": "^5.7.3"
|
||||
},
|
||||
"jest": {
|
||||
|
|
|
|||
|
|
@ -1,75 +0,0 @@
|
|||
const path = require('path');
|
||||
const VueLoaderPlugin = require('vue-loader/lib/plugin');
|
||||
const BabelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except')
|
||||
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
viewer: path.join(__dirname, 'src', 'viewer.js'),
|
||||
files: path.join(__dirname, 'src', 'files.js'),
|
||||
document: path.join(__dirname, 'src', 'document.js'),
|
||||
admin: path.join(__dirname, 'src', 'admin.js'),
|
||||
personal: path.join(__dirname, 'src', 'personal.js'),
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, './js'),
|
||||
publicPath: '/js/',
|
||||
filename: '[name].js',
|
||||
chunkFilename: '[name].[chunkhash].js'
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.(js|vue)$/,
|
||||
exclude: /node_modules/,
|
||||
use: 'eslint-loader',
|
||||
enforce: 'pre'
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
'css-loader'
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.scss$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
'css-loader',
|
||||
'sass-loader'
|
||||
]
|
||||
},
|
||||
{
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader'
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
exclude: BabelLoaderExcludeNodeModulesExcept([
|
||||
'@nextcloud/dialogs',
|
||||
'@nextcloud/event-bus'
|
||||
]),
|
||||
},
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
use: ['babel-loader', 'ts-loader'],
|
||||
exclude: /node_modules/
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpg|gif|svg)$/,
|
||||
loader: 'url-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new VueLoaderPlugin()
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
vue$: 'vue/dist/vue.esm.js'
|
||||
},
|
||||
extensions: ['*', '.js', '.vue', '.json', '.tsx']
|
||||
}
|
||||
};
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
const { merge } = require('webpack-merge');
|
||||
const common = require('./webpack.common.js');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: 'development',
|
||||
devServer: {
|
||||
historyApiFallback: true,
|
||||
noInfo: true,
|
||||
overlay: true
|
||||
},
|
||||
devtool: 'source-map',
|
||||
})
|
||||
43
webpack.js
Normal file
43
webpack.js
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
const { merge } = require('webpack-merge')
|
||||
const path = require('path')
|
||||
|
||||
const webpackConfig = require('@nextcloud/webpack-vue-config')
|
||||
const BabelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except')
|
||||
|
||||
const config = {
|
||||
entry: {
|
||||
viewer: path.join(__dirname, 'src', 'viewer.js'),
|
||||
files: path.join(__dirname, 'src', 'files.js'),
|
||||
document: path.join(__dirname, 'src', 'document.js'),
|
||||
admin: path.join(__dirname, 'src', 'admin.js'),
|
||||
personal: path.join(__dirname, 'src', 'personal.js'),
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
exclude: BabelLoaderExcludeNodeModulesExcept([
|
||||
'@nextcloud/dialogs',
|
||||
'@nextcloud/event-bus'
|
||||
]),
|
||||
},
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
use: ['babel-loader', 'ts-loader'],
|
||||
exclude: /node_modules/
|
||||
},
|
||||
],
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['*', '.js', '.vue', '.json', '.tsx']
|
||||
}
|
||||
}
|
||||
|
||||
const mergedConfigs = merge(config, webpackConfig)
|
||||
|
||||
// Remove duplicate rules by the `test` key
|
||||
mergedConfigs.module.rules = mergedConfigs.module.rules.filter((v, i, a) => a.findIndex(t => (t.test.toString() === v.test.toString())) === i)
|
||||
|
||||
// Merge rules by replacing existing tests
|
||||
module.exports = mergedConfigs
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
const { merge } = require('webpack-merge')
|
||||
const common = require('./webpack.common.js')
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: 'production',
|
||||
devtool: '#source-map'
|
||||
})
|
||||
Loading…
Add table
Reference in a new issue