File tree Expand file tree Collapse file tree 2 files changed +31
-4
lines changed Expand file tree Collapse file tree 2 files changed +31
-4
lines changed Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " hypernova-vue" ,
3
- "version" : " 2.0 .0" ,
3
+ "version" : " 2.1 .0" ,
4
4
"description" : " Vue bindings for Hypernova" ,
5
5
"main" : " lib/index.js" ,
6
6
"author" :
" Felipe Guizar Diaz <[email protected] >" ,
21
21
"url" :
" [email protected] :marconi1992/hypernova-vue.git"
22
22
},
23
23
"devDependencies" : {
24
- "babel-cli" : " ^6.26.0" ,
25
- "babel-preset-airbnb" : " ^2.5.3" ,
24
+ "@babel/cli" : " ^7.5.5" ,
25
+ "@babel/core" : " ^7.5.5" ,
26
+ "@babel/runtime" : " ^7.5.5" ,
27
+ "babel-preset-airbnb" : " ^4.0.1" ,
26
28
"eslint" : " ^5.14.1" ,
27
29
"eslint-config-airbnb-base" : " ^13.1.0" ,
28
30
"eslint-plugin-import" : " ^2.16.0"
29
31
},
30
- "peerDependencies " : {
32
+ "dependencies " : {
31
33
"hypernova" : " ^2.5.0" ,
34
+ "nova-helpers" : " ^1.0.1-alpha.0" ,
32
35
"vue" : " ^2.6.6" ,
33
36
"vue-server-renderer" : " ^2.6.6"
34
37
}
Original file line number Diff line number Diff line change 1
1
import vue from 'vue' ;
2
2
import { createRenderer } from 'vue-server-renderer' ;
3
3
import hypernova , { serialize , load } from 'hypernova' ;
4
+ import { findNode , getData } from 'nova-helpers' ;
5
+
6
+ const { document } = global ;
7
+
8
+ const mountComponent = ( Component , node , data ) => {
9
+ const vm = new Component ( {
10
+ propsData : data ,
11
+ } ) ;
12
+
13
+ if ( ! node . firstChild ) {
14
+ node . appendChild ( document . createElement ( 'div' ) ) ;
15
+ }
16
+
17
+ vm . $mount ( node . children [ 0 ] ) ;
18
+ } ;
4
19
5
20
export const Vue = vue ;
6
21
22
+ export const renderInPlaceholder = ( name , Component , id ) => {
23
+ const node = findNode ( name , id ) ;
24
+ const data = getData ( name , id ) ;
25
+
26
+ if ( node && data ) {
27
+ mountComponent ( Component , node , data ) ;
28
+ }
29
+ } ;
30
+
7
31
export const renderVue = ( name , Component ) => hypernova ( {
8
32
server ( ) {
9
33
return async ( propsData ) => {
You can’t perform that action at this time.
0 commit comments