@live-change/frontend-base 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +3 -0
- package/main.js +8 -1
- package/package.json +15 -14
- package/response.js +17 -0
- package/server-entry.js +9 -2
- package/vite-config.js +2 -1
package/index.js
CHANGED
package/main.js
CHANGED
|
@@ -14,14 +14,17 @@ import { PrimeVueDialogSymbol } from 'primevue/usedialog'
|
|
|
14
14
|
import StyleClass from 'primevue/styleclass'
|
|
15
15
|
import Ripple from 'primevue/ripple'
|
|
16
16
|
import BadgeDirective from 'primevue/badgedirective'
|
|
17
|
+
import VueLazyLoad from 'vue3-lazyload'
|
|
17
18
|
|
|
18
19
|
// SSR requires a fresh app instance per request, therefore we export a function
|
|
19
20
|
// that creates a fresh app instance. If using Vuex, we'd also be creating a
|
|
20
21
|
// fresh store here.
|
|
21
|
-
export function createApp(api, App, createRouter, host,
|
|
22
|
+
export function createApp(api, App, createRouter, host, response) {
|
|
23
|
+
const isSSR = response !== undefined
|
|
22
24
|
const app = createSSRApp(App)
|
|
23
25
|
app.config.devtools = true
|
|
24
26
|
|
|
27
|
+
app.config.globalProperties.$response = response
|
|
25
28
|
app.config.globalProperties.$host = host
|
|
26
29
|
|
|
27
30
|
api.installInstanceProperties(app.config.globalProperties)
|
|
@@ -62,6 +65,10 @@ export function createApp(api, App, createRouter, host, isSSR) {
|
|
|
62
65
|
app.directive('ripple', Ripple)
|
|
63
66
|
app.directive('badge', BadgeDirective)
|
|
64
67
|
|
|
68
|
+
app.use(VueLazyLoad, {
|
|
69
|
+
// options...
|
|
70
|
+
})
|
|
71
|
+
|
|
65
72
|
const meta = createMetaManager({
|
|
66
73
|
isSSR
|
|
67
74
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/frontend-base",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"memDev": "lcli memDev --enableSessions --initScript ./init.js --templatePath ../../base-frontend/index.html",
|
|
6
6
|
"localDevInit": "rm tmp.db; lcli localDev --enableSessions --initScript ./init.js",
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
"debug": "node --inspect-brk server"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@live-change/cli": "0.7.
|
|
24
|
-
"@live-change/dao": "0.5.
|
|
25
|
-
"@live-change/dao-vue3": "0.5.
|
|
26
|
-
"@live-change/dao-websocket": "0.5.
|
|
27
|
-
"@live-change/email-service": "0.3.
|
|
28
|
-
"@live-change/password-authentication-service": "0.3.
|
|
29
|
-
"@live-change/secret-code-service": "0.3.
|
|
30
|
-
"@live-change/secret-link-service": "0.3.
|
|
31
|
-
"@live-change/security-frontend": "^0.2.
|
|
32
|
-
"@live-change/session-service": "0.3.
|
|
33
|
-
"@live-change/user-service": "0.3.
|
|
23
|
+
"@live-change/cli": "0.7.4",
|
|
24
|
+
"@live-change/dao": "0.5.8",
|
|
25
|
+
"@live-change/dao-vue3": "0.5.8",
|
|
26
|
+
"@live-change/dao-websocket": "0.5.8",
|
|
27
|
+
"@live-change/email-service": "0.3.2",
|
|
28
|
+
"@live-change/password-authentication-service": "0.3.2",
|
|
29
|
+
"@live-change/secret-code-service": "0.3.2",
|
|
30
|
+
"@live-change/secret-link-service": "0.3.2",
|
|
31
|
+
"@live-change/security-frontend": "^0.2.7",
|
|
32
|
+
"@live-change/session-service": "0.3.2",
|
|
33
|
+
"@live-change/user-service": "0.3.2",
|
|
34
34
|
"@live-change/vue3-components": "0.2.15",
|
|
35
35
|
"@live-change/vue3-ssr": "0.2.15",
|
|
36
36
|
"@vitejs/plugin-vue": "^2.3.1",
|
|
@@ -53,10 +53,11 @@
|
|
|
53
53
|
"vite-plugin-vue-images": "^0.6.1",
|
|
54
54
|
"vue-meta": "^3.0.0-alpha.9",
|
|
55
55
|
"vue-router": "^4.1.3",
|
|
56
|
+
"vue3-lazyload": "0.2.5-beta",
|
|
56
57
|
"vue3-scroll-border": "0.1.2"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
|
-
"@live-change/codeceptjs-helper": "0.7.
|
|
60
|
+
"@live-change/codeceptjs-helper": "0.7.4",
|
|
60
61
|
"@wdio/selenium-standalone-service": "^7.20.8",
|
|
61
62
|
"codeceptjs": "^3.3.4",
|
|
62
63
|
"generate-password": "1.7.0",
|
|
@@ -68,5 +69,5 @@
|
|
|
68
69
|
"author": "",
|
|
69
70
|
"license": "BSD-3-Clause",
|
|
70
71
|
"description": "",
|
|
71
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "ef577fb31dd857acb491bd7114e611638283fe6f"
|
|
72
73
|
}
|
package/response.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getCurrentInstance } from 'vue'
|
|
2
|
+
|
|
3
|
+
function useResponse(data, context) {
|
|
4
|
+
context = context || getCurrentInstance().appContext
|
|
5
|
+
if(data && context.config.globalProperties.$response) {
|
|
6
|
+
if(data.status) {
|
|
7
|
+
context.config.globalProperties.$response.status = data.status
|
|
8
|
+
}
|
|
9
|
+
if(data.headers) {
|
|
10
|
+
for(const header in data.headers)
|
|
11
|
+
context.config.globalProperties.$response.headers[header] = data.headers[header]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return context.config.globalProperties.$response || { headers: {} }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { useResponse }
|
package/server-entry.js
CHANGED
|
@@ -22,7 +22,14 @@ export function serverEntry(App, createRouter) {
|
|
|
22
22
|
windowId
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
-
const
|
|
25
|
+
const response = {
|
|
26
|
+
status: 200,
|
|
27
|
+
headers: {
|
|
28
|
+
'Content-Type': 'text/html'
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const { app, router } = createApp(api, App, createRouter, host, response)
|
|
26
33
|
|
|
27
34
|
app.directive('shared-element', {})
|
|
28
35
|
|
|
@@ -59,6 +66,6 @@ export function serverEntry(App, createRouter) {
|
|
|
59
66
|
).join(' ')}>`))
|
|
60
67
|
].join('\n')
|
|
61
68
|
|
|
62
|
-
return {html, data, meta: ctx.teleports, modules: ctx.modules}
|
|
69
|
+
return {html, data, meta: ctx.teleports, modules: ctx.modules, response}
|
|
63
70
|
}
|
|
64
71
|
}
|
package/vite-config.js
CHANGED
|
@@ -38,7 +38,8 @@ module.exports = async ({ command, mode }) => ({
|
|
|
38
38
|
'ripple': ssrTransformCustomDir,
|
|
39
39
|
'styleclass': ssrTransformCustomDir,
|
|
40
40
|
'badge': ssrTransformCustomDir,
|
|
41
|
-
'shared-element': ssrTransformCustomDir
|
|
41
|
+
'shared-element': ssrTransformCustomDir,
|
|
42
|
+
'lazy': ssrTransformCustomDir
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
},
|