├── .gitignore ├── .vscode └── settings.json ├── README.md ├── app ├── App_Resources │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── app.gradle │ │ ├── drawable-hdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── drawable-ldpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── drawable-mdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── drawable-nodpi │ │ │ └── splash_screen.xml │ │ ├── drawable-xhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── drawable-xxhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── drawable-xxxhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ ├── values-v21 │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ └── values │ │ │ ├── colors.xml │ │ │ └── styles.xml │ └── iOS │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── icon-1024.png │ │ │ ├── icon-29.png │ │ │ ├── icon-29@2x.png │ │ │ ├── icon-29@3x.png │ │ │ ├── icon-40.png │ │ │ ├── icon-40@2x.png │ │ │ ├── icon-40@3x.png │ │ │ ├── icon-60@2x.png │ │ │ ├── icon-60@3x.png │ │ │ ├── icon-76.png │ │ │ ├── icon-76@2x.png │ │ │ └── icon-83.5@2x.png │ │ ├── Contents.json │ │ ├── LaunchImage.launchimage │ │ │ ├── Contents.json │ │ │ ├── Default-1125h.png │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-667h@2x.png │ │ │ ├── Default-736h@3x.png │ │ │ ├── Default-Landscape-X.png │ │ │ ├── Default-Landscape.png │ │ │ ├── Default-Landscape@2x.png │ │ │ ├── Default-Landscape@3x.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ ├── Default.png │ │ │ └── Default@2x.png │ │ ├── LaunchScreen.AspectFill.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchScreen-AspectFill.png │ │ │ └── LaunchScreen-AspectFill@2x.png │ │ └── LaunchScreen.Center.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchScreen-Center.png │ │ │ └── LaunchScreen-Center@2x.png │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ └── build.xcconfig ├── LICENSE ├── README.md ├── app-with-list-view.ts ├── app-with-plugin-view.ts ├── app-with-router.ts ├── app-with-tab-view.ts ├── app-with-vmodel.ts ├── app.css ├── app.ts ├── images │ ├── NativeScript-Vue.png │ ├── apple.jpg │ └── vue.png └── package.json ├── hooks ├── after-watch │ └── nativescript-dev-typescript.js ├── before-prepare │ └── nativescript-dev-typescript.js └── before-watch │ └── nativescript-dev-typescript.js ├── package.json ├── tsconfig.json └── typings ├── nativescript-vue-router.d.ts ├── nativescript-vue.d.ts └── vue.d.ts /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | platforms 3 | app/**/*.js 4 | package-lock.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "**/.git": true, 4 | "**/.svn": true, 5 | "**/.hg": true, 6 | "**/*.js": true, 7 | "**/CVS": true, 8 | "**/.DS_Store": true 9 | } 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NativeScript + Vue + TypeScript 2 | ## nativescript-vue-typescript-seed 3 | 4 | This project is so anyone can get started using NativeScript and Vue with TypeScript. It is created when using the nativescript-vue-template(`tns create my-app --template nativescript-vue-template`) and updated it to use typescript. Nativescript-vue does not currently ship with type definitions for typescript, so instead Vue's typings are imported and reused with some minor tweaks for NativeScript, in the `nativescript-vue.d.ts` file 5 | 6 | 7 | ### Workflow: 8 | 9 | * clone this repo, from the command line,`git clone git@github.com:TheOriginalJosh/nativescript-vue-typescript-seed.git myAppName`. 10 | * then `cd myAppName` 11 | * then run `npm install` 12 | * from this point on, run NativeScript CLI commands as normal `tns run android`, `tns run ios`, etc. 13 | -------------------------------------------------------------------------------- /app/App_Resources/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /app/App_Resources/Android/app.gradle: -------------------------------------------------------------------------------- 1 | // Add your native dependencies here: 2 | 3 | // Uncomment to add recyclerview-v7 dependency 4 | //dependencies { 5 | // compile 'com.android.support:recyclerview-v7:+' 6 | //} 7 | 8 | android { 9 | defaultConfig { 10 | generatedDensities = [] 11 | applicationId = "org.nativescript.testVue" 12 | 13 | //override supported platforms 14 | // ndk { 15 | // abiFilters.clear() 16 | // abiFilters "armeabi-v7a" 17 | // } 18 | 19 | } 20 | aaptOptions { 21 | additionalParameters "--no-version-vectors" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-hdpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-ldpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-mdpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /app/App_Resources/Android/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/Android/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /app/App_Resources/Android/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /app/App_Resources/Android/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 14 | 15 | 16 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /app/App_Resources/Android/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /app/App_Resources/Android/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | 21 | 22 | 23 | 31 | 32 | 34 | 35 | 36 | 42 | 43 | 45 | 46 | -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "29x29", 5 | "idiom" : "iphone", 6 | "filename" : "icon-29.png", 7 | "scale" : "1x" 8 | }, 9 | { 10 | "size" : "29x29", 11 | "idiom" : "iphone", 12 | "filename" : "icon-29@2x.png", 13 | "scale" : "2x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-29@3x.png", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "size" : "40x40", 23 | "idiom" : "iphone", 24 | "filename" : "icon-40@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "40x40", 29 | "idiom" : "iphone", 30 | "filename" : "icon-40@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "60x60", 35 | "idiom" : "iphone", 36 | "filename" : "icon-60@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "60x60", 41 | "idiom" : "iphone", 42 | "filename" : "icon-60@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "29x29", 47 | "idiom" : "ipad", 48 | "filename" : "icon-29.png", 49 | "scale" : "1x" 50 | }, 51 | { 52 | "size" : "29x29", 53 | "idiom" : "ipad", 54 | "filename" : "icon-29@2x.png", 55 | "scale" : "2x" 56 | }, 57 | { 58 | "size" : "40x40", 59 | "idiom" : "ipad", 60 | "filename" : "icon-40.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "40x40", 65 | "idiom" : "ipad", 66 | "filename" : "icon-40@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "76x76", 71 | "idiom" : "ipad", 72 | "filename" : "icon-76.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "76x76", 77 | "idiom" : "ipad", 78 | "filename" : "icon-76@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "83.5x83.5", 83 | "idiom" : "ipad", 84 | "filename" : "icon-83.5@2x.png", 85 | "scale" : "2x" 86 | }, 87 | { 88 | "size" : "1024x1024", 89 | "idiom" : "ios-marketing", 90 | "filename" : "icon-1024.png", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "extent" : "full-screen", 5 | "idiom" : "iphone", 6 | "subtype" : "2436h", 7 | "filename" : "Default-1125h.png", 8 | "minimum-system-version" : "11.0", 9 | "orientation" : "portrait", 10 | "scale" : "3x" 11 | }, 12 | { 13 | "orientation" : "landscape", 14 | "idiom" : "iphone", 15 | "extent" : "full-screen", 16 | "filename" : "Default-Landscape-X.png", 17 | "minimum-system-version" : "11.0", 18 | "subtype" : "2436h", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "extent" : "full-screen", 23 | "idiom" : "iphone", 24 | "subtype" : "736h", 25 | "filename" : "Default-736h@3x.png", 26 | "minimum-system-version" : "8.0", 27 | "orientation" : "portrait", 28 | "scale" : "3x" 29 | }, 30 | { 31 | "extent" : "full-screen", 32 | "idiom" : "iphone", 33 | "subtype" : "736h", 34 | "filename" : "Default-Landscape@3x.png", 35 | "minimum-system-version" : "8.0", 36 | "orientation" : "landscape", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "extent" : "full-screen", 41 | "idiom" : "iphone", 42 | "subtype" : "667h", 43 | "filename" : "Default-667h@2x.png", 44 | "minimum-system-version" : "8.0", 45 | "orientation" : "portrait", 46 | "scale" : "2x" 47 | }, 48 | { 49 | "orientation" : "portrait", 50 | "idiom" : "iphone", 51 | "filename" : "Default@2x.png", 52 | "extent" : "full-screen", 53 | "minimum-system-version" : "7.0", 54 | "scale" : "2x" 55 | }, 56 | { 57 | "extent" : "full-screen", 58 | "idiom" : "iphone", 59 | "subtype" : "retina4", 60 | "filename" : "Default-568h@2x.png", 61 | "minimum-system-version" : "7.0", 62 | "orientation" : "portrait", 63 | "scale" : "2x" 64 | }, 65 | { 66 | "orientation" : "portrait", 67 | "idiom" : "ipad", 68 | "filename" : "Default-Portrait.png", 69 | "extent" : "full-screen", 70 | "minimum-system-version" : "7.0", 71 | "scale" : "1x" 72 | }, 73 | { 74 | "orientation" : "landscape", 75 | "idiom" : "ipad", 76 | "filename" : "Default-Landscape.png", 77 | "extent" : "full-screen", 78 | "minimum-system-version" : "7.0", 79 | "scale" : "1x" 80 | }, 81 | { 82 | "orientation" : "portrait", 83 | "idiom" : "ipad", 84 | "filename" : "Default-Portrait@2x.png", 85 | "extent" : "full-screen", 86 | "minimum-system-version" : "7.0", 87 | "scale" : "2x" 88 | }, 89 | { 90 | "orientation" : "landscape", 91 | "idiom" : "ipad", 92 | "filename" : "Default-Landscape@2x.png", 93 | "extent" : "full-screen", 94 | "minimum-system-version" : "7.0", 95 | "scale" : "2x" 96 | }, 97 | { 98 | "orientation" : "portrait", 99 | "idiom" : "iphone", 100 | "filename" : "Default.png", 101 | "extent" : "full-screen", 102 | "scale" : "1x" 103 | }, 104 | { 105 | "orientation" : "portrait", 106 | "idiom" : "iphone", 107 | "filename" : "Default@2x.png", 108 | "extent" : "full-screen", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "orientation" : "portrait", 113 | "idiom" : "iphone", 114 | "filename" : "Default-568h@2x.png", 115 | "extent" : "full-screen", 116 | "subtype" : "retina4", 117 | "scale" : "2x" 118 | }, 119 | { 120 | "orientation" : "portrait", 121 | "idiom" : "ipad", 122 | "extent" : "to-status-bar", 123 | "scale" : "1x" 124 | }, 125 | { 126 | "orientation" : "portrait", 127 | "idiom" : "ipad", 128 | "filename" : "Default-Portrait.png", 129 | "extent" : "full-screen", 130 | "scale" : "1x" 131 | }, 132 | { 133 | "orientation" : "landscape", 134 | "idiom" : "ipad", 135 | "extent" : "to-status-bar", 136 | "scale" : "1x" 137 | }, 138 | { 139 | "orientation" : "landscape", 140 | "idiom" : "ipad", 141 | "filename" : "Default-Landscape.png", 142 | "extent" : "full-screen", 143 | "scale" : "1x" 144 | }, 145 | { 146 | "orientation" : "portrait", 147 | "idiom" : "ipad", 148 | "extent" : "to-status-bar", 149 | "scale" : "2x" 150 | }, 151 | { 152 | "orientation" : "portrait", 153 | "idiom" : "ipad", 154 | "filename" : "Default-Portrait@2x.png", 155 | "extent" : "full-screen", 156 | "scale" : "2x" 157 | }, 158 | { 159 | "orientation" : "landscape", 160 | "idiom" : "ipad", 161 | "extent" : "to-status-bar", 162 | "scale" : "2x" 163 | }, 164 | { 165 | "orientation" : "landscape", 166 | "idiom" : "ipad", 167 | "filename" : "Default-Landscape@2x.png", 168 | "extent" : "full-screen", 169 | "scale" : "2x" 170 | } 171 | ], 172 | "info" : { 173 | "version" : 1, 174 | "author" : "xcode" 175 | } 176 | } -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-AspectFill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-AspectFill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-Center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-Center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /app/App_Resources/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiresFullScreen 28 | 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/App_Resources/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/App_Resources/iOS/build.xcconfig: -------------------------------------------------------------------------------- 1 | // You can add custom settings here 2 | // for example you can uncomment the following line to force distribution code signing 3 | // CODE_SIGN_IDENTITY = iPhone Distribution 4 | // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID; 6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 8 | -------------------------------------------------------------------------------- /app/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Tiago Alves 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- 1 | # NativeScript Vue.js Template 2 | 3 | This repo serves as the starting point for NativeScript + Vue.js projects, using [nativescript-vue](https://github.com/rigor789/nativescript-vue). 4 | 5 | ## Usage 6 | 7 | 1. Install NativeScript tools (see http://docs.nativescript.org/start/quick-setup) 8 | 9 | 2. Create app from this template 10 | ```bash 11 | tns create hello-ns-vue --template nativescript-vue-template 12 | 13 | cd hello-ns-vue 14 | ``` 15 | 16 | > While the `nativescript-vue` project is not up-to-date on npm, you may have to run 17 | > `npm link nativescript-vue` in the project folder (like [described here](https://github.com/rigor789/nativescript-vue/blob/master/CONTRIBUTING.md)). 18 | 19 | 3. Run in Android or iOS 20 | ```bash 21 | tns run android 22 | tns run ios 23 | ``` 24 | 25 | ## Templates 26 | 27 | This template contains a number of app samples that you can use as the starting point of your app. To experiment, try copying and pasting the code from `app-with-list-view.js`, `app-with-router.js`, `app-with-tab-view.js`, or `app-with-vmodel.js` into your app’s `app.js` file. 28 | -------------------------------------------------------------------------------- /app/app-with-list-view.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | 3 | import * as http from 'tns-core-modules/http'; 4 | import { Page } from 'tns-core-modules/ui/page'; 5 | import { StackLayout } from 'tns-core-modules/ui/layouts/stack-layout'; 6 | import { Image } from 'tns-core-modules/ui/image'; 7 | import { Label } from 'tns-core-modules/ui/label'; 8 | 9 | (Vue as any).prototype.$http = http 10 | 11 | new Vue({ 12 | data: { 13 | subreddit: '/r/funny', 14 | items: [] 15 | }, 16 | 17 | template: ` 18 | 19 | 20 | 21 | 22 | 31 | 40 | 41 | 42 | 43 | `, 44 | 45 | created() { 46 | this.fetchItems() 47 | }, 48 | 49 | methods: { 50 | onItemTap(e) { 51 | let item = this.items[e.index] 52 | let detailsPage = new Page() 53 | let layout = new StackLayout() 54 | 55 | let label = new Label() 56 | label.text = item.title 57 | label.className = 'h2' 58 | label.textAlignment = 'center' 59 | 60 | let image = new Image() 61 | image.src = item.fullImage 62 | 63 | layout.addChild(label) 64 | layout.addChild(image) 65 | 66 | detailsPage.content = layout 67 | this.$refs.page.nativeView.showModal(detailsPage) 68 | }, 69 | 70 | templateSelector(item) { 71 | return item.$index === 0 ? 'active' : 'default' 72 | }, 73 | 74 | chooseSubreddit() { 75 | // prompt({ 76 | // title: 'Change subreddit:', 77 | // defaultText: this.subreddit, 78 | // okButtonText: "Ok", 79 | // cancelButtonText: "Cancel", 80 | // } as any).then((r) => { 81 | // if (r.result) { 82 | // this.subreddit = r.text 83 | // this.fetchItems() 84 | // } 85 | // }) 86 | }, 87 | 88 | fetchItems() { 89 | this.$http.getJSON(`https://www.reddit.com/${this.subreddit}.json`).then((res) => { 90 | this.items = res.data.children.map((item) => { 91 | return { 92 | title: item.data.title, 93 | image: item.data.thumbnail, 94 | fullImage: item.data.preview.images[0].source.url 95 | } 96 | }) 97 | }).catch((err) => { 98 | console.log('err..' + err) 99 | }) 100 | } 101 | } 102 | }).$start() 103 | -------------------------------------------------------------------------------- /app/app-with-plugin-view.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | 3 | Vue.registerElement('Gradient', () => require('nativescript-gradient').Gradient) 4 | 5 | new Vue({ 6 | template: ` 7 | 8 | 9 | 10 | 13 | 14 | `, 15 | data: { 16 | headingText: 'Welcome to NativeScript-Vue', 17 | bodyText: ` 18 | This TypeScript template contains a number of app samples that you can use as the starting point of your app. 19 | To experiment, try copying and pasting the code from app-with-list-view.js, app-with-router.js, app-with-tab-view.js, 20 | or app-with-vmodel.js into your app’s app.js file. 21 | ` 22 | } 23 | }).$start(); -------------------------------------------------------------------------------- /app/app-with-router.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | import VueRouter from 'vue-router'; 3 | 4 | Vue.use(VueRouter) 5 | global.process = {env: {}} as any // hack! a build process should replace process.env's with static strings. 6 | 7 | const Foo = { 8 | template: ` 9 | 10 | 11 | 12 | 13 | ` 14 | } 15 | const Bar = { 16 | template: ` 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | ` 26 | } 27 | const Fizz = { 28 | template: ` 29 | 30 | 31 | 32 | ` 33 | } 34 | const Buzz = { 35 | template: ` 36 | 37 | 38 | 39 | ` 40 | } 41 | 42 | const router = new VueRouter({ 43 | pageRouting: true, 44 | routes: [ 45 | {path: '/foo', component: Foo}, 46 | { 47 | path: '/bar', component: Bar, 48 | children: [ 49 | {path: 'fizz', component: Fizz}, 50 | {path: 'buzz', component: Buzz} 51 | ] 52 | }, 53 | {path: '*', redirect: '/foo'} 54 | ] 55 | }) 56 | 57 | router.replace('/foo') 58 | 59 | new Vue({ 60 | router, 61 | 62 | template: ` 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | `, 76 | }).$start() -------------------------------------------------------------------------------- /app/app-with-tab-view.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | 3 | 4 | const app = new Vue({ 5 | data: { 6 | selectedTab: 0, 7 | tabs: [ 8 | {title: 'First Tab', text: 'im the first tab'}, 9 | {title: 'Second Tab', text: 'im the second tab'}, 10 | {title: 'Third Tab', text: 'im the third tab'}, 11 | ] 12 | }, 13 | 14 | template: ` 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | `, 26 | }) 27 | 28 | app.$start() -------------------------------------------------------------------------------- /app/app-with-vmodel.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | 3 | new Vue({ 4 | data: { 5 | test: 'testing', 6 | test2: 50, 7 | test3: 30 8 | }, 9 | 10 | template: ` 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | `, 24 | 25 | methods: { 26 | onTap() { 27 | this.test = 'changed' 28 | this.test2 = 42 29 | } 30 | } 31 | }).$start() -------------------------------------------------------------------------------- /app/app.css: -------------------------------------------------------------------------------- 1 | @import 'nativescript-theme-core/css/core.light.css'; 2 | 3 | /* Your CSS goes here */ 4 | 5 | .even { 6 | color: red; 7 | } 8 | 9 | .odd { 10 | color: blue; 11 | } -------------------------------------------------------------------------------- /app/app.ts: -------------------------------------------------------------------------------- 1 | import Vue = require('nativescript-vue'); 2 | 3 | new Vue({ 4 | template: ` 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | `, 14 | data: { 15 | headingText: 'Welcome to NativeScript-Vue', 16 | bodyText: ` 17 | This TypeScript template contains a number of app samples that you can use as the starting point of your app. 18 | To experiment, try copying and pasting the code from app-with-list-view.js, app-with-router.js, app-with-tab-view.js, 19 | or app-with-vmodel.js into your app’s app.js file. 20 | ` 21 | } 22 | }).$start(); -------------------------------------------------------------------------------- /app/images/NativeScript-Vue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/images/NativeScript-Vue.png -------------------------------------------------------------------------------- /app/images/apple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/images/apple.jpg -------------------------------------------------------------------------------- /app/images/vue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoshDSommer/nativescript-vue-typescript-seed/e2c1843c0c8eb44c24a0b89aace5d9afbb8d9e32/app/images/vue.png -------------------------------------------------------------------------------- /app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "app.js", 3 | "name": "nativescript-vue-template", 4 | "version": "0.1.1" 5 | } -------------------------------------------------------------------------------- /hooks/after-watch/nativescript-dev-typescript.js: -------------------------------------------------------------------------------- 1 | module.exports = require("nativescript-dev-typescript/lib/after-watch.js"); 2 | -------------------------------------------------------------------------------- /hooks/before-prepare/nativescript-dev-typescript.js: -------------------------------------------------------------------------------- 1 | module.exports = require("nativescript-dev-typescript/lib/before-prepare.js"); 2 | -------------------------------------------------------------------------------- /hooks/before-watch/nativescript-dev-typescript.js: -------------------------------------------------------------------------------- 1 | module.exports = require("nativescript-dev-typescript/lib/watch.js"); 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "NativeScript Application", 3 | "license": "SEE LICENSE IN ", 4 | "readme": "NativeScript Application", 5 | "repository": "", 6 | "nativescript": { 7 | "id": "org.nativescript.testVue", 8 | "tns-android": { 9 | "version": "3.4.1" 10 | }, 11 | "tns-ios": { 12 | "version": "3.4.1" 13 | } 14 | }, 15 | "dependencies": { 16 | "nativescript-gradient": "^2.0.1", 17 | "nativescript-theme-core": "~1.0.4", 18 | "nativescript-vue": "^1.0.0", 19 | "tns-core-modules": "^3.4.0", 20 | "vue-router": "^2.4.0" 21 | }, 22 | "devDependencies": { 23 | "@types/node": "^9.4.6", 24 | "babel-traverse": "6.4.5", 25 | "babel-types": "6.4.5", 26 | "babylon": "6.4.5", 27 | "lazy": "1.0.11", 28 | "nativescript-dev-typescript": "~0.6.0", 29 | "typescript": "~2.7.0", 30 | "vue": "^2.5.13" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es5", 5 | "experimentalDecorators": true, 6 | "emitDecoratorMetadata": true, 7 | "noEmitHelpers": true, 8 | "skipLibCheck": true, 9 | "esModuleInterop": true, 10 | "noEmitOnError": true, 11 | "lib": [ 12 | "es6", 13 | "dom" 14 | ], 15 | "baseUrl": ".", 16 | "paths": { 17 | "*": [ 18 | "./node_modules/tns-core-modules/*", 19 | "./node_modules/*" 20 | ] 21 | } 22 | }, 23 | "exclude": [ 24 | "node_modules", 25 | "platforms" 26 | ] 27 | } -------------------------------------------------------------------------------- /typings/nativescript-vue-router.d.ts: -------------------------------------------------------------------------------- 1 | // Typings for NativeScript augmentations to Vue-Router 2 | 3 | // Import vue router so we can augment it's Router Options. 4 | import * as VueRouter from 'vue-router'; 5 | declare module 'vue-router/types/router' { 6 | 7 | interface RouterOptions { 8 | /** 9 | * NativeScript option 10 | * switches the router to use the navigation stack to navigate between pages 11 | */ 12 | pageRouting?: boolean; 13 | } 14 | } -------------------------------------------------------------------------------- /typings/nativescript-vue.d.ts: -------------------------------------------------------------------------------- 1 | // Typings for NativeScript-Vue 2 | declare module 'nativescript-vue' { 3 | // import vue.js typings 4 | import Vue from 'vue'; 5 | 6 | // creat a nativescript vue class that extends vue.js 7 | class NativeScriptVue extends Vue { 8 | /** 9 | * Registers NativeScript Plugin. 10 | * @param elementName Name of the element to use in your template 11 | * @param resolver function to register the element 12 | */ 13 | static registerElement(elementName: string, resolver: function); 14 | } 15 | 16 | export = NativeScriptVue; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /typings/vue.d.ts: -------------------------------------------------------------------------------- 1 | //Augmenting Vue.js 2 | import Vue from 'vue'; 3 | 4 | declare module "vue/types/vue" { 5 | interface Vue { 6 | /** 7 | * calls the NativeScript application.start() method 8 | */ 9 | $start(): void; 10 | 11 | // /** 12 | // * Registers NativeScript Plugin. 13 | // * @param elementName Name of the element to use in your template 14 | // * @param resolver function to register the element 15 | // */ 16 | // static registerElement(elementName: string, resolver: function); 17 | } 18 | } 19 | --------------------------------------------------------------------------------