Migrate to vue3 (fix #126) #127
8070
package-lock.json
generated
8070
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
27
package.json
27
package.json
@ -2,11 +2,14 @@
|
|||||||
"name": "repod",
|
"name": "repod",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "NODE_ENV=production webpack --config webpack.js --progress",
|
"build": "vite build --mode production",
|
||||||
"dev": "NODE_ENV=development webpack --config webpack.js --progress",
|
"dev": "vite build --mode development",
|
||||||
"watch": "NODE_ENV=development webpack --config webpack.js --progress --watch",
|
"dev:watch": "vite build --mode development --watch",
|
||||||
|
"watch": "npm run dev:watch",
|
||||||
"lint": "eslint src",
|
"lint": "eslint src",
|
||||||
"stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css"
|
"lint:fix": "eslint src --fix",
|
||||||
|
"stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css",
|
||||||
|
"stylelint:fix": "stylelint src/**/*.vue src/**/*.scss src/**/*.css --fix"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"extends @nextcloud/browserslist-config"
|
"extends @nextcloud/browserslist-config"
|
||||||
@ -14,27 +17,25 @@
|
|||||||
"prettier": "@nextcloud/prettier-config",
|
"prettier": "@nextcloud/prettier-config",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nextcloud/axios": "^2.5.0",
|
"@nextcloud/axios": "^2.5.0",
|
||||||
"@nextcloud/dialogs": "^5.3.5",
|
"@nextcloud/dialogs": "github:nextcloud-libraries/nextcloud-dialogs#vue3",
|
||||||
"@nextcloud/initial-state": "^2.2.0",
|
"@nextcloud/initial-state": "^2.2.0",
|
||||||
"@nextcloud/l10n": "^3.1.0",
|
"@nextcloud/l10n": "^3.1.0",
|
||||||
"@nextcloud/router": "^3.0.1",
|
"@nextcloud/router": "^3.0.1",
|
||||||
"@nextcloud/vue": "^8.16.0",
|
"@nextcloud/vite-config": "^2.2.2",
|
||||||
|
"@nextcloud/vue": "9.0.0-alpha.5",
|
||||||
"dompurify": "^3.1.6",
|
"dompurify": "^3.1.6",
|
||||||
"linkify-html": "^4.1.3",
|
"linkify-html": "^4.1.3",
|
||||||
"vue": "^2",
|
"pinia": "^2.2.1",
|
||||||
|
"vue": "^3.4.37",
|
||||||
"vue-material-design-icons": "^5.3.0",
|
"vue-material-design-icons": "^5.3.0",
|
||||||
"vue-router": "^3",
|
"vue-router": "^4.4.3"
|
||||||
"vuex": "^3"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@nextcloud/browserslist-config": "^3.0.1",
|
"@nextcloud/browserslist-config": "^3.0.1",
|
||||||
"@nextcloud/eslint-config": "^8.4.1",
|
"@nextcloud/eslint-config": "^8.4.1",
|
||||||
"@nextcloud/prettier-config": "^1.1.0",
|
"@nextcloud/prettier-config": "^1.1.0",
|
||||||
"@nextcloud/stylelint-config": "^3.0.1",
|
"@nextcloud/stylelint-config": "^3.0.1",
|
||||||
"@nextcloud/webpack-vue-config": "^6.0.1",
|
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-plugin-prettier": "^5.2.1",
|
"eslint-plugin-prettier": "^5.2.1"
|
||||||
"eslint-webpack-plugin": "^4.2.0",
|
|
||||||
"stylelint-webpack-plugin": "^5.0.1"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
14
src/main.js
14
src/main.js
@ -1,13 +1,13 @@
|
|||||||
import { n, t } from '@nextcloud/l10n'
|
import { n, t } from '@nextcloud/l10n'
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import Vue from 'vue'
|
import { createApp } from 'vue'
|
||||||
import router from './router.js'
|
import router from './router.js'
|
||||||
import store from './store/main.js'
|
import store from './store/main.js'
|
||||||
|
|
||||||
Vue.mixin({ methods: { t, n } })
|
const Vue = createApp(App)
|
||||||
|
|
||||||
const View = Vue.extend(App)
|
Vue.mixin({ methods: { t, n } })
|
||||||
new View({
|
Vue.use(router)
|
||||||
router,
|
Vue.use(store)
|
||||||
store,
|
|
||||||
}).$mount('#content')
|
Vue.mount('#content')
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
import Discover from './views/Discover.vue'
|
import Discover from './views/Discover.vue'
|
||||||
import Feed from './views/Feed.vue'
|
import Feed from './views/Feed.vue'
|
||||||
import Router from 'vue-router'
|
import { createRouter } from 'vue-router'
|
||||||
import Vue from 'vue'
|
|
||||||
import { generateUrl } from '@nextcloud/router'
|
import { generateUrl } from '@nextcloud/router'
|
||||||
|
|
||||||
Vue.use(Router)
|
const router = createRouter({
|
||||||
|
|
||||||
const router = new Router({
|
|
||||||
base: generateUrl('apps/repod'),
|
base: generateUrl('apps/repod'),
|
||||||
routes: [
|
routes: [
|
||||||
{
|
{
|
||||||
|
5
vite.config.js
Normal file
5
vite.config.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { createAppConfig } from '@nextcloud/vite-config'
|
||||||
|
|
||||||
|
export default createAppConfig({
|
||||||
|
main: 'src/main.js',
|
||||||
|
})
|
31
webpack.js
31
webpack.js
@ -1,31 +0,0 @@
|
|||||||
const webpackConfig = require('@nextcloud/webpack-vue-config')
|
|
||||||
const ESLintPlugin = require('eslint-webpack-plugin')
|
|
||||||
const StyleLintPlugin = require('stylelint-webpack-plugin')
|
|
||||||
const path = require('path')
|
|
||||||
|
|
||||||
webpackConfig.entry = {
|
|
||||||
main: { import: path.join(__dirname, 'src', 'main.js'), filename: 'main.js' },
|
|
||||||
}
|
|
||||||
|
|
||||||
webpackConfig.plugins.push(
|
|
||||||
new ESLintPlugin({
|
|
||||||
extensions: ['js', 'vue'],
|
|
||||||
files: 'src',
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
|
|
||||||
webpackConfig.plugins.push(
|
|
||||||
new StyleLintPlugin({
|
|
||||||
files: 'src/**/*.{css,scss,vue}',
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
|
|
||||||
webpackConfig.module.rules.push({
|
|
||||||
test: /\.svg$/i,
|
|
||||||
type: 'asset/source',
|
|
||||||
})
|
|
||||||
|
|
||||||
webpackConfig.devtool =
|
|
||||||
webpackConfig.mode !== 'production' ? webpackConfig.devtool : false
|
|
||||||
|
|
||||||
module.exports = webpackConfig
|
|
Loading…
Reference in New Issue
Block a user