Skip to content

Commit 2a67fb9

Browse files
committed
(vue3) compatibility
1 parent 97f1a34 commit 2a67fb9

15 files changed

+61
-43
lines changed

.eslintrc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module.exports = {
33
env: {
44
node: true
55
},
6-
extends: ['standard', 'plugin:vue/recommended', '@vue/typescript'],
6+
extends: ['standard', 'plugin:vue/vue3-recommended', '@vue/typescript'],
77
rules: {
88
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
99
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',

demo/.eslintrc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module.exports = {
33
env: {
44
node: true
55
},
6-
extends: ['standard', 'plugin:vue/recommended'],
6+
extends: ['standard', 'plugin:vue/vue3-recommended'],
77
rules: {
88
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
99
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',

demo/package.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,20 @@
1616
},
1717
"dependencies": {
1818
"firebase": "^9.4.0",
19-
"vue": "^2.6.14",
20-
"vue-advanced-chat": "latest"
19+
"vue": "^3.1.0",
20+
"vue-advanced-chat": "https://github.com/antoine92190/vue-advanced-chat/tarball/next"
2121
},
2222
"devDependencies": {
2323
"@vue/cli-plugin-babel": "^4.5.13",
2424
"@vue/cli-plugin-eslint": "^4.5.13",
2525
"@vue/cli-service": "^4.5.13",
26+
"@vue/compat": "^3.1.0",
27+
"@vue/compiler-sfc": "^3.1.0",
2628
"@vue/eslint-config-standard": "^4.0.0",
2729
"babel-eslint": "^10.0.3",
2830
"eslint": "^6.8.0",
2931
"eslint-plugin-vue": "^7.14.0",
3032
"node-sass": "^6.0.1",
31-
"sass-loader": "^10.1.1",
32-
"vue-template-compiler": "^2.6.14"
33+
"sass-loader": "^10.1.1"
3334
}
3435
}

demo/src/main.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import Vue from 'vue'
1+
import { createApp, h } from 'vue'
22
import App from './App.vue'
33

4-
Vue.config.productionTip = false
4+
const app = createApp({
5+
render: () => h(App)
6+
})
57

6-
new Vue({
7-
render: h => h(App)
8-
}).$mount('#app')
8+
app.mount('#app')

demo/vue.config.js

+18
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,23 @@ module.exports = {
44
process.env.NODE_ENV === 'production' ? '/vue-advanced-chat/' : '/',
55
devServer: {
66
open: true
7+
},
8+
9+
chainWebpack: config => {
10+
config.resolve.alias.set('vue', '@vue/compat')
11+
12+
config.module
13+
.rule('vue')
14+
.use('vue-loader')
15+
.tap(options => {
16+
return {
17+
...options,
18+
compilerOptions: {
19+
compatConfig: {
20+
MODE: 3
21+
}
22+
}
23+
}
24+
})
725
}
826
}

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@vue/cli-plugin-eslint": "^4.5.13",
5454
"@vue/cli-plugin-typescript": "^4.5.13",
5555
"@vue/cli-service": "^4.5.13",
56+
"@vue/compiler-sfc": "^3.1.0",
5657
"@vue/eslint-config-standard": "^4.0.0",
5758
"@vue/eslint-config-typescript": "^7.0.0",
5859
"@vue/test-utils": "^1.1.3",
@@ -66,9 +67,8 @@
6667
"rimraf": "^3.0.2",
6768
"sass-loader": "^10.1.1",
6869
"typescript": "^4.0.5",
69-
"vue": "^2.6.14",
70-
"vue-jest": "^3.0.7",
71-
"vue-template-compiler": "^2.6.14"
70+
"vue": "^3.1.0",
71+
"vue-jest": "^3.0.7"
7272
},
7373
"peerDependencies": {
7474
"vue": "^2.6.14"

src/lib/ChatWindow.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
@add-room="addRoom"
2323
@room-action-handler="roomActionHandler"
2424
>
25-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
25+
<template v-for="(i, name) in $slots" #[name]="data">
2626
<slot :name="name" v-bind="data" />
2727
</template>
2828
</rooms-list>
@@ -71,7 +71,7 @@
7171
@typing-message="typingMessage"
7272
@textarea-action-handler="textareaActionHandler"
7373
>
74-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
74+
<template v-for="(i, name) in $slots" #[name]="data">
7575
<slot :name="name" v-bind="data" />
7676
</template>
7777
</room>

src/lib/Message/Message.vue

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
:link-options="linkOptions"
1717
@open-user-tag="openUserTag"
1818
>
19-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
19+
<template v-for="(i, name) in $slots" #[name]="data">
2020
<slot :name="name" v-bind="data" />
2121
</template>
2222
</format-message>
@@ -66,7 +66,7 @@
6666
:text-formatting="textFormatting"
6767
:link-options="linkOptions"
6868
>
69-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
69+
<template v-for="(i, name) in $slots" #[name]="data">
7070
<slot :name="name" v-bind="data" />
7171
</template>
7272
</message-reply>
@@ -86,7 +86,7 @@
8686
:link-options="linkOptions"
8787
@open-user-tag="openUserTag"
8888
>
89-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
89+
<template v-for="(i, name) in $slots" #[name]="data">
9090
<slot :name="name" v-bind="data" />
9191
</template>
9292
</format-message>
@@ -100,7 +100,7 @@
100100
:link-options="linkOptions"
101101
@open-file="openFile"
102102
>
103-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
103+
<template v-for="(i, name) in $slots" #[name]="data">
104104
<slot :name="name" v-bind="data" />
105105
</template>
106106
</message-files>
@@ -111,7 +111,7 @@
111111
@update-progress-time="progressTime = $event"
112112
@hover-audio-progress="hoverAudioProgress = $event"
113113
>
114-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
114+
<template v-for="(i, name) in $slots" #[name]="data">
115115
<slot :name="name" v-bind="data" />
116116
</template>
117117
</audio-player>
@@ -161,7 +161,7 @@
161161
@message-action-handler="messageActionHandler"
162162
@send-message-reaction="sendMessageReaction"
163163
>
164-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
164+
<template v-for="(i, name) in $slots" #[name]="data">
165165
<slot :name="name" v-bind="data" />
166166
</template>
167167
</message-actions>

src/lib/Message/MessageFiles/MessageFile/MessageFile.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
:style="{ top: `${imageResponsive.loaderTop}px` }"
1919
:show="isImageLoading"
2020
>
21-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
21+
<template v-for="(idx, name) in $slots" #[name]="data">
2222
<slot :name="name" v-bind="data" />
2323
</template>
2424
</loader>

src/lib/Message/MessageFiles/MessageFiles.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
:index="idx"
99
@open-file="$emit('open-file', $event)"
1010
>
11-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
11+
<template v-for="(i, name) in $slots" #[name]="data">
1212
<slot :name="name" v-bind="data" />
1313
</template>
1414
</message-file>
@@ -37,7 +37,7 @@
3737
:link-options="linkOptions"
3838
@open-user-tag="$emit('open-user-tag')"
3939
>
40-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
40+
<template v-for="(i, name) in $slots" #[name]="data">
4141
<slot :name="name" v-bind="data" />
4242
</template>
4343
</format-message>

src/lib/Message/MessageReply/MessageReply.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
@update-progress-time="progressTime = $event"
2626
@hover-audio-progress="hoverAudioProgress = $event"
2727
>
28-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
28+
<template v-for="(i, name) in $slots" #[name]="data">
2929
<slot :name="name" v-bind="data" />
3030
</template>
3131
</audio-player>
@@ -55,7 +55,7 @@
5555
:link-options="linkOptions"
5656
:reply="true"
5757
>
58-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
58+
<template v-for="(i, name) in $slots" #[name]="data">
5959
<slot :name="name" v-bind="data" />
6060
</template>
6161
</format-message>

src/lib/Room/Room.vue

+8-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
@room-info="$emit('room-info')"
2525
@menu-action-handler="$emit('menu-action-handler', $event)"
2626
>
27-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
27+
<template v-for="(i, name) in $slots" #[name]="data">
2828
<slot :name="name" v-bind="data" />
2929
</template>
3030
</room-header>
@@ -36,7 +36,7 @@
3636
@scroll="onContainerScroll"
3737
>
3838
<loader :show="loadingMessages">
39-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
39+
<template v-for="(idx, name) in $slots" #[name]="data">
4040
<slot :name="name" v-bind="data" />
4141
</template>
4242
</loader>
@@ -59,7 +59,7 @@
5959
id="infinite-loader-messages"
6060
>
6161
<loader :show="true" :infinite="true">
62-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
62+
<template v-for="(idx, name) in $slots" #[name]="data">
6363
<slot :name="name" v-bind="data" />
6464
</template>
6565
</loader>
@@ -89,7 +89,7 @@
8989
@send-message-reaction="sendMessageReaction"
9090
@hide-options="hideOptions = $event"
9191
>
92-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
92+
<template v-for="(idx, name) in $slots" #[name]="data">
9393
<slot :name="name" v-bind="data" />
9494
</template>
9595
</message>
@@ -154,7 +154,7 @@
154154
:link-options="linkOptions"
155155
@reset-message="resetMessage"
156156
>
157-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
157+
<template v-for="(i, name) in $slots" #[name]="data">
158158
<slot :name="name" v-bind="data" />
159159
</template>
160160
</room-message-reply>
@@ -164,7 +164,7 @@
164164
@remove-file="removeFile"
165165
@reset-message="resetMessage"
166166
>
167-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
167+
<template v-for="(i, name) in $slots" #[name]="data">
168168
<slot :name="name" v-bind="data" />
169169
</template>
170170
</room-files>
@@ -249,7 +249,7 @@
249249
@add-emoji="addEmoji"
250250
@open-emoji="emojiOpened = $event"
251251
>
252-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
252+
<template v-for="(i, name) in $slots" #[name]="data">
253253
<slot :name="name" v-bind="data" />
254254
</template>
255255
</emoji-picker-container>
@@ -577,7 +577,7 @@ export default {
577577
})
578578
},
579579
580-
beforeDestroy() {
580+
beforeUnmount() {
581581
this.stopRecorder()
582582
},
583583

src/lib/Room/RoomMessageReply/RoomMessageReply.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
:link-options="linkOptions"
1919
:reply="true"
2020
>
21-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
21+
<template v-for="(i, name) in $slots" #[name]="data">
2222
<slot :name="name" v-bind="data" />
2323
</template>
2424
</format-message>
@@ -36,7 +36,7 @@
3636
:src="firstFile.url"
3737
class="vac-audio-reply"
3838
>
39-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
39+
<template v-for="(i, name) in $slots" #[name]="data">
4040
<slot :name="name" v-bind="data" />
4141
</template>
4242
</audio-player>

src/lib/RoomsList/RoomsList.vue

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
@search-room="searchRoom"
1717
@add-room="$emit('add-room')"
1818
>
19-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
19+
<template v-for="(i, name) in $slots" #[name]="data">
2020
<slot :name="name" v-bind="data" />
2121
</template>
2222
</rooms-search>
2323
</slot>
2424

2525
<loader :show="loadingRooms">
26-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
26+
<template v-for="(idx, name) in $slots" #[name]="data">
2727
<slot :name="name" v-bind="data" />
2828
</template>
2929
</loader>
@@ -52,15 +52,15 @@
5252
:room-actions="roomActions"
5353
@room-action-handler="$emit('room-action-handler', $event)"
5454
>
55-
<template v-for="(i, name) in $scopedSlots" #[name]="data">
55+
<template v-for="(i, name) in $slots" #[name]="data">
5656
<slot :name="name" v-bind="data" />
5757
</template>
5858
</room-content>
5959
</div>
6060
<transition name="vac-fade-message">
6161
<div v-if="rooms.length && !loadingRooms" id="infinite-loader-rooms">
6262
<loader :show="showLoader" :infinite="true">
63-
<template v-for="(idx, name) in $scopedSlots" #[name]="data">
63+
<template v-for="(idx, name) in $slots" #[name]="data">
6464
<slot :name="name" v-bind="data" />
6565
</template>
6666
</loader>

tsconfig.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@
44
"declaration": true,
55
"emitDeclarationOnly": true,
66
"outDir": "types"
7-
},
8-
"include": ["dist/**/*"]
7+
}
98
}

0 commit comments

Comments
 (0)