🔧 格式化配置

This commit is contained in:
BTMuli
2023-06-25 16:09:52 +08:00
parent 778e056970
commit 7982649bbc
9 changed files with 7419 additions and 7398 deletions

5
.eslintignore Normal file
View File

@@ -0,0 +1,5 @@
# Build
dist
src-tauri/target
# Submodules
TGAssistant

View File

@@ -5,86 +5,31 @@ env:
extends:
- plugin:vue/vue3-recommended
- standard-with-typescript
overrides: []
parser: vue-eslint-parser
- prettier
- plugin:prettier/recommended
parser: "@typescript-eslint/parser"
parserOptions:
parser: "@typescript-eslint/parser"
ecmaVersion: latest
sourceType: module
extraFileExtensions:
- .vue
parser: vue-eslint-parser
project:
- ./tsconfig.json
- ./tsconfig.node.json
- tsconfig.json
- tsconfig.node.json
globals:
TGApp: readonly
plugins:
- vue
- prettier
rules:
# some rules that not normal disabled
semi: off
quotes: off
# rules of standard
no-tabs:
- warn
- allowIndentationTabs: false # 禁止使用 tab 缩进
comma-dangle:
- warn
- always-multiline # 多行时,尾随逗号必须存在
camelcase:
- warn
- properties: always # 对象属性名必须使用驼峰命名
array-callback-return:
- error
- allowImplicit: true
# rules of vue
vue/max-attributes-per-line:
- off
# vue/max-len: # 限制代码长度不得超过这个长度
# - warn
# - code: 80
vue/html-indent:
- warn
- 2 # Vue 标签缩进
- baseIndent: 1 # 最外面的template缩进
vue/component-name-in-template-casing:
- warn # 组件应使用PascalCase命名
- "PascalCase"
vue/multi-word-component-names:
- off # 组件名应该是由多个单词组成
# rules of typescript
# 严格布尔表达式
"@typescript-eslint/strict-boolean-expressions":
- off
"@typescript-eslint/indent":
- warn
- 2 # js/ts缩进
"@typescript-eslint/semi":
# 禁止使用 Object
"@typescript-eslint/consistent-type-assertions":
- warn
- always # 语句末尾必须加分
"@typescript-eslint/quotes":
- assertionStyle: angle-bracket # 使用尖括
# 命名规范
"@typescript-eslint/naming-convention":
- warn
- double # 引号使用双引号
"@typescript-eslint/comma-dangle":
- warn
- always-multiline
"@typescript-eslint/prefer-nullish-coalescing": off # on 会出现一些问题
"@typescript-eslint/space-before-function-paren":
- warn
- always # 函数名和括号之间必须有空格
"@typescript-eslint/ban-types":
- warn
- types:
Object: # 禁止使用 Object
message: "Use {} instead"
fixWith: "{}"
Boolean: # 禁止使用 Boolean
message: "Use boolean instead"
Number: # 禁止使用 Number
message: "Use number instead"
String: # 禁止使用 String
message: "Use string instead"
Symbol: # 禁止使用 Symbol
message: "Use symbol instead"
"@typescript-eslint/no-floating-promises":
- warn
- ignoreVoid: true # 忽略 void 类型
- selector: variableLike
format: ["camelCase", "UPPER_CASE", "PascalCase", "snake_case"]
leadingUnderscore: "allow"
trailingUnderscore: "allow"

View File

@@ -2,15 +2,8 @@
.idea
# Visual Studio Code Setting
.vscode
# Node Modules
node_modules
package-lock.json
# Tauri build
dist
src-tauri/target
# submodules
TGAssistant
# Docs
README.md
LICENSE
docs

View File

@@ -1,7 +1,8 @@
"semi": true
"singleQuote": false
"printWidth": 120
"useTabs": true
"proseWrap": "preserve"
"bracketSpacing": true
"endOfLine": "crlf"
semi: true
singleQuote: false
printWidth: 100
useTabs: false
tabWidth: 2
bracketSpacing: true
endOfLine: "crlf"
trailingComma: "all"

View File

@@ -3,4 +3,7 @@ extends:
- stylelint-order
- stylelint-declaration-block-no-ignored-properties
- stylelint-config-standard-vue
rules: {}
plugins:
- stylelint-prettier
rules:
"prettier/prettier": true

14474
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,83 +1,86 @@
{
"name": "tauri-genshin",
"description": "A Genshin Tool build with Tauri",
"private": true,
"version": "0.2.1",
"author": "BTMuli <bt-muli@outlook.com>",
"packageManager": "npm@9.6.6",
"scripts": {
"build": "tauri build",
"debug": "tauri build --debug",
"dev": "concurrently -k \"tauri dev --exit-on-panic\" \"vue-devtools\"",
"lint": "concurrently \"npm:lint:*(!fix)\"",
"lint:code": "eslint \"./src/**/*.{vue,ts,tsx,js,jsx}\"",
"lint:code:fix": "npm run lint:code -- --fix",
"lint:fix": "concurrently \"npm:lint:*:fix\"",
"lint:style": "stylelint \"./src/**/*.{vue,css}\"",
"lint:style:fix": "npm run lint:style -- --fix",
"prettier": "prettier \"**/*.{json,yml,html}\" --write",
"tauri": "tauri",
"update:submodule": "git submodule update --remote --recursive",
"vite:dev": "vite dev",
"vite:build": "vite build"
},
"bugs": {
"url": "https://github.com/BTMuli/Tauri.Genshin/issues"
},
"directories": {
"doc": "docs"
},
"homepage": "https://github.com/BTMuli/Tauri.Genshin#readme",
"keywords": [
"Tauri",
"Node",
"Typescript",
"Vite",
"Genshin Impact",
"Vuetify"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/BTMuli/Tauri.Genshin.git"
},
"dependencies": {
"@mdi/font": "7.2.96",
"@tauri-apps/api": "^1.4.0",
"clipboard": "^2.0.11",
"html2canvas": "^1.4.1",
"js-md5": "^0.7.3",
"pinia": "^2.1.4",
"pinia-plugin-persistedstate": "^3.1.0",
"tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql",
"vue": "^3.3.4",
"vue-json-viewer": "^3.0.4",
"vue-router": "^4.2.2",
"vuetify": "^3.3.3"
},
"devDependencies": {
"@tauri-apps/cli": "^1.4.0",
"@types/js-md5": "^0.7.0",
"@types/node": "^20.3.1",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@vitejs/plugin-vue": "^4.2.3",
"@vue/devtools": "^6.5.0",
"concurrently": "^8.2.0",
"eslint": "^8.43.0",
"eslint-config-standard-with-typescript": "^35.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.7.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.15.0",
"prettier": "2.8.8",
"stylelint": "^15.8.0",
"stylelint-config-standard-vue": "^1.0.0",
"stylelint-declaration-block-no-ignored-properties": "^2.7.0",
"stylelint-high-performance-animation": "^1.8.0",
"stylelint-order": "^6.0.3",
"typescript": "^5.1.3",
"vite": "^4.3.9",
"vite-plugin-vuetify": "^1.0.2"
}
"name": "tauri-genshin",
"description": "A Genshin Tool build with Tauri",
"private": true,
"version": "0.2.1",
"author": "BTMuli <bt-muli@outlook.com>",
"packageManager": "npm@9.6.6",
"scripts": {
"build": "tauri build",
"debug": "tauri build --debug",
"dev": "concurrently -k \"tauri dev --exit-on-panic\" \"vue-devtools\"",
"lint": "concurrently \"npm:lint:*(!fix)\"",
"lint:fix": "concurrently \"npm:lint:*:fix\"",
"lint:code": "eslint .",
"lint:code:fix": "eslint . --fix",
"lint:style": "stylelint \"src/**/*.{vue,css}\"",
"lint:style:fix": "npm run lint:style -- --fix",
"prettier": "prettier . --write",
"tauri": "tauri",
"update:submodule": "git submodule update --remote --recursive",
"vite:dev": "vite dev",
"vite:build": "vite build"
},
"bugs": {
"url": "https://github.com/BTMuli/Tauri.Genshin/issues"
},
"directories": {
"doc": "docs"
},
"homepage": "https://github.com/BTMuli/Tauri.Genshin#readme",
"keywords": [
"Tauri",
"Node",
"Typescript",
"Vite",
"Genshin Impact",
"Vuetify"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/BTMuli/Tauri.Genshin.git"
},
"dependencies": {
"@mdi/font": "7.2.96",
"@tauri-apps/api": "^1.4.0",
"clipboard": "^2.0.11",
"html2canvas": "^1.4.1",
"js-md5": "^0.7.3",
"pinia": "^2.1.4",
"pinia-plugin-persistedstate": "^3.1.0",
"tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql",
"vue": "^3.3.4",
"vue-json-viewer": "^3.0.4",
"vue-router": "^4.2.2",
"vuetify": "^3.3.3"
},
"devDependencies": {
"@tauri-apps/cli": "^1.4.0",
"@types/js-md5": "^0.7.0",
"@types/node": "^20.3.1",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@vitejs/plugin-vue": "^4.2.3",
"@vue/devtools": "^6.5.0",
"concurrently": "^8.2.0",
"eslint": "^8.43.0",
"eslint-config-prettier": "^8.8.0",
"eslint-config-standard-with-typescript": "^35.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.7.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.15.0",
"prettier": "2.8.8",
"stylelint": "^15.8.0",
"stylelint-config-standard-vue": "^1.0.0",
"stylelint-declaration-block-no-ignored-properties": "^2.7.0",
"stylelint-high-performance-animation": "^1.8.0",
"stylelint-order": "^6.0.3",
"stylelint-prettier": "^3.0.0",
"typescript": "^5.1.3",
"vite": "^4.3.9",
"vite-plugin-vuetify": "^1.0.2"
}
}

View File

@@ -1,23 +1,23 @@
{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": ["ESNext", "DOM"],
"skipLibCheck": true,
"types": ["vite/client"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [
{
"path": "./tsconfig.node.json"
}
]
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": ["ESNext", "DOM"],
"skipLibCheck": true,
"types": ["vite/client"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [
{
"path": "./tsconfig.node.json"
}
]
}

View File

@@ -1,9 +1,10 @@
{
"compilerOptions": {
"composite": true,
"module": "ESNext",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true
},
"include": ["vite.config.ts"]
"compilerOptions": {
"strict": true,
"composite": true,
"module": "ESNext",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true
},
"include": ["vite.config.ts"]
}