@rotki/eslint-config 2.4.4 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1453,6 +1453,8 @@ async function typescript(options = {}) {
1453
1453
  "@typescript-eslint/ban-types": ["error", { types: { Function: false } }],
1454
1454
  "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
1455
1455
  "@typescript-eslint/consistent-type-imports": ["error", { disallowTypeAnnotations: false, fixStyle: "inline-type-imports", prefer: "type-imports" }],
1456
+ "@typescript-eslint/method-signature-style": ["error", "property"],
1457
+ // https://www.totaltypescript.com/method-shorthand-syntax-considered-harmful
1456
1458
  "@typescript-eslint/no-dupe-class-members": "error",
1457
1459
  "@typescript-eslint/no-dynamic-delete": "off",
1458
1460
  "@typescript-eslint/no-explicit-any": "off",
@@ -1691,6 +1693,26 @@ async function vue(options = {}) {
1691
1693
  };
1692
1694
  return [
1693
1695
  {
1696
+ // This allows Vue plugin to work with auto imports
1697
+ // https://github.com/vuejs/eslint-plugin-vue/pull/2422
1698
+ languageOptions: {
1699
+ globals: {
1700
+ computed: "readonly",
1701
+ defineEmits: "readonly",
1702
+ defineExpose: "readonly",
1703
+ defineProps: "readonly",
1704
+ onMounted: "readonly",
1705
+ onUnmounted: "readonly",
1706
+ reactive: "readonly",
1707
+ ref: "readonly",
1708
+ shallowReactive: "readonly",
1709
+ shallowRef: "readonly",
1710
+ toRef: "readonly",
1711
+ toRefs: "readonly",
1712
+ watch: "readonly",
1713
+ watchEffect: "readonly"
1714
+ }
1715
+ },
1694
1716
  plugins: {
1695
1717
  vue: pluginVue
1696
1718
  }
package/dist/index.d.cts CHANGED
@@ -83,42 +83,42 @@ interface VuetifyRules {
83
83
 
84
84
  interface VueI18nRules {
85
85
  'key-format-style': RuleConfig<['camelCase' | 'kebab-case' | 'snake_case', {
86
- 'allowArray'?: boolean;
87
- 'splitByDots'?: boolean;
86
+ allowArray?: boolean;
87
+ splitByDots?: boolean;
88
88
  }]>;
89
89
  'no-deprecated-i18n-component': RuleConfig<[]>;
90
90
  'no-deprecated-i18n-place-attr': RuleConfig<[]>;
91
91
  'no-deprecated-i18n-places-prop': RuleConfig<[]>;
92
92
  'no-duplicate-keys-in-locale': RuleConfig<[{
93
- 'ignoreI18nBlock'?: boolean;
93
+ ignoreI18nBlock?: boolean;
94
94
  }]>;
95
95
  'no-dynamic-keys': RuleConfig<[]>;
96
96
  'no-html-messages': RuleConfig<[]>;
97
97
  'no-i18n-t-path-prop': RuleConfig<[]>;
98
98
  'no-missing-keys': RuleConfig<[]>;
99
99
  'no-missing-keys-in-other-locales': RuleConfig<[{
100
- 'ignoreLocales'?: string[];
100
+ ignoreLocales?: string[];
101
101
  }]>;
102
102
  'no-raw-text': RuleConfig<[
103
103
  {
104
- 'attributes'?: Record<string, string[]>;
105
- 'ignoreNodes'?: string[];
106
- 'ignorePattern'?: string;
107
- 'ignoreText'?: string[];
104
+ attributes?: Record<string, string[]>;
105
+ ignoreNodes?: string[];
106
+ ignorePattern?: string;
107
+ ignoreText?: string[];
108
108
  }
109
109
  ]>;
110
110
  'no-unknown-locale': RuleConfig<[
111
111
  {
112
- 'locales'?: string[];
113
- 'disableRFC5646'?: boolean;
112
+ locales?: string[];
113
+ disableRFC5646?: boolean;
114
114
  }
115
115
  ]>;
116
116
  'no-unused-keys': RuleConfig<[
117
117
  {
118
- 'src'?: string;
119
- 'extensions'?: string[];
120
- 'ignores'?: string[];
121
- 'enableFix'?: boolean;
118
+ src?: string;
119
+ extensions?: string[];
120
+ ignores?: string[];
121
+ enableFix?: boolean;
122
122
  }
123
123
  ]>;
124
124
  'no-v-html': RuleConfig<[]>;
package/dist/index.d.ts CHANGED
@@ -83,42 +83,42 @@ interface VuetifyRules {
83
83
 
84
84
  interface VueI18nRules {
85
85
  'key-format-style': RuleConfig<['camelCase' | 'kebab-case' | 'snake_case', {
86
- 'allowArray'?: boolean;
87
- 'splitByDots'?: boolean;
86
+ allowArray?: boolean;
87
+ splitByDots?: boolean;
88
88
  }]>;
89
89
  'no-deprecated-i18n-component': RuleConfig<[]>;
90
90
  'no-deprecated-i18n-place-attr': RuleConfig<[]>;
91
91
  'no-deprecated-i18n-places-prop': RuleConfig<[]>;
92
92
  'no-duplicate-keys-in-locale': RuleConfig<[{
93
- 'ignoreI18nBlock'?: boolean;
93
+ ignoreI18nBlock?: boolean;
94
94
  }]>;
95
95
  'no-dynamic-keys': RuleConfig<[]>;
96
96
  'no-html-messages': RuleConfig<[]>;
97
97
  'no-i18n-t-path-prop': RuleConfig<[]>;
98
98
  'no-missing-keys': RuleConfig<[]>;
99
99
  'no-missing-keys-in-other-locales': RuleConfig<[{
100
- 'ignoreLocales'?: string[];
100
+ ignoreLocales?: string[];
101
101
  }]>;
102
102
  'no-raw-text': RuleConfig<[
103
103
  {
104
- 'attributes'?: Record<string, string[]>;
105
- 'ignoreNodes'?: string[];
106
- 'ignorePattern'?: string;
107
- 'ignoreText'?: string[];
104
+ attributes?: Record<string, string[]>;
105
+ ignoreNodes?: string[];
106
+ ignorePattern?: string;
107
+ ignoreText?: string[];
108
108
  }
109
109
  ]>;
110
110
  'no-unknown-locale': RuleConfig<[
111
111
  {
112
- 'locales'?: string[];
113
- 'disableRFC5646'?: boolean;
112
+ locales?: string[];
113
+ disableRFC5646?: boolean;
114
114
  }
115
115
  ]>;
116
116
  'no-unused-keys': RuleConfig<[
117
117
  {
118
- 'src'?: string;
119
- 'extensions'?: string[];
120
- 'ignores'?: string[];
121
- 'enableFix'?: boolean;
118
+ src?: string;
119
+ extensions?: string[];
120
+ ignores?: string[];
121
+ enableFix?: boolean;
122
122
  }
123
123
  ]>;
124
124
  'no-v-html': RuleConfig<[]>;
package/dist/index.js CHANGED
@@ -1360,6 +1360,8 @@ async function typescript(options = {}) {
1360
1360
  "@typescript-eslint/ban-types": ["error", { types: { Function: false } }],
1361
1361
  "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
1362
1362
  "@typescript-eslint/consistent-type-imports": ["error", { disallowTypeAnnotations: false, fixStyle: "inline-type-imports", prefer: "type-imports" }],
1363
+ "@typescript-eslint/method-signature-style": ["error", "property"],
1364
+ // https://www.totaltypescript.com/method-shorthand-syntax-considered-harmful
1363
1365
  "@typescript-eslint/no-dupe-class-members": "error",
1364
1366
  "@typescript-eslint/no-dynamic-delete": "off",
1365
1367
  "@typescript-eslint/no-explicit-any": "off",
@@ -1598,6 +1600,26 @@ async function vue(options = {}) {
1598
1600
  };
1599
1601
  return [
1600
1602
  {
1603
+ // This allows Vue plugin to work with auto imports
1604
+ // https://github.com/vuejs/eslint-plugin-vue/pull/2422
1605
+ languageOptions: {
1606
+ globals: {
1607
+ computed: "readonly",
1608
+ defineEmits: "readonly",
1609
+ defineExpose: "readonly",
1610
+ defineProps: "readonly",
1611
+ onMounted: "readonly",
1612
+ onUnmounted: "readonly",
1613
+ reactive: "readonly",
1614
+ ref: "readonly",
1615
+ shallowReactive: "readonly",
1616
+ shallowRef: "readonly",
1617
+ toRef: "readonly",
1618
+ toRefs: "readonly",
1619
+ watch: "readonly",
1620
+ watchEffect: "readonly"
1621
+ }
1622
+ },
1601
1623
  plugins: {
1602
1624
  vue: pluginVue
1603
1625
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rotki/eslint-config",
3
- "version": "2.4.4",
3
+ "version": "2.5.0",
4
4
  "packageManager": "pnpm@8.14.3",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0",
@@ -51,54 +51,54 @@
51
51
  "dependencies": {
52
52
  "@antfu/eslint-define-config": "1.23.0-2",
53
53
  "@antfu/install-pkg": "0.3.1",
54
- "@eslint-types/typescript-eslint": "6.18.1",
55
- "@eslint-types/unicorn": "50.0.1",
56
- "@stylistic/eslint-plugin": "1.5.4",
57
- "@typescript-eslint/eslint-plugin": "6.19.1",
58
- "@typescript-eslint/parser": "6.19.1",
59
- "eslint-config-flat-gitignore": "0.1.2",
54
+ "@eslint-types/typescript-eslint": "7.0.2",
55
+ "@eslint-types/unicorn": "51.0.1",
56
+ "@stylistic/eslint-plugin": "1.6.3",
57
+ "@typescript-eslint/eslint-plugin": "7.2.0",
58
+ "@typescript-eslint/parser": "7.2.0",
59
+ "eslint-config-flat-gitignore": "0.1.3",
60
60
  "eslint-config-prettier": "9.1.0",
61
61
  "eslint-merge-processors": "0.1.0",
62
62
  "eslint-plugin-antfu": "2.1.2",
63
63
  "eslint-plugin-eslint-comments": "3.2.0",
64
64
  "eslint-plugin-format": "0.1.0",
65
- "eslint-plugin-html": "7.1.0",
65
+ "eslint-plugin-html": "8.0.0",
66
66
  "eslint-plugin-i": "2.29.1",
67
67
  "eslint-plugin-jsonc": "2.13.0",
68
- "eslint-plugin-markdown": "3.0.1",
68
+ "eslint-plugin-markdown": "4.0.1",
69
69
  "eslint-plugin-n": "16.6.2",
70
70
  "eslint-plugin-no-only-tests": "3.1.0",
71
- "eslint-plugin-perfectionist": "2.5.0",
71
+ "eslint-plugin-perfectionist": "2.6.0",
72
72
  "eslint-plugin-prettier": "5.1.3",
73
- "eslint-plugin-unicorn": "50.0.1",
74
- "eslint-plugin-unused-imports": "3.0.0",
75
- "eslint-plugin-vitest": "0.3.20",
76
- "eslint-plugin-vue": "9.20.1",
73
+ "eslint-plugin-unicorn": "51.0.1",
74
+ "eslint-plugin-unused-imports": "3.1.0",
75
+ "eslint-plugin-vitest": "0.3.26",
76
+ "eslint-plugin-vue": "9.23.0",
77
77
  "eslint-plugin-yml": "1.12.2",
78
78
  "eslint-processor-vue-blocks": "0.1.1",
79
- "globals": "13.24.0",
79
+ "globals": "14.0.0",
80
80
  "jsonc-eslint-parser": "2.4.0",
81
81
  "local-pkg": "0.5.0",
82
- "prettier": "3.2.4",
82
+ "prettier": "3.2.5",
83
83
  "prompts": "2.4.2",
84
84
  "vue-eslint-parser": "9.4.2",
85
85
  "yaml-eslint-parser": "1.2.2"
86
86
  },
87
87
  "devDependencies": {
88
- "@commitlint/cli": "18.5.0",
89
- "@commitlint/config-conventional": "18.5.0",
88
+ "@commitlint/cli": "19.1.0",
89
+ "@commitlint/config-conventional": "19.1.0",
90
90
  "@rotki/eslint-config": "*",
91
- "@types/eslint": "8.56.2",
92
- "@types/node": "20.11.6",
91
+ "@types/eslint": "8.56.5",
92
+ "@types/node": "20.11.26",
93
93
  "@types/prompts": "2.4.9",
94
- "bumpp": "9.3.0",
95
- "eslint": "8.56.0",
94
+ "bumpp": "9.4.0",
95
+ "eslint": "8.57.0",
96
96
  "eslint-flat-config-viewer": "0.1.11",
97
- "husky": "8.0.3",
98
- "lint-staged": "15.2.0",
97
+ "husky": "9.0.11",
98
+ "lint-staged": "15.2.2",
99
99
  "rimraf": "5.0.5",
100
- "tsup": "8.0.1",
101
- "typescript": "5.3.3"
100
+ "tsup": "8.0.2",
101
+ "typescript": "5.4.2"
102
102
  },
103
103
  "engines": {
104
104
  "node": ">=16 <19",