Skip to content

Commit

Permalink
eslint upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
hnorbi94 committed Jun 11, 2024
1 parent 97e1b99 commit 8658144
Show file tree
Hide file tree
Showing 7 changed files with 465 additions and 419 deletions.
4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

41 changes: 0 additions & 41 deletions .eslintrc.json

This file was deleted.

1 change: 0 additions & 1 deletion dev/main.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { createApp } from 'vue'
// @ts-ignore
import App from './App.vue'
import { createI18n } from 'vue-i18n'

Expand Down
66 changes: 66 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
// https://stackoverflow.com/questions/78348933/how-to-use-eslint-flat-config-for-vue-with-typescript

import pluginJs from '@eslint/js'
import pluginVue from 'eslint-plugin-vue'
import pluginN from 'eslint-plugin-n'
import pluginPromise from 'eslint-plugin-promise'
import pluginImport from 'eslint-plugin-import'
import tsEslint from 'typescript-eslint'
import standard from 'eslint-config-standard'

export default tsEslint.config(
pluginJs.configs.recommended,
...tsEslint.configs.recommended,
...pluginVue.configs['flat/recommended'],
{
plugins: {
'typescript-eslint': tsEslint.plugin,
n: pluginN,
import: pluginImport,
promise: pluginPromise,
},
languageOptions: {
parserOptions: {
parser: tsEslint.parser,
extraFileExtensions: ['.vue'],
sourceType: 'module',
},
},
files: ['{**/*,*}.{js,ts,jsx,tsx,vue}'],
rules: {
// Nem biztos, hogy ez a legjobb módja a standard behúzásának, de a lib flat config design-t nem igazán támogatja:
// - https://github.com/standard/eslint-config-standard/issues/411
// - https://github.com/standard/eslint-config-standard/issues/410#issuecomment-2136708186
...standard.rules,
'vue/multi-word-component-names': 'off',
'vue/max-attributes-per-line': [
'error', {
singleline: {
max: 3,
},
multiline: {
max: 1,
},
},
],
'space-before-function-paren': [
'error',
{
anonymous: 'always',
named: 'never',
asyncArrow: 'always',
},
],
'comma-dangle': [
'error', {
arrays: 'always-multiline',
objects: 'always-multiline',
imports: 'always-multiline',
exports: 'always-multiline',
functions: 'always-multiline',
},
],
'object-shorthand': 'off',
},
},
)
36 changes: 19 additions & 17 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"build": "vite build",
"dev": "vite",
"serve": "vite preview",
"eslint": "eslint '{**/*,*}.{js,ts,jsx,tsx,vue}' --cache",
"eslint:fix": "eslint '{**/*,*}.{js,ts,jsx,tsx,vue}' --fix"
"eslint": "eslint --cache --ignore-pattern \"dist/\"",
"eslint:fix": "eslint --fix --ignore-pattern \"dist/\""
},
"keywords": [
"vue.js",
Expand All @@ -36,24 +36,26 @@
"vue-i18n": "^9.0.0"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.3.3",
"@eslint/js": "^9.4.0",
"@tsconfig/node20": "^20.1.2",
"@types/node": "^20.11.10",
"@vitejs/plugin-vue": "^5.0.3",
"@vue/eslint-config-typescript": "^12.0.0",
"@types/node": "^20.14.2",
"@vitejs/plugin-vue": "^5.0.5",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.49.0",
"eslint": "^9.4.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-n": "^17.8.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-vue": "^9.22.0",
"typescript": "~5.3.0",
"vite": "^5.0.11",
"vite-plugin-dts": "^3.8.3",
"vue": "^3.4.21",
"vue-i18n": "^9.10.1",
"vue-tsc": "^1.8.27"
}
"eslint-plugin-promise": "^6.2.0",
"eslint-plugin-vue": "^9.26.0",
"typescript": "~5.4.5",
"typescript-eslint": "^7.13.0",
"vite": "^5.2.13",
"vite-plugin-dts": "^3.9.1",
"vue": "^3.4.27",
"vue-i18n": "^9.13.1",
"vue-tsc": "^2.0.21"
},
"dependencies": {}
}
14 changes: 5 additions & 9 deletions vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'node:path'
import * as path from 'path'
import dts from 'vite-plugin-dts'
import { fileURLToPath, URL } from 'node:url'

// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue(), dts()],
build: {
lib: {
entry: resolve(__dirname, 'src/index.ts'),
entry: fileURLToPath(new URL('./src/index.ts', import.meta.url)),
formats: ['es'],
name: 'VueFormValidator',
fileName: 'vue-form-validator',
Expand All @@ -27,11 +26,8 @@ export default defineConfig({
},
},
resolve: {
alias: [
{
find: '@',
replacement: path.resolve(__dirname, './src'),
},
],
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
})
Loading

0 comments on commit 8658144

Please sign in to comment.