diff --git a/.env b/.env
deleted file mode 100644
index 0672e52..0000000
--- a/.env
+++ /dev/null
@@ -1,3 +0,0 @@
-VUE_APP_NAME=
-VUE_APP_PRODUCTION_DIR=
-VUE_APP_GOOGLE_MAPS_API_KEY=
\ No newline at end of file
diff --git a/.env.template b/.env.template
new file mode 100644
index 0000000..22b14af
--- /dev/null
+++ b/.env.template
@@ -0,0 +1 @@
+VITE_APP_GOOGLE_MAPS_API_KEY=
\ No newline at end of file
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..d24111d
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,7 @@
+.vscode/
+.yarn/
+coverage/
+dist/
+public/assets/
+tsconfig.*.json
+components.d.ts
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644
index 0000000..0b0fd97
--- /dev/null
+++ b/.eslintrc.yml
@@ -0,0 +1,96 @@
+env:
+ browser: true
+ es2021: true
+extends:
+ - plugin:vue/recommended
+ - standard-with-typescript
+ - plugin:import/recommended
+ - plugin:import/typescript
+ - plugin:vuejs-accessibility/recommended
+ - plugin:yaml/recommended
+ - '@vue/eslint-config-prettier'
+parser: vue-eslint-parser
+parserOptions:
+ ecmaVersion: latest
+ parser: '@typescript-eslint/parser'
+ sourceType: module
+ createDefaultProgram: true
+ project:
+ - ./tsconfig.app.json
+ - ./tsconfig.node.json
+ - ./tsconfig.vitest.json
+ extraFileExtensions:
+ - .vue
+plugins:
+ - import
+ - tsdoc
+ - html
+ - yaml
+ - vue
+rules:
+ require-jsdoc: warn
+ no-unused-vars: warn
+ '@typescript-eslint/array-type':
+ - error
+ - default: array # const lines: string[] = []; style
+ '@typescript-eslint/ban-ts-comment': off # Enable @ts-ignore etc.
+ '@typescript-eslint/consistent-generic-constructors':
+ - error
+ - type-annotation # Left-hand side style
+ '@typescript-eslint/consistent-type-imports': # Enable import sort order, see bellow.
+ - off
+ - prefer: type-imports
+ '@typescript-eslint/explicit-function-return-type': off # Fix for pinia
+ '@typescript-eslint/no-confusing-void-expression':
+ - error
+ - ignoreArrowShorthand: true # Allow short land for pretter
+ '@typescript-eslint/strict-boolean-expressions': off # Fix for vite import.meta.env
+ '@typescript-eslint/triple-slash-reference': off # Fix for vite env.d.ts.
+ import/default: off # Fix for Vue setup style
+ import/no-default-export: off # Fix for Vue setup style
+ import/order: # Sort Import Order. see https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md#importorder-enforce-a-convention-in-module-import-order
+ - error
+ - groups:
+ ['builtin', 'external', 'parent', 'sibling', 'index', 'object', 'type']
+ pathGroups:
+ # Vue Core
+ - pattern: '{vue,vue-router,vuex,@/store,vue-i18n,pinia,vite,vitest,vitest/**,@vitejs/**,@vue/**,@logue/vue2-helpers}'
+ group: external
+ position: before
+ # UI Library
+ - pattern: '{vuetify,vuetify/**,@mdi/**,webfontloader}'
+ group: parent
+ position: before
+ # Internal Codes
+ - pattern: '{@/**}'
+ group: internal
+ position: before
+ pathGroupsExcludedImportTypes:
+ - builtin
+ alphabetize:
+ order: asc
+ newlines-between: ignore
+ tsdoc/syntax: warn
+ vue/html-self-closing: # A tag with no content should be written like
.
+ - error
+ - html:
+ void: always
+ vue/multi-word-component-names: warn # Mitigate non-multiword component name errors to warnings.
+settings:
+ import/parsers:
+ '@typescript-eslint/parser':
+ - .ts
+ vue-eslint-parser:
+ - .vue
+ import/resolver:
+ typescript: true
+ alias:
+ map:
+ - ['@', './src']
+ - ['~', './node_modules']
+ extensions:
+ - .js
+ - .ts
+ - .vue
+ vite:
+ configPath: ./vite.config.ts
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..000d73e
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,11 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "npm" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "daily"
diff --git a/.gitignore b/.gitignore
index 8765a6c..dc785e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,22 +1,23 @@
-.DS_Store
-node_modules
-/dist
-lib
-stats.html
-
-# local env files
-.env.local
-.env.*.local
-
-# Log files
+# Logs
+logs
+*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+coverage
+dist
+dist-ssr
+*.local
# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
.idea
-.vscode
+.DS_Store
*.suo
*.ntvs*
*.njsproj
diff --git a/.ncurc.yml b/.ncurc.yml
new file mode 100644
index 0000000..8f8d1b1
--- /dev/null
+++ b/.ncurc.yml
@@ -0,0 +1,10 @@
+upgrade: true
+reject:
+ - '@vue/test-utils'
+ - eslint-plugin-vuetify
+ - sass
+ - vue
+ - vue-router
+ - vue-template-compiler
+ - vuetify
+ - vuex
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..d06b1b9
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,6 @@
+.vscode/
+.yarn/
+dist/
+coverage/
+public/assets/
+components.d.ts
diff --git a/.prettierrc.yml b/.prettierrc.yml
new file mode 100644
index 0000000..d3ba2a5
--- /dev/null
+++ b/.prettierrc.yml
@@ -0,0 +1,11 @@
+printWidth: 80
+tabWidth: 2
+useTabs: false
+semi: true
+singleQuote: true
+trailingComma: es5
+bracketSpacing: true
+bracketSameLine: false
+arrowParens: avoid
+htmlWhitespaceSensitivity: ignore
+endOfLine: lf
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 0000000..453aa9a
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,5 @@
+.vscode/
+.yarn/
+coverage/
+dist/
+public/assets/
diff --git a/.stylelintrc.yml b/.stylelintrc.yml
new file mode 100644
index 0000000..2ade3e8
--- /dev/null
+++ b/.stylelintrc.yml
@@ -0,0 +1,14 @@
+customSyntax: postcss-html
+extends:
+ - stylelint-config-html/vue
+ - stylelint-config-recommended-scss
+ - stylelint-config-recommended-vue/scss
+plugins:
+ - stylelint-scss
+ignoreFiles:
+ - 'dist/**/*'
+rules:
+ color-function-notation: legacy
+ function-no-unknown: null
+ no-descending-specificity: null
+ scss/no-global-function-names: null
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..4b209ba
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,7 @@
+{
+ "recommendations": [
+ // "Vue.volar",
+ "Vue.vscode-typescript-vue-plugin",
+ "octref.vetur"
+ ]
+}
diff --git a/README.md b/README.md
index 668d4d6..ef72fd5 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,18 @@
-# cznet-vue-core
+# Vue 3 + TypeScript + Vite
-## Project setup
-```
-npm install
-```
+This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `
+