@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 CHANGED
@@ -9,3 +9,6 @@ export { ViewRoot, Page, NavBar }
9
9
 
10
10
  import { useHost } from "./host.js"
11
11
  export { useHost }
12
+
13
+ import { useResponse } from "./response.js"
14
+ export { useResponse }
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, isSSR) {
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.5",
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.2",
24
- "@live-change/dao": "0.5.6",
25
- "@live-change/dao-vue3": "0.5.6",
26
- "@live-change/dao-websocket": "0.5.6",
27
- "@live-change/email-service": "0.3.0",
28
- "@live-change/password-authentication-service": "0.3.0",
29
- "@live-change/secret-code-service": "0.3.0",
30
- "@live-change/secret-link-service": "0.3.0",
31
- "@live-change/security-frontend": "^0.2.5",
32
- "@live-change/session-service": "0.3.0",
33
- "@live-change/user-service": "0.3.0",
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.2",
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": "76ac0dd54acf671cb564a1aa943d81a9e2bc99e9"
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 { app, router } = createApp(api, App, createRouter, host, true)
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
  },