├── .babelrc
├── .gitignore
├── .watchmanconfig
├── App.vue
├── LICENSE
├── README.md
├── app.json
├── assets
├── .DS_Store
├── check_icon.png
├── cross_icon.png
└── edit_icon.png
├── gif
├── .DS_Store
└── vueTodoGif.gif
├── package.json
├── rn-cli.config.js
├── src
├── AddTodo.vue
└── TodoItem.vue
├── vueTransformerPlugin.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["babel-preset-expo"],
3 | "env": {
4 | "development": {
5 | "plugins": ["transform-react-jsx-source"]
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # expo
4 | .expo/
5 |
6 | # dependencies
7 | /node_modules
8 |
9 | # misc
10 | .env.local
11 | .env.development.local
12 | .env.test.local
13 | .env.production.local
14 |
15 | npm-debug.log*
16 | yarn-debug.log*
17 | yarn-error.log*
18 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
17 |
18 |
19 |
20 |
21 |
22 |
60 | >
61 |
62 |
79 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 GeekyAnts
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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Simple todo app in vue-native
2 |
3 |
4 |
5 | ### Installation step
6 | • ```git clone git@github.com:ankitsinghania94/vue-native-todo-app.git```.
7 | • Navigate to project directory and do ```npm install```.
8 | • ```npm start``` to run the project.
9 | Similiarly you can do ```npm run ios``` for building in simulator.
10 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "sdkVersion": "27.0.0"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/assets/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/assets/.DS_Store
--------------------------------------------------------------------------------
/assets/check_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/assets/check_icon.png
--------------------------------------------------------------------------------
/assets/cross_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/assets/cross_icon.png
--------------------------------------------------------------------------------
/assets/edit_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/assets/edit_icon.png
--------------------------------------------------------------------------------
/gif/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/gif/.DS_Store
--------------------------------------------------------------------------------
/gif/vueTodoGif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ankitsinghania94/vue-native-todo-app/2dcfb0f34a7a2ac960054fc8d9cce7a3711521de/gif/vueTodoGif.gif
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vueTodoApp",
3 | "version": "0.1.0",
4 | "private": true,
5 | "devDependencies": {
6 | "jest-expo": "~27.0.0",
7 | "react-native-scripts": "1.14.0",
8 | "react-test-renderer": "16.3.1",
9 | "vue-native-scripts": "0.0.8"
10 | },
11 | "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
12 | "scripts": {
13 | "start": "react-native-scripts start",
14 | "eject": "react-native-scripts eject",
15 | "android": "react-native-scripts android",
16 | "ios": "react-native-scripts ios",
17 | "test": "jest"
18 | },
19 | "jest": {
20 | "preset": "jest-expo"
21 | },
22 | "dependencies": {
23 | "expo": "^27.0.1",
24 | "react": "16.3.1",
25 | "react-native": "~0.55.2",
26 | "vue-native-core": "0.0.5",
27 | "vue-native-helper": "0.0.8"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/rn-cli.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | getTransformModulePath() {
3 | return require.resolve("./vueTransformerPlugin.js");
4 | },
5 | getSourceExts() {
6 | return ["vue"];
7 | }
8 | };
9 |
--------------------------------------------------------------------------------
/src/AddTodo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | ADD
8 |
9 |
10 |
11 |
12 |
35 |
36 |
58 |
--------------------------------------------------------------------------------
/src/TodoItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | • {{todo.task}}
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 |
78 | >
79 |
80 |
115 |
--------------------------------------------------------------------------------
/vueTransformerPlugin.js:
--------------------------------------------------------------------------------
1 | // For React Native version 0.52 or later
2 | var upstreamTransformer = require("metro/src/transformer");
3 |
4 | // For React Native version 0.47-0.51
5 | // var upstreamTransformer = require("metro-bundler/src/transformer");
6 |
7 | // For React Native version 0.46
8 | // var upstreamTransformer = require("metro-bundler/build/transformer");
9 |
10 | var vueNaiveScripts = require("vue-native-scripts");
11 | var vueExtensions = ["vue"]; // <-- Add other extensions if needed.
12 |
13 | module.exports.transform = function({ src, filename, options }) {
14 | if (vueExtensions.some(ext => filename.endsWith("." + ext))) {
15 | return vueNaiveScripts.transform({ src, filename, options });
16 | }
17 | return upstreamTransformer.transform({ src, filename, options });
18 | };
19 |
--------------------------------------------------------------------------------