Skip to content

Commit 45af86b

Browse files
msaelicesrigor789
authored andcommitted
Samples refactoring to use a bundle app with webpack and support HMR and .vue files (nativescript-vue#476)
* feat (samples): Run the samples using a webpack bundle. Closer to real-world NS-vue apps. Allow any aditional parameters to the tns command like --hmr or whatever. * feat (samples): Add a sample with a Vue component to check the HMR feature. * Change NPM dev script to build to dist/index.js. Remove the dev:dist script as it is not useful now. Document new features * feat (samples): Fix live reload when changing the NS-vue code * feat (sample): Adapt all the import to nativescript-vue * feat (samples): Separate the details page into a new .vue component for better UX * fix (samples): Fix the 455.js sample which is now adapted to the new samples infrastructure * chore (v-slot): Add sample (currently failing) for testing v-slot in a .vue component
1 parent fcbce9b commit 45af86b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+444
-50
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 2 deletions

build/sample-runner.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const samplePackage = require('../samples/app/package.json')
66
const originalMain = samplePackage.main
77

88
let tns
9+
let args = process.argv.slice(2)
910

1011
const files = fs
1112
.readdirSync(path.resolve(__dirname, '../samples/app'))
@@ -40,11 +41,11 @@ inquirer
4041
})
4142

4243
function runPlatform(platform) {
43-
tns = spawn('tns', ['debug', platform], {
44+
tns = spawn('tns', ['debug', platform, '--syncAllFiles', '--bundle'].concat(args), {
4445
cwd: path.resolve(__dirname, '../samples')
4546
})
4647

47-
tns.on('error', err => console.log(err))
48+
tns.on('error', err => console.error(err))
4849
tns.stdout.on('data', data => process.stdout.write(platform + ': ' +data))
4950
}
5051

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
"test": "jest",
1616
"tdd": "jest --watch",
1717
"samples": "node build/sample-runner.js",
18-
"dev": "rollup -c build/config.js -w --o samples/app/nativescript-vue.js --environment TARGET:nativescript-vue",
19-
"dev:dist": "rollup -c build/config.js -w --o dist/index.js --environment TARGET:nativescript-vue",
18+
"dev": "rollup -c build/config.js -w --o dist/index.js --environment TARGET:nativescript-vue",
2019
"build": "node build/build.js",
2120
"build:docs": "cd docs && npm run build",
2221
"prettier": "prettier --no-semi --single-quote --write \"{{platform,__test__}/**/*.js,samples/app/*.js}\"",

samples/app/127.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/171.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.silent = false
44

samples/app/217.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/220.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/229.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.silent = false
44

samples/app/231.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.silent = false
44

samples/app/240.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/272.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/339.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/344.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueDevtools = require('nativescript-vue-devtools')
33
Vue.use(VueDevtools)
44
Vue.config.debug = true

samples/app/445.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false
@@ -14,7 +14,7 @@ new Vue({
1414
template: `
1515
<StackLayout :color="counter < 5 ? 'red' : 'blue'">
1616
<slot :counter="counter"/>
17-
17+
1818
<Button text="+1" @tap="counter++"/>
1919
</StackLayout>
2020
`

samples/app/76.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/app-to-check-android-events.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const application = require('tns-core-modules/application')
33
const platform = require('tns-core-modules/platform')
44

samples/app/app-to-check-hmr.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const Vue = require('nativescript-vue')
2+
const application = require('tns-core-modules/application')
3+
const platform = require('tns-core-modules/platform')
4+
5+
Vue.config.silent = false
6+
Vue.config.debug = true
7+
8+
import Home from './components/Home'
9+
10+
new Vue({
11+
components: {
12+
Home
13+
},
14+
render: h => h('frame', [h(Home)])
15+
}).$start()

samples/app/app-to-check-v-slot.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const Vue = require('nativescript-vue')
2+
3+
Vue.config.silent = false
4+
Vue.config.debug = true
5+
6+
import VSlot from './components/VSlot'
7+
8+
new Vue({
9+
components: {
10+
VSlot
11+
},
12+
render: h => h('frame', [h(VSlot)])
13+
}).$start()

samples/app/app-with-all-components.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const frame = require('tns-core-modules/ui/frame')
33
const platform = require('tns-core-modules/platform')
44
const utils = require('tns-core-modules/utils/utils')

samples/app/app-with-android-ios.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
new Vue({
44
template: `

samples/app/app-with-formatted-string.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
new Vue({
44
template: `

samples/app/app-with-frame.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueDevtools = require('nativescript-vue-devtools')
33

44
Vue.use(VueDevtools)

samples/app/app-with-frames.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.silent = false
44
Vue.config.debug = true

samples/app/app-with-gauge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33
const application = require('tns-core-modules/application')
44
const observable_array = require('tns-core-modules/data/observable-array')

samples/app/app-with-http-requests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const http = require('http')
33

44
Vue.config.debug = true

samples/app/app-with-list-view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const http = require('http')
33

44
Vue.config.debug = true

samples/app/app-with-nested-object-list-view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
new Vue({
44
template: `

samples/app/app-with-ns-router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33

44
Vue.config.silent = false

samples/app/app-with-page-routing.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33

44
Vue.config.silent = false

samples/app/app-with-pager.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const Pager = require('nativescript-pager/vue')
33

44
Vue.use(Pager)

samples/app/app-with-pages.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44
Vue.config.silent = false

samples/app/app-with-radsidedrawer-tabs-and-router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33
const application = require('tns-core-modules/application')
44

samples/app/app-with-router-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('./vue-router')
33

44
Vue.config.silent = false

samples/app/app-with-router-pages.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33

44
Vue.use(VueRouter)

samples/app/app-with-router-v2.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33

44
Vue.config.silent = false

samples/app/app-with-router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueRouter = require('vue-router')
33

44
Vue.config.silent = false

samples/app/app-with-shared-actionbar.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const VueDevtools = require('nativescript-vue-devtools')
33

44
Vue.use(VueDevtools)

samples/app/app-with-tab-view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.debug = true
44

samples/app/app-with-v-template-components.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.config.silent = false
44
Vue.config.debug = true

samples/app/app-with-v-template.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
new Vue({
44
data() {

samples/app/app-with-view-directive.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.registerElement(
44
'RadSideDrawer',

samples/app/app-with-vmodel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
new Vue({
44
data: {

samples/app/app-with-vuex.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22
const Vuex = require('vuex')
33

44
Vue.use(Vuex)

samples/app/app.css

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
@import 'nativescript-theme-core/css/core.light.css';
2-
31
/* Your CSS goes here */
42

53
.even {

samples/app/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const Vue = require('./nativescript-vue')
1+
const Vue = require('nativescript-vue')
22

33
Vue.component('image-viewer', {
44
props: ['imgSrc'],
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<template>
2+
<StackLayout :color="counter < 5 ? 'red' : 'blue'">
3+
<slot :counter="counter"/>
4+
<Button text="+1" @tap="counter++"/>
5+
</StackLayout>
6+
</template>
7+
8+
<script>
9+
export default {
10+
data() {
11+
return {
12+
counter: 0
13+
}
14+
},
15+
}
16+
</script>

samples/app/components/Details.vue

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<template>
2+
<Page>
3+
<ActionBar class="action-bar" title="Details Page">
4+
<ActionItem text="Action"></ActionItem>
5+
</ActionBar>
6+
<StackLayout>
7+
<Label :text="'Details ' + Math.random()" />
8+
<Button text="another" @tap="openDetails" />
9+
<Button text="back" @tap="goBack" />
10+
</StackLayout>
11+
</Page>
12+
</template>
13+
14+
<script>
15+
const page = {
16+
methods: {
17+
openDetails() {
18+
this.$navigateTo(page)
19+
}
20+
}
21+
}
22+
export default page;
23+
</script>

0 commit comments

Comments
 (0)