@luxass/eslint-config 4.4.0 → 4.4.2

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
@@ -1866,10 +1866,7 @@ async function nextjs(options = {}) {
1866
1866
  name: "luxass/nextjs/og-override",
1867
1867
  files: GLOB_NEXTJS_OG,
1868
1868
  rules: {
1869
- "nextjs/no-img-element": "off",
1870
- "react/no-unknown-property": ["error", {
1871
- ignore: ["tw"]
1872
- }]
1869
+ "nextjs/no-img-element": "off"
1873
1870
  }
1874
1871
  }
1875
1872
  ];
@@ -1961,20 +1958,23 @@ async function react(options = {}) {
1961
1958
  "warn",
1962
1959
  {
1963
1960
  allowConstantExport: isAllowConstantExport,
1964
- allowExportNames: isUsingNext ? [
1965
- "config",
1966
- "generateStaticParams",
1967
- "metadata",
1968
- "generateMetadata",
1969
- "viewport",
1970
- "generateViewport"
1971
- ] : isUsingRemix ? [
1972
- "meta",
1973
- "links",
1974
- "headers",
1975
- "loader",
1976
- "action"
1977
- ] : void 0
1961
+ allowExportNames: [
1962
+ ...isUsingNext ? [
1963
+ "config",
1964
+ "generateStaticParams",
1965
+ "metadata",
1966
+ "generateMetadata",
1967
+ "viewport",
1968
+ "generateViewport"
1969
+ ] : [],
1970
+ ...isUsingRemix ? [
1971
+ "meta",
1972
+ "links",
1973
+ "headers",
1974
+ "loader",
1975
+ "action"
1976
+ ] : []
1977
+ ]
1978
1978
  }
1979
1979
  ],
1980
1980
  // recommended rules from @eslint-react
package/dist/index.d.cts CHANGED
@@ -300,6 +300,11 @@ interface RuleOptions {
300
300
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/
301
301
  */
302
302
  'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>
303
+ /**
304
+ * disallow value export
305
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
306
+ */
307
+ 'astro/no-exports-from-components'?: Linter.RuleEntry<[]>
303
308
  /**
304
309
  * disallow use of `set:html` to prevent XSS attack
305
310
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
@@ -3395,6 +3400,11 @@ interface RuleOptions {
3395
3400
  * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3396
3401
  */
3397
3402
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
3403
+ /**
3404
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3405
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3406
+ */
3407
+ 'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
3398
3408
  /**
3399
3409
  * Enforce JSX indentation
3400
3410
  * @see https://eslint.style/rules/jsx/jsx-indent
@@ -9077,7 +9087,7 @@ type NoConsole = []|[{
9077
9087
  }]
9078
9088
  // ----- no-constant-condition -----
9079
9089
  type NoConstantCondition = []|[{
9080
- checkLoops?: boolean
9090
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
9081
9091
  }]
9082
9092
  // ----- no-duplicate-imports -----
9083
9093
  type NoDuplicateImports = []|[{
@@ -10167,6 +10177,8 @@ interface _StyleJsxCurlySpacing_BasicConfig {
10167
10177
  type StyleJsxEqualsSpacing = []|[("always" | "never")]
10168
10178
  // ----- style/jsx-first-prop-new-line -----
10169
10179
  type StyleJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
10180
+ // ----- style/jsx-function-call-newline -----
10181
+ type StyleJsxFunctionCallNewline = []|[("always" | "multiline")]
10170
10182
  // ----- style/jsx-indent -----
10171
10183
  type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
10172
10184
  checkAttributes?: boolean
@@ -10196,7 +10208,7 @@ type StyleJsxNewline = []|[{
10196
10208
  }]
10197
10209
  // ----- style/jsx-one-expression-per-line -----
10198
10210
  type StyleJsxOneExpressionPerLine = []|[{
10199
- allow?: ("none" | "literal" | "single-child")
10211
+ allow?: ("none" | "literal" | "single-child" | "single-line")
10200
10212
  }]
10201
10213
  // ----- style/jsx-pascal-case -----
10202
10214
  type StyleJsxPascalCase = []|[{
@@ -10239,6 +10251,7 @@ type StyleJsxWrapMultilines = []|[{
10239
10251
  condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10240
10252
  logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10241
10253
  prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10254
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10242
10255
  }]
10243
10256
  // ----- style/key-spacing -----
10244
10257
  type StyleKeySpacing = []|[({
@@ -13851,7 +13864,7 @@ type VueNoConsole = []|[{
13851
13864
  }]
13852
13865
  // ----- vue/no-constant-condition -----
13853
13866
  type VueNoConstantCondition = []|[{
13854
- checkLoops?: boolean
13867
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
13855
13868
  }]
13856
13869
  // ----- vue/no-deprecated-model-definition -----
13857
13870
  type VueNoDeprecatedModelDefinition = []|[{
package/dist/index.d.ts CHANGED
@@ -300,6 +300,11 @@ interface RuleOptions {
300
300
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/
301
301
  */
302
302
  'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>
303
+ /**
304
+ * disallow value export
305
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
306
+ */
307
+ 'astro/no-exports-from-components'?: Linter.RuleEntry<[]>
303
308
  /**
304
309
  * disallow use of `set:html` to prevent XSS attack
305
310
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
@@ -3395,6 +3400,11 @@ interface RuleOptions {
3395
3400
  * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3396
3401
  */
3397
3402
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
3403
+ /**
3404
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3405
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3406
+ */
3407
+ 'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
3398
3408
  /**
3399
3409
  * Enforce JSX indentation
3400
3410
  * @see https://eslint.style/rules/jsx/jsx-indent
@@ -9077,7 +9087,7 @@ type NoConsole = []|[{
9077
9087
  }]
9078
9088
  // ----- no-constant-condition -----
9079
9089
  type NoConstantCondition = []|[{
9080
- checkLoops?: boolean
9090
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
9081
9091
  }]
9082
9092
  // ----- no-duplicate-imports -----
9083
9093
  type NoDuplicateImports = []|[{
@@ -10167,6 +10177,8 @@ interface _StyleJsxCurlySpacing_BasicConfig {
10167
10177
  type StyleJsxEqualsSpacing = []|[("always" | "never")]
10168
10178
  // ----- style/jsx-first-prop-new-line -----
10169
10179
  type StyleJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
10180
+ // ----- style/jsx-function-call-newline -----
10181
+ type StyleJsxFunctionCallNewline = []|[("always" | "multiline")]
10170
10182
  // ----- style/jsx-indent -----
10171
10183
  type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
10172
10184
  checkAttributes?: boolean
@@ -10196,7 +10208,7 @@ type StyleJsxNewline = []|[{
10196
10208
  }]
10197
10209
  // ----- style/jsx-one-expression-per-line -----
10198
10210
  type StyleJsxOneExpressionPerLine = []|[{
10199
- allow?: ("none" | "literal" | "single-child")
10211
+ allow?: ("none" | "literal" | "single-child" | "single-line")
10200
10212
  }]
10201
10213
  // ----- style/jsx-pascal-case -----
10202
10214
  type StyleJsxPascalCase = []|[{
@@ -10239,6 +10251,7 @@ type StyleJsxWrapMultilines = []|[{
10239
10251
  condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10240
10252
  logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10241
10253
  prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10254
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10242
10255
  }]
10243
10256
  // ----- style/key-spacing -----
10244
10257
  type StyleKeySpacing = []|[({
@@ -13851,7 +13864,7 @@ type VueNoConsole = []|[{
13851
13864
  }]
13852
13865
  // ----- vue/no-constant-condition -----
13853
13866
  type VueNoConstantCondition = []|[{
13854
- checkLoops?: boolean
13867
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
13855
13868
  }]
13856
13869
  // ----- vue/no-deprecated-model-definition -----
13857
13870
  type VueNoDeprecatedModelDefinition = []|[{
package/dist/index.js CHANGED
@@ -1768,10 +1768,7 @@ async function nextjs(options = {}) {
1768
1768
  name: "luxass/nextjs/og-override",
1769
1769
  files: GLOB_NEXTJS_OG,
1770
1770
  rules: {
1771
- "nextjs/no-img-element": "off",
1772
- "react/no-unknown-property": ["error", {
1773
- ignore: ["tw"]
1774
- }]
1771
+ "nextjs/no-img-element": "off"
1775
1772
  }
1776
1773
  }
1777
1774
  ];
@@ -1863,20 +1860,23 @@ async function react(options = {}) {
1863
1860
  "warn",
1864
1861
  {
1865
1862
  allowConstantExport: isAllowConstantExport,
1866
- allowExportNames: isUsingNext ? [
1867
- "config",
1868
- "generateStaticParams",
1869
- "metadata",
1870
- "generateMetadata",
1871
- "viewport",
1872
- "generateViewport"
1873
- ] : isUsingRemix ? [
1874
- "meta",
1875
- "links",
1876
- "headers",
1877
- "loader",
1878
- "action"
1879
- ] : void 0
1863
+ allowExportNames: [
1864
+ ...isUsingNext ? [
1865
+ "config",
1866
+ "generateStaticParams",
1867
+ "metadata",
1868
+ "generateMetadata",
1869
+ "viewport",
1870
+ "generateViewport"
1871
+ ] : [],
1872
+ ...isUsingRemix ? [
1873
+ "meta",
1874
+ "links",
1875
+ "headers",
1876
+ "loader",
1877
+ "action"
1878
+ ] : []
1879
+ ]
1880
1880
  }
1881
1881
  ],
1882
1882
  // recommended rules from @eslint-react
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxass/eslint-config",
3
- "version": "4.4.0",
3
+ "version": "4.4.2",
4
4
  "description": "ESLint config for @luxass",
5
5
  "type": "module",
6
6
  "author": {
@@ -8,7 +8,7 @@
8
8
  "email": "lucasnrgaard@gmail.com",
9
9
  "url": "https://luxass.dev"
10
10
  },
11
- "packageManager": "pnpm@8.15.7",
11
+ "packageManager": "pnpm@9.0.6",
12
12
  "license": "MIT",
13
13
  "repository": {
14
14
  "type": "git",
@@ -105,30 +105,30 @@
105
105
  }
106
106
  },
107
107
  "dependencies": {
108
- "@antfu/install-pkg": "^0.3.2",
108
+ "@antfu/install-pkg": "^0.3.3",
109
109
  "@clack/prompts": "^0.7.0",
110
110
  "@eslint-community/eslint-plugin-eslint-comments": "^4.3.0",
111
- "@stylistic/eslint-plugin": "^1.7.0",
112
- "@typescript-eslint/eslint-plugin": "^7.6.0",
113
- "@typescript-eslint/parser": "^7.6.0",
111
+ "@stylistic/eslint-plugin": "^1.8.0",
112
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
113
+ "@typescript-eslint/parser": "^7.8.0",
114
114
  "eslint-config-flat-gitignore": "^0.1.5",
115
- "eslint-flat-config-utils": "^0.2.2",
115
+ "eslint-flat-config-utils": "^0.2.4",
116
116
  "eslint-merge-processors": "^0.1.0",
117
117
  "eslint-plugin-antfu": "^2.1.2",
118
118
  "eslint-plugin-import-x": "^0.5.0",
119
119
  "eslint-plugin-jsdoc": "^48.2.3",
120
120
  "eslint-plugin-jsonc": "^2.15.1",
121
- "eslint-plugin-markdown": "^4.0.1",
122
- "eslint-plugin-n": "^17.2.0",
121
+ "eslint-plugin-markdown": "^5.0.0",
122
+ "eslint-plugin-n": "^17.4.0",
123
123
  "eslint-plugin-sort-keys": "^2.3.5",
124
124
  "eslint-plugin-toml": "^0.11.0",
125
125
  "eslint-plugin-unicorn": "^52.0.0",
126
- "eslint-plugin-unused-imports": "^3.1.0",
127
- "eslint-plugin-vitest": "^0.5.2",
128
- "eslint-plugin-vue": "^9.24.1",
126
+ "eslint-plugin-unused-imports": "^3.2.0",
127
+ "eslint-plugin-vitest": "^0.5.4",
128
+ "eslint-plugin-vue": "^9.25.0",
129
129
  "eslint-plugin-yml": "^1.14.0",
130
- "eslint-processor-vue-blocks": "^0.1.1",
131
- "globals": "^15.0.0",
130
+ "eslint-processor-vue-blocks": "^0.1.2",
131
+ "globals": "^15.1.0",
132
132
  "jsonc-eslint-parser": "^2.4.0",
133
133
  "local-pkg": "^0.5.0",
134
134
  "parse-gitignore": "^2.0.0",
@@ -138,34 +138,34 @@
138
138
  },
139
139
  "devDependencies": {
140
140
  "@antfu/eslint-plugin-prettier": "^5.0.1-1",
141
- "@eslint-react/eslint-plugin": "^1.5.8",
142
- "@eslint/config-inspector": "^0.4.6",
143
- "@next/eslint-plugin-next": "^14.2.1",
144
- "@stylistic/eslint-plugin-migrate": "^1.7.0",
141
+ "@eslint-react/eslint-plugin": "^1.5.10",
142
+ "@eslint/config-inspector": "^0.4.8",
143
+ "@next/eslint-plugin-next": "^14.2.3",
144
+ "@stylistic/eslint-plugin-migrate": "^1.8.0",
145
145
  "@types/eslint": "^8.56.10",
146
146
  "@types/estree": "^1.0.5",
147
147
  "@types/node": "^20.12.7",
148
- "@typescript-eslint/rule-tester": "^7.6.0",
149
- "@unocss/eslint-plugin": "^0.59.2",
150
- "astro-eslint-parser": "^0.17.0",
151
- "bundle-require": "^4.0.2",
152
- "eslint": "^9.0.0",
153
- "eslint-plugin-astro": "^0.34.0",
154
- "eslint-plugin-format": "^0.1.0",
155
- "eslint-plugin-react-hooks": "^4.6.0",
148
+ "@typescript-eslint/rule-tester": "^7.8.0",
149
+ "@unocss/eslint-plugin": "^0.59.4",
150
+ "astro-eslint-parser": "^1.0.2",
151
+ "bundle-require": "^4.1.0",
152
+ "eslint": "^9.2.0",
153
+ "eslint-plugin-astro": "^1.1.2",
154
+ "eslint-plugin-format": "^0.1.1",
155
+ "eslint-plugin-react-hooks": "^4.6.2",
156
156
  "eslint-plugin-react-refresh": "^0.4.6",
157
- "eslint-plugin-solid": "^0.13.2",
158
- "eslint-plugin-svelte": "2.37.0",
157
+ "eslint-plugin-solid": "^0.14.0",
158
+ "eslint-plugin-svelte": "2.38.0",
159
159
  "eslint-plugin-tailwindcss": "^3.15.1",
160
- "eslint-typegen": "^0.2.2",
160
+ "eslint-typegen": "^0.2.4",
161
161
  "lint-staged": "^15.2.2",
162
162
  "prettier-plugin-astro": "^0.13.0",
163
163
  "simple-git-hooks": "^2.11.1",
164
- "svelte": "^4.2.14",
165
- "svelte-eslint-parser": "^0.34.1",
164
+ "svelte": "^4.2.15",
165
+ "svelte-eslint-parser": "^0.35.0",
166
166
  "tsup": "^8.0.2",
167
167
  "typescript": "^5.4.5",
168
- "vitest": "^1.5.0"
168
+ "vitest": "^1.6.0"
169
169
  },
170
170
  "simple-git-hooks": {
171
171
  "pre-commit": "pnpm lint-staged"