mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-20 14:56:17 -04:00
chore: setup nuxt
This commit is contained in:
parent
d0bed32b8e
commit
c66e2097b6
33 changed files with 17799 additions and 0 deletions
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…
Add table
Add a link
Reference in a new issue