chore: setup nuxt
This commit is contained in:
		
							parent
							
								
									d0bed32b8e
								
							
						
					
					
						commit
						c66e2097b6
					
				
							
								
								
									
										16
									
								
								.babelrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.babelrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | { | ||||||
|  |   "env": { | ||||||
|  |     "test": { | ||||||
|  |       "presets": [ | ||||||
|  |         [ | ||||||
|  |           "@babel/preset-env", | ||||||
|  |           { | ||||||
|  |             "targets": { | ||||||
|  |               "node": "current" | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       ] | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | # editorconfig.org | ||||||
|  | root = true | ||||||
|  | 
 | ||||||
|  | [*] | ||||||
|  | indent_style = space | ||||||
|  | indent_size = 2 | ||||||
|  | end_of_line = lf | ||||||
|  | charset = utf-8 | ||||||
|  | trim_trailing_whitespace = true | ||||||
|  | insert_final_newline = true | ||||||
|  | 
 | ||||||
|  | [*.md] | ||||||
|  | trim_trailing_whitespace = false | ||||||
							
								
								
									
										17
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | module.exports = { | ||||||
|  |   root: true, | ||||||
|  |   env: { | ||||||
|  |     browser: true, | ||||||
|  |     node: true, | ||||||
|  |   }, | ||||||
|  |   extends: [ | ||||||
|  |     '@nuxtjs/eslint-config-typescript', | ||||||
|  |     'prettier', | ||||||
|  |     'prettier/vue', | ||||||
|  |     'plugin:prettier/recommended', | ||||||
|  |     'plugin:nuxt/recommended', | ||||||
|  |   ], | ||||||
|  |   plugins: ['prettier'], | ||||||
|  |   // add your custom rules here
 | ||||||
|  |   rules: {}, | ||||||
|  | } | ||||||
							
								
								
									
										32
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | |||||||
|  | version: 2 | ||||||
|  | updates: | ||||||
|  | # Fetch and update latest `npm` packages | ||||||
|  | - package-ecosystem: npm | ||||||
|  |   directory: '/' | ||||||
|  |   schedule: | ||||||
|  |     interval: daily | ||||||
|  |     time: '00:00' | ||||||
|  |   open-pull-requests-limit: 10 | ||||||
|  |   reviewers: | ||||||
|  |     - corentinth | ||||||
|  |   assignees: | ||||||
|  |     - corentinth | ||||||
|  |   commit-message: | ||||||
|  |     prefix: fix | ||||||
|  |     prefix-development: chore | ||||||
|  |     include: scope | ||||||
|  | # Fetch and update latest `github-actions` pkgs | ||||||
|  | - package-ecosystem: github-actions | ||||||
|  |   directory: '/' | ||||||
|  |   schedule: | ||||||
|  |     interval: daily | ||||||
|  |     time: '00:00' | ||||||
|  |   open-pull-requests-limit: 10 | ||||||
|  |   reviewers: | ||||||
|  |     - corentinth | ||||||
|  |   assignees: | ||||||
|  |     - corentinth | ||||||
|  |   commit-message: | ||||||
|  |     prefix: fix | ||||||
|  |     prefix-development: chore | ||||||
|  |     include: scope | ||||||
							
								
								
									
										46
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | |||||||
|  | name: ci | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - main | ||||||
|  |       - master | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - main | ||||||
|  |       - master | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   ci: | ||||||
|  |     runs-on: ${{ matrix.os }} | ||||||
|  | 
 | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         os: [ubuntu-latest] | ||||||
|  |         node: [14] | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout 🛎 | ||||||
|  |         uses: actions/checkout@master | ||||||
|  | 
 | ||||||
|  |       - name: Setup node env 🏗 | ||||||
|  |         uses: actions/setup-node@v2.1.2 | ||||||
|  |         with: | ||||||
|  |           node-version: ${{ matrix.node }} | ||||||
|  | 
 | ||||||
|  |       - name: Cache node_modules 📦 | ||||||
|  |         uses: actions/cache@v2 | ||||||
|  |         with: | ||||||
|  |           path: ~/.npm | ||||||
|  |           key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||||||
|  |           restore-keys: | | ||||||
|  |             ${{ runner.os }}-node- | ||||||
|  | 
 | ||||||
|  |       - name: Install dependencies 👨🏻💻 | ||||||
|  |         run: npm ci | ||||||
|  | 
 | ||||||
|  |       - name: Run linter 👀 | ||||||
|  |         run: npm run lint | ||||||
|  | 
 | ||||||
|  |       - name: Run tests 🧪 | ||||||
|  |         run: npm run test | ||||||
							
								
								
									
										90
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,90 @@ | |||||||
|  | # Created by .ignore support plugin (hsz.mobi) | ||||||
|  | ### Node template | ||||||
|  | # Logs | ||||||
|  | /logs | ||||||
|  | *.log | ||||||
|  | npm-debug.log* | ||||||
|  | yarn-debug.log* | ||||||
|  | yarn-error.log* | ||||||
|  | 
 | ||||||
|  | # Runtime data | ||||||
|  | pids | ||||||
|  | *.pid | ||||||
|  | *.seed | ||||||
|  | *.pid.lock | ||||||
|  | 
 | ||||||
|  | # Directory for instrumented libs generated by jscoverage/JSCover | ||||||
|  | lib-cov | ||||||
|  | 
 | ||||||
|  | # Coverage directory used by tools like istanbul | ||||||
|  | coverage | ||||||
|  | 
 | ||||||
|  | # nyc test coverage | ||||||
|  | .nyc_output | ||||||
|  | 
 | ||||||
|  | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||||||
|  | .grunt | ||||||
|  | 
 | ||||||
|  | # Bower dependency directory (https://bower.io/) | ||||||
|  | bower_components | ||||||
|  | 
 | ||||||
|  | # node-waf configuration | ||||||
|  | .lock-wscript | ||||||
|  | 
 | ||||||
|  | # Compiled binary addons (https://nodejs.org/api/addons.html) | ||||||
|  | build/Release | ||||||
|  | 
 | ||||||
|  | # Dependency directories | ||||||
|  | node_modules/ | ||||||
|  | jspm_packages/ | ||||||
|  | 
 | ||||||
|  | # TypeScript v1 declaration files | ||||||
|  | typings/ | ||||||
|  | 
 | ||||||
|  | # Optional npm cache directory | ||||||
|  | .npm | ||||||
|  | 
 | ||||||
|  | # Optional eslint cache | ||||||
|  | .eslintcache | ||||||
|  | 
 | ||||||
|  | # Optional REPL history | ||||||
|  | .node_repl_history | ||||||
|  | 
 | ||||||
|  | # Output of 'npm pack' | ||||||
|  | *.tgz | ||||||
|  | 
 | ||||||
|  | # Yarn Integrity file | ||||||
|  | .yarn-integrity | ||||||
|  | 
 | ||||||
|  | # dotenv environment variables file | ||||||
|  | .env | ||||||
|  | 
 | ||||||
|  | # parcel-bundler cache (https://parceljs.org/) | ||||||
|  | .cache | ||||||
|  | 
 | ||||||
|  | # next.js build output | ||||||
|  | .next | ||||||
|  | 
 | ||||||
|  | # nuxt.js build output | ||||||
|  | .nuxt | ||||||
|  | 
 | ||||||
|  | # Nuxt generate | ||||||
|  | dist | ||||||
|  | 
 | ||||||
|  | # vuepress build output | ||||||
|  | .vuepress/dist | ||||||
|  | 
 | ||||||
|  | # Serverless directories | ||||||
|  | .serverless | ||||||
|  | 
 | ||||||
|  | # IDE / Editor | ||||||
|  | .idea | ||||||
|  | 
 | ||||||
|  | # Service worker | ||||||
|  | sw.* | ||||||
|  | 
 | ||||||
|  | # macOS | ||||||
|  | .DS_Store | ||||||
|  | 
 | ||||||
|  | # Vim swap files | ||||||
|  | *.swp | ||||||
							
								
								
									
										4
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | { | ||||||
|  |   "semi": false, | ||||||
|  |   "singleQuote": true | ||||||
|  | } | ||||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | # it-tools | ||||||
|  | 
 | ||||||
|  | ## Build Setup | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | # install dependencies | ||||||
|  | $ npm install | ||||||
|  | 
 | ||||||
|  | # serve with hot reload at localhost:3000 | ||||||
|  | $ npm run dev | ||||||
|  | 
 | ||||||
|  | # build for production and launch server | ||||||
|  | $ npm run build | ||||||
|  | $ npm run start | ||||||
|  | 
 | ||||||
|  | # generate static project | ||||||
|  | $ npm run generate | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org). | ||||||
							
								
								
									
										7
									
								
								assets/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | # ASSETS | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). | ||||||
							
								
								
									
										4
									
								
								assets/variables.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								assets/variables.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | // Ref: https://github.com/nuxt-community/vuetify-module#customvariables | ||||||
|  | // | ||||||
|  | // The variables you want to modify | ||||||
|  | // $font-size-root: 20px; | ||||||
							
								
								
									
										79
									
								
								components/Logo.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								components/Logo.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,79 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="VueToNuxtLogo"> | ||||||
|  |     <div class="Triangle Triangle--two" /> | ||||||
|  |     <div class="Triangle Triangle--one" /> | ||||||
|  |     <div class="Triangle Triangle--three" /> | ||||||
|  |     <div class="Triangle Triangle--four" /> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <style> | ||||||
|  | .VueToNuxtLogo { | ||||||
|  |   display: inline-block; | ||||||
|  |   animation: turn 2s linear forwards 1s; | ||||||
|  |   transform: rotateX(180deg); | ||||||
|  |   position: relative; | ||||||
|  |   overflow: hidden; | ||||||
|  |   height: 180px; | ||||||
|  |   width: 245px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .Triangle { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   left: 0; | ||||||
|  |   width: 0; | ||||||
|  |   height: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .Triangle--one { | ||||||
|  |   border-left: 105px solid transparent; | ||||||
|  |   border-right: 105px solid transparent; | ||||||
|  |   border-bottom: 180px solid #41b883; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .Triangle--two { | ||||||
|  |   top: 30px; | ||||||
|  |   left: 35px; | ||||||
|  |   animation: goright 0.5s linear forwards 3.5s; | ||||||
|  |   border-left: 87.5px solid transparent; | ||||||
|  |   border-right: 87.5px solid transparent; | ||||||
|  |   border-bottom: 150px solid #3b8070; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .Triangle--three { | ||||||
|  |   top: 60px; | ||||||
|  |   left: 35px; | ||||||
|  |   animation: goright 0.5s linear forwards 3.5s; | ||||||
|  |   border-left: 70px solid transparent; | ||||||
|  |   border-right: 70px solid transparent; | ||||||
|  |   border-bottom: 120px solid #35495e; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .Triangle--four { | ||||||
|  |   top: 120px; | ||||||
|  |   left: 70px; | ||||||
|  |   animation: godown 0.5s linear forwards 3s; | ||||||
|  |   border-left: 35px solid transparent; | ||||||
|  |   border-right: 35px solid transparent; | ||||||
|  |   border-bottom: 60px solid #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes turn { | ||||||
|  |   100% { | ||||||
|  |     transform: rotateX(0deg); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes godown { | ||||||
|  |   100% { | ||||||
|  |     top: 180px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes goright { | ||||||
|  |   100% { | ||||||
|  |     left: 70px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
							
								
								
									
										7
									
								
								components/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								components/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | # COMPONENTS | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | The components directory contains your Vue.js Components. | ||||||
|  | 
 | ||||||
|  | _Nuxt.js doesn't supercharge these components._ | ||||||
							
								
								
									
										18
									
								
								components/VuetifyLogo.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								components/VuetifyLogo.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | <template> | ||||||
|  |   <img class="VuetifyLogo" alt="Vuetify Logo" src="/vuetify-logo.svg" /> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <style> | ||||||
|  | .VuetifyLogo { | ||||||
|  |   height: 180px; | ||||||
|  |   width: 180px; | ||||||
|  |   transform: rotateY(560deg); | ||||||
|  |   animation: turn 3.5s ease-out forwards 1s; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes turn { | ||||||
|  |   100% { | ||||||
|  |     transform: rotateY(0deg); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
							
								
								
									
										18
									
								
								jest.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								jest.config.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | module.exports = { | ||||||
|  |   moduleNameMapper: { | ||||||
|  |     '^@/(.*)$': '<rootDir>/$1', | ||||||
|  |     '^~/(.*)$': '<rootDir>/$1', | ||||||
|  |     '^vue$': 'vue/dist/vue.common.js', | ||||||
|  |   }, | ||||||
|  |   moduleFileExtensions: ['ts', 'js', 'vue', 'json'], | ||||||
|  |   transform: { | ||||||
|  |     '^.+\\.ts$': 'ts-jest', | ||||||
|  |     '^.+\\.js$': 'babel-jest', | ||||||
|  |     '.*\\.(vue)$': 'vue-jest', | ||||||
|  |   }, | ||||||
|  |   collectCoverage: true, | ||||||
|  |   collectCoverageFrom: [ | ||||||
|  |     '<rootDir>/components/**/*.vue', | ||||||
|  |     '<rootDir>/pages/**/*.vue', | ||||||
|  |   ], | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								layouts/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								layouts/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | # LAYOUTS | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains your Application Layouts. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). | ||||||
							
								
								
									
										91
									
								
								layouts/default.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								layouts/default.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,91 @@ | |||||||
|  | <template> | ||||||
|  |   <v-app dark> | ||||||
|  |     <v-navigation-drawer | ||||||
|  |       v-model="drawer" | ||||||
|  |       :mini-variant="miniVariant" | ||||||
|  |       :clipped="clipped" | ||||||
|  |       fixed | ||||||
|  |       app | ||||||
|  |     > | ||||||
|  |       <v-list> | ||||||
|  |         <v-list-item | ||||||
|  |           v-for="(item, i) in items" | ||||||
|  |           :key="i" | ||||||
|  |           :to="item.to" | ||||||
|  |           router | ||||||
|  |           exact | ||||||
|  |         > | ||||||
|  |           <v-list-item-action> | ||||||
|  |             <v-icon>{{ item.icon }}</v-icon> | ||||||
|  |           </v-list-item-action> | ||||||
|  |           <v-list-item-content> | ||||||
|  |             <v-list-item-title v-text="item.title" /> | ||||||
|  |           </v-list-item-content> | ||||||
|  |         </v-list-item> | ||||||
|  |       </v-list> | ||||||
|  |     </v-navigation-drawer> | ||||||
|  |     <v-app-bar :clipped-left="clipped" fixed app> | ||||||
|  |       <v-app-bar-nav-icon @click.stop="drawer = !drawer" /> | ||||||
|  |       <v-btn icon @click.stop="miniVariant = !miniVariant"> | ||||||
|  |         <v-icon>mdi-{{ `chevron-${miniVariant ? 'right' : 'left'}` }}</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click.stop="clipped = !clipped"> | ||||||
|  |         <v-icon>mdi-application</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-btn icon @click.stop="fixed = !fixed"> | ||||||
|  |         <v-icon>mdi-minus</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |       <v-toolbar-title v-text="title" /> | ||||||
|  |       <v-spacer /> | ||||||
|  |       <v-btn icon @click.stop="rightDrawer = !rightDrawer"> | ||||||
|  |         <v-icon>mdi-menu</v-icon> | ||||||
|  |       </v-btn> | ||||||
|  |     </v-app-bar> | ||||||
|  |     <v-main> | ||||||
|  |       <v-container> | ||||||
|  |         <nuxt /> | ||||||
|  |       </v-container> | ||||||
|  |     </v-main> | ||||||
|  |     <v-navigation-drawer v-model="rightDrawer" :right="right" temporary fixed> | ||||||
|  |       <v-list> | ||||||
|  |         <v-list-item @click.native="right = !right"> | ||||||
|  |           <v-list-item-action> | ||||||
|  |             <v-icon light> mdi-repeat </v-icon> | ||||||
|  |           </v-list-item-action> | ||||||
|  |           <v-list-item-title>Switch drawer (click me)</v-list-item-title> | ||||||
|  |         </v-list-item> | ||||||
|  |       </v-list> | ||||||
|  |     </v-navigation-drawer> | ||||||
|  |     <v-footer :absolute="!fixed" app> | ||||||
|  |       <span>© {{ new Date().getFullYear() }}</span> | ||||||
|  |     </v-footer> | ||||||
|  |   </v-app> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       clipped: false, | ||||||
|  |       drawer: false, | ||||||
|  |       fixed: false, | ||||||
|  |       items: [ | ||||||
|  |         { | ||||||
|  |           icon: 'mdi-apps', | ||||||
|  |           title: 'Welcome', | ||||||
|  |           to: '/', | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           icon: 'mdi-chart-bubble', | ||||||
|  |           title: 'Inspire', | ||||||
|  |           to: '/inspire', | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |       miniVariant: false, | ||||||
|  |       right: true, | ||||||
|  |       rightDrawer: false, | ||||||
|  |       title: 'Vuetify.js', | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
							
								
								
									
										42
									
								
								layouts/error.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								layouts/error.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | <template> | ||||||
|  |   <v-app dark> | ||||||
|  |     <h1 v-if="error.statusCode === 404"> | ||||||
|  |       {{ pageNotFound }} | ||||||
|  |     </h1> | ||||||
|  |     <h1 v-else> | ||||||
|  |       {{ otherError }} | ||||||
|  |     </h1> | ||||||
|  |     <NuxtLink to="/"> Home page </NuxtLink> | ||||||
|  |   </v-app> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   layout: 'empty', | ||||||
|  |   props: { | ||||||
|  |     error: { | ||||||
|  |       type: Object, | ||||||
|  |       default: null, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       pageNotFound: '404 Not Found', | ||||||
|  |       otherError: 'An error occurred', | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   head() { | ||||||
|  |     const title = | ||||||
|  |       this.error.statusCode === 404 ? this.pageNotFound : this.otherError | ||||||
|  |     return { | ||||||
|  |       title, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | h1 { | ||||||
|  |   font-size: 20px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
							
								
								
									
										8
									
								
								middleware/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								middleware/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | # MIDDLEWARE | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains your application middleware. | ||||||
|  | Middleware let you define custom functions that can be run before rendering either a page or a group of pages. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). | ||||||
							
								
								
									
										71
									
								
								nuxt.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								nuxt.config.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | |||||||
|  | import colors from 'vuetify/es5/util/colors' | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   // Disable server-side rendering (https://go.nuxtjs.dev/ssr-mode)
 | ||||||
|  |   ssr: false, | ||||||
|  | 
 | ||||||
|  |   // Target (https://go.nuxtjs.dev/config-target)
 | ||||||
|  |   target: 'static', | ||||||
|  | 
 | ||||||
|  |   // Global page headers (https://go.nuxtjs.dev/config-head)
 | ||||||
|  |   head: { | ||||||
|  |     titleTemplate: '%s - it-tools', | ||||||
|  |     title: 'it-tools', | ||||||
|  |     meta: [ | ||||||
|  |       { charset: 'utf-8' }, | ||||||
|  |       { name: 'viewport', content: 'width=device-width, initial-scale=1' }, | ||||||
|  |       { hid: 'description', name: 'description', content: '' }, | ||||||
|  |     ], | ||||||
|  |     link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }], | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   // Global CSS (https://go.nuxtjs.dev/config-css)
 | ||||||
|  |   css: [], | ||||||
|  | 
 | ||||||
|  |   // Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
 | ||||||
|  |   plugins: [], | ||||||
|  | 
 | ||||||
|  |   // Auto import components (https://go.nuxtjs.dev/config-components)
 | ||||||
|  |   components: true, | ||||||
|  | 
 | ||||||
|  |   // Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
 | ||||||
|  |   buildModules: [ | ||||||
|  |     // https://go.nuxtjs.dev/typescript
 | ||||||
|  |     '@nuxt/typescript-build', | ||||||
|  |     // https://go.nuxtjs.dev/vuetify
 | ||||||
|  |     '@nuxtjs/vuetify', | ||||||
|  |   ], | ||||||
|  | 
 | ||||||
|  |   // Modules (https://go.nuxtjs.dev/config-modules)
 | ||||||
|  |   modules: [ | ||||||
|  |     // https://go.nuxtjs.dev/axios
 | ||||||
|  |     '@nuxtjs/axios', | ||||||
|  |     // https://go.nuxtjs.dev/pwa
 | ||||||
|  |     '@nuxtjs/pwa', | ||||||
|  |   ], | ||||||
|  | 
 | ||||||
|  |   // Axios module configuration (https://go.nuxtjs.dev/config-axios)
 | ||||||
|  |   axios: {}, | ||||||
|  | 
 | ||||||
|  |   // Vuetify module configuration (https://go.nuxtjs.dev/config-vuetify)
 | ||||||
|  |   vuetify: { | ||||||
|  |     customVariables: ['~/assets/variables.scss'], | ||||||
|  |     theme: { | ||||||
|  |       dark: true, | ||||||
|  |       themes: { | ||||||
|  |         dark: { | ||||||
|  |           primary: colors.blue.darken2, | ||||||
|  |           accent: colors.grey.darken3, | ||||||
|  |           secondary: colors.amber.darken3, | ||||||
|  |           info: colors.teal.lighten1, | ||||||
|  |           warning: colors.amber.base, | ||||||
|  |           error: colors.deepOrange.accent4, | ||||||
|  |           success: colors.green.accent3, | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   // Build Configuration (https://go.nuxtjs.dev/config-build)
 | ||||||
|  |   build: {}, | ||||||
|  | } | ||||||
							
								
								
									
										16980
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										16980
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										41
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | { | ||||||
|  |   "name": "it-tools", | ||||||
|  |   "version": "1.0.0", | ||||||
|  |   "private": true, | ||||||
|  |   "scripts": { | ||||||
|  |     "dev": "nuxt-ts", | ||||||
|  |     "build": "nuxt-ts build", | ||||||
|  |     "start": "nuxt-ts start", | ||||||
|  |     "generate": "nuxt-ts generate", | ||||||
|  |     "lint:js": "eslint --ext .js,.vue --ignore-path .gitignore .", | ||||||
|  |     "lint": "npm run lint:js", | ||||||
|  |     "test": "jest" | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@nuxt/typescript-runtime": "^2.0.0", | ||||||
|  |     "@nuxtjs/axios": "^5.12.2", | ||||||
|  |     "@nuxtjs/pwa": "^3.0.2", | ||||||
|  |     "core-js": "^3.6.5", | ||||||
|  |     "nuxt": "^2.14.6" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "@nuxt/types": "^2.14.6", | ||||||
|  |     "@nuxt/typescript-build": "^2.0.3", | ||||||
|  |     "@nuxtjs/eslint-config": "^3.1.0", | ||||||
|  |     "@nuxtjs/eslint-config-typescript": "^3.0.0", | ||||||
|  |     "@nuxtjs/eslint-module": "^2.0.0", | ||||||
|  |     "@nuxtjs/vuetify": "^1.11.2", | ||||||
|  |     "@vue/test-utils": "^1.1.0", | ||||||
|  |     "babel-core": "7.0.0-bridge.0", | ||||||
|  |     "babel-eslint": "^10.1.0", | ||||||
|  |     "babel-jest": "^26.5.0", | ||||||
|  |     "eslint": "^7.10.0", | ||||||
|  |     "eslint-config-prettier": "^6.12.0", | ||||||
|  |     "eslint-plugin-nuxt": "^1.0.0", | ||||||
|  |     "eslint-plugin-prettier": "^3.1.4", | ||||||
|  |     "jest": "^26.5.0", | ||||||
|  |     "prettier": "^2.1.2", | ||||||
|  |     "ts-jest": "^26.4.1", | ||||||
|  |     "vue-jest": "^3.0.4" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								pages/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								pages/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | # PAGES | ||||||
|  | 
 | ||||||
|  | This directory contains your Application Views and Routes. | ||||||
|  | The framework reads all the `*.vue` files inside this directory and creates the router of your application. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). | ||||||
							
								
								
									
										93
									
								
								pages/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								pages/index.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,93 @@ | |||||||
|  | <template> | ||||||
|  |   <v-row justify="center" align="center"> | ||||||
|  |     <v-col cols="12" sm="8" md="6"> | ||||||
|  |       <div class="text-center"> | ||||||
|  |         <logo /> | ||||||
|  |         <vuetify-logo /> | ||||||
|  |       </div> | ||||||
|  |       <v-card> | ||||||
|  |         <v-card-title class="headline"> | ||||||
|  |           Welcome to the Vuetify + Nuxt.js template | ||||||
|  |         </v-card-title> | ||||||
|  |         <v-card-text> | ||||||
|  |           <p> | ||||||
|  |             Vuetify is a progressive Material Design component framework for | ||||||
|  |             Vue.js. It was designed to empower developers to create amazing | ||||||
|  |             applications. | ||||||
|  |           </p> | ||||||
|  |           <p> | ||||||
|  |             For more information on Vuetify, check out the | ||||||
|  |             <a | ||||||
|  |               href="https://vuetifyjs.com" | ||||||
|  |               target="_blank" | ||||||
|  |               rel="noopener noreferrer" | ||||||
|  |             > | ||||||
|  |               documentation </a | ||||||
|  |             >. | ||||||
|  |           </p> | ||||||
|  |           <p> | ||||||
|  |             If you have questions, please join the official | ||||||
|  |             <a | ||||||
|  |               href="https://chat.vuetifyjs.com/" | ||||||
|  |               target="_blank" | ||||||
|  |               rel="noopener noreferrer" | ||||||
|  |               title="chat" | ||||||
|  |             > | ||||||
|  |               discord </a | ||||||
|  |             >. | ||||||
|  |           </p> | ||||||
|  |           <p> | ||||||
|  |             Find a bug? Report it on the github | ||||||
|  |             <a | ||||||
|  |               href="https://github.com/vuetifyjs/vuetify/issues" | ||||||
|  |               target="_blank" | ||||||
|  |               rel="noopener noreferrer" | ||||||
|  |               title="contribute" | ||||||
|  |             > | ||||||
|  |               issue board </a | ||||||
|  |             >. | ||||||
|  |           </p> | ||||||
|  |           <p> | ||||||
|  |             Thank you for developing with Vuetify and I look forward to bringing | ||||||
|  |             more exciting features in the future. | ||||||
|  |           </p> | ||||||
|  |           <div class="text-xs-right"> | ||||||
|  |             <em><small>— John Leider</small></em> | ||||||
|  |           </div> | ||||||
|  |           <hr class="my-3" /> | ||||||
|  |           <a | ||||||
|  |             href="https://nuxtjs.org/" | ||||||
|  |             target="_blank" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |           > | ||||||
|  |             Nuxt Documentation | ||||||
|  |           </a> | ||||||
|  |           <br /> | ||||||
|  |           <a | ||||||
|  |             href="https://github.com/nuxt/nuxt.js" | ||||||
|  |             target="_blank" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |           > | ||||||
|  |             Nuxt GitHub | ||||||
|  |           </a> | ||||||
|  |         </v-card-text> | ||||||
|  |         <v-card-actions> | ||||||
|  |           <v-spacer /> | ||||||
|  |           <v-btn color="primary" nuxt to="/inspire"> Continue </v-btn> | ||||||
|  |         </v-card-actions> | ||||||
|  |       </v-card> | ||||||
|  |     </v-col> | ||||||
|  |   </v-row> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import Logo from '~/components/Logo.vue' | ||||||
|  | import VuetifyLogo from '~/components/VuetifyLogo.vue' | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   components: { | ||||||
|  |     Logo, | ||||||
|  |     VuetifyLogo, | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
							
								
								
									
										15
									
								
								pages/inspire.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								pages/inspire.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | <template> | ||||||
|  |   <v-row> | ||||||
|  |     <v-col class="text-center"> | ||||||
|  |       <img src="/v.png" alt="Vuetify.js" class="mb-5" /> | ||||||
|  |       <blockquote class="blockquote"> | ||||||
|  |         “First, solve the problem. Then, write the code.” | ||||||
|  |         <footer> | ||||||
|  |           <small> | ||||||
|  |             <em>—John Johnson</em> | ||||||
|  |           </small> | ||||||
|  |         </footer> | ||||||
|  |       </blockquote> | ||||||
|  |     </v-col> | ||||||
|  |   </v-row> | ||||||
|  | </template> | ||||||
							
								
								
									
										7
									
								
								plugins/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								plugins/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | # PLUGINS | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). | ||||||
							
								
								
									
										11
									
								
								static/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								static/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | # STATIC | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains your static files. | ||||||
|  | Each file inside this directory is mapped to `/`. | ||||||
|  | Thus you'd want to delete this README.md before deploying to production. | ||||||
|  | 
 | ||||||
|  | Example: `/static/robots.txt` is mapped as `/robots.txt`. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). | ||||||
							
								
								
									
										
											BIN
										
									
								
								static/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/icon.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/v.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/v.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.5 KiB | 
							
								
								
									
										1
									
								
								static/vuetify-logo.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								static/vuetify-logo.svg
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87.5 100"><defs><style>.cls-1{fill:#1697f6;}.cls-2{fill:#7bc6ff;}.cls-3{fill:#1867c0;}.cls-4{fill:#aeddff;}</style></defs><title>Artboard 46</title><polyline class="cls-1" points="43.75 0 23.31 0 43.75 48.32"/><polygon class="cls-2" points="43.75 62.5 43.75 100 0 14.58 22.92 14.58 43.75 62.5"/><polyline class="cls-3" points="43.75 0 64.19 0 43.75 48.32"/><polygon class="cls-4" points="64.58 14.58 87.5 14.58 43.75 100 43.75 62.5 64.58 14.58"/></svg> | ||||||
| After Width: | Height: | Size: 539 B | 
							
								
								
									
										10
									
								
								store/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								store/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | # STORE | ||||||
|  | 
 | ||||||
|  | **This directory is not required, you can delete it if you don't want to use it.** | ||||||
|  | 
 | ||||||
|  | This directory contains your Vuex Store files. | ||||||
|  | Vuex Store option is implemented in the Nuxt.js framework. | ||||||
|  | 
 | ||||||
|  | Creating a file in this directory automatically activates the option in the framework. | ||||||
|  | 
 | ||||||
|  | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). | ||||||
							
								
								
									
										9
									
								
								test/Logo.spec.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/Logo.spec.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | import { mount } from '@vue/test-utils' | ||||||
|  | import Logo from '@/components/Logo.vue' | ||||||
|  | 
 | ||||||
|  | describe('Logo', () => { | ||||||
|  |   test('is a Vue instance', () => { | ||||||
|  |     const wrapper = mount(Logo) | ||||||
|  |     expect(wrapper.vm).toBeTruthy() | ||||||
|  |   }) | ||||||
|  | }) | ||||||
							
								
								
									
										36
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | |||||||
|  | { | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "target": "ES2018", | ||||||
|  |     "module": "ESNext", | ||||||
|  |     "moduleResolution": "Node", | ||||||
|  |     "lib": [ | ||||||
|  |       "ESNext", | ||||||
|  |       "ESNext.AsyncIterable", | ||||||
|  |       "DOM" | ||||||
|  |     ], | ||||||
|  |     "esModuleInterop": true, | ||||||
|  |     "allowJs": true, | ||||||
|  |     "sourceMap": true, | ||||||
|  |     "strict": true, | ||||||
|  |     "noEmit": true, | ||||||
|  |     "experimentalDecorators": true, | ||||||
|  |     "baseUrl": ".", | ||||||
|  |     "paths": { | ||||||
|  |       "~/*": [ | ||||||
|  |         "./*" | ||||||
|  |       ], | ||||||
|  |       "@/*": [ | ||||||
|  |         "./*" | ||||||
|  |       ] | ||||||
|  |     }, | ||||||
|  |     "types": [ | ||||||
|  |       "@types/node", | ||||||
|  |       "@nuxt/types" | ||||||
|  |     ] | ||||||
|  |   }, | ||||||
|  |   "exclude": [ | ||||||
|  |     "node_modules", | ||||||
|  |     ".nuxt", | ||||||
|  |     "dist" | ||||||
|  |   ] | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user