@jimmy.codes/eslint-config 7.5.0 → 7.5.1

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.
@@ -1,5 +1,5 @@
1
1
  import { GLOB_ASTRO } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  import globals from "globals";
4
4
  //#region src/configs/astro.ts
5
5
  async function astroConfig(options) {
@@ -9,7 +9,7 @@ async function astroConfig(options) {
9
9
  import("typescript-eslint"),
10
10
  import("eslint-plugin-astro"),
11
11
  import("astro-eslint-parser"),
12
- interopDefault(import("eslint-plugin-jsx-a11y"))
12
+ unwrapDefault(import("eslint-plugin-jsx-a11y"))
13
13
  ]);
14
14
  return [
15
15
  {
@@ -65,18 +65,4 @@ async function astroConfig(options) {
65
65
  ];
66
66
  }
67
67
  //#endregion
68
- //#region src/utils/upwarn.ts
69
- /**
70
- * Converts all ESLint rules set to `"warn"` into `"error"`.
71
- *
72
- * @param rules - A partial set of ESLint rules.
73
- *
74
- * @returns A new rules object with all `"warn"` values changed to `"error"`.
75
- */
76
- const upwarn = (rules = {}) => {
77
- return Object.fromEntries(Object.entries(rules).map(([rule, option]) => {
78
- return [rule, option === "warn" ? "error" : option];
79
- }));
80
- };
81
- //#endregion
82
- export { astroConfig as default, upwarn as t };
68
+ export { astroConfig as default };
package/dist/index.d.mts CHANGED
@@ -1931,238 +1931,238 @@ interface RuleOptions {
1931
1931
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
1932
1932
  /**
1933
1933
  * Enforce or ban the use of inline type-only markers for named imports.
1934
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
1934
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/consistent-type-specifier-style.md
1935
1935
  */
1936
1936
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>;
1937
1937
  /**
1938
1938
  * Ensure a default export is present, given a default import.
1939
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
1939
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/default.md
1940
1940
  */
1941
1941
  'import-x/default'?: Linter.RuleEntry<[]>;
1942
1942
  /**
1943
1943
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
1944
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
1944
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/dynamic-import-chunkname.md
1945
1945
  */
1946
1946
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>;
1947
1947
  /**
1948
1948
  * Forbid any invalid exports, i.e. re-export of the same name.
1949
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
1949
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/export.md
1950
1950
  */
1951
1951
  'import-x/export'?: Linter.RuleEntry<[]>;
1952
1952
  /**
1953
1953
  * Ensure all exports appear after other statements.
1954
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
1954
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/exports-last.md
1955
1955
  */
1956
1956
  'import-x/exports-last'?: Linter.RuleEntry<[]>;
1957
1957
  /**
1958
1958
  * Ensure consistent use of file extension within the import path.
1959
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
1959
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/extensions.md
1960
1960
  */
1961
1961
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>;
1962
1962
  /**
1963
1963
  * Ensure all imports appear before other statements.
1964
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
1964
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/first.md
1965
1965
  */
1966
1966
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>;
1967
1967
  /**
1968
1968
  * Prefer named exports to be grouped together in a single export declaration.
1969
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
1969
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/group-exports.md
1970
1970
  */
1971
1971
  'import-x/group-exports'?: Linter.RuleEntry<[]>;
1972
1972
  /**
1973
1973
  * Replaced by `import-x/first`.
1974
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
1974
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/imports-first.md
1975
1975
  * @deprecated
1976
1976
  */
1977
1977
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>;
1978
1978
  /**
1979
1979
  * Enforce the maximum number of dependencies a module can have.
1980
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
1980
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/max-dependencies.md
1981
1981
  */
1982
1982
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>;
1983
1983
  /**
1984
1984
  * Ensure named imports correspond to a named export in the remote file.
1985
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
1985
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/named.md
1986
1986
  */
1987
1987
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>;
1988
1988
  /**
1989
1989
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1990
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
1990
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/namespace.md
1991
1991
  */
1992
1992
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>;
1993
1993
  /**
1994
1994
  * Enforce a newline after import statements.
1995
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
1995
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/newline-after-import.md
1996
1996
  */
1997
1997
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>;
1998
1998
  /**
1999
1999
  * Forbid import of modules using absolute paths.
2000
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
2000
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-absolute-path.md
2001
2001
  */
2002
2002
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>;
2003
2003
  /**
2004
2004
  * Forbid AMD `require` and `define` calls.
2005
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
2005
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-amd.md
2006
2006
  */
2007
2007
  'import-x/no-amd'?: Linter.RuleEntry<[]>;
2008
2008
  /**
2009
2009
  * Forbid anonymous values as default exports.
2010
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
2010
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-anonymous-default-export.md
2011
2011
  */
2012
2012
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>;
2013
2013
  /**
2014
2014
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2015
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
2015
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-commonjs.md
2016
2016
  */
2017
2017
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>;
2018
2018
  /**
2019
2019
  * Forbid a module from importing a module with a dependency path back to itself.
2020
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
2020
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-cycle.md
2021
2021
  */
2022
2022
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>;
2023
2023
  /**
2024
2024
  * Forbid default exports.
2025
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
2025
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-default-export.md
2026
2026
  */
2027
2027
  'import-x/no-default-export'?: Linter.RuleEntry<[]>;
2028
2028
  /**
2029
2029
  * Forbid imported names marked with `@deprecated` documentation tag.
2030
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
2030
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-deprecated.md
2031
2031
  */
2032
2032
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>;
2033
2033
  /**
2034
2034
  * Forbid repeated import of the same module in multiple places.
2035
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
2035
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-duplicates.md
2036
2036
  */
2037
2037
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>;
2038
2038
  /**
2039
2039
  * Forbid `require()` calls with expressions.
2040
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
2040
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-dynamic-require.md
2041
2041
  */
2042
2042
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>;
2043
2043
  /**
2044
2044
  * Forbid empty named import blocks.
2045
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
2045
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-empty-named-blocks.md
2046
2046
  */
2047
2047
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
2048
2048
  /**
2049
2049
  * Forbid the use of extraneous packages.
2050
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
2050
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-extraneous-dependencies.md
2051
2051
  */
2052
2052
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>;
2053
2053
  /**
2054
2054
  * Forbid import statements with CommonJS module.exports.
2055
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
2055
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-import-module-exports.md
2056
2056
  */
2057
2057
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>;
2058
2058
  /**
2059
2059
  * Forbid importing the submodules of other modules.
2060
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
2060
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-internal-modules.md
2061
2061
  */
2062
2062
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>;
2063
2063
  /**
2064
2064
  * Forbid the use of mutable exports with `var` or `let`.
2065
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
2065
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-mutable-exports.md
2066
2066
  */
2067
2067
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>;
2068
2068
  /**
2069
2069
  * Forbid use of exported name as identifier of default export.
2070
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
2070
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default.md
2071
2071
  */
2072
2072
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>;
2073
2073
  /**
2074
2074
  * Forbid use of exported name as property of default export.
2075
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
2075
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-as-default-member.md
2076
2076
  */
2077
2077
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>;
2078
2078
  /**
2079
2079
  * Forbid named default exports.
2080
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
2080
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-default.md
2081
2081
  */
2082
2082
  'import-x/no-named-default'?: Linter.RuleEntry<[]>;
2083
2083
  /**
2084
2084
  * Forbid named exports.
2085
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
2085
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-named-export.md
2086
2086
  */
2087
2087
  'import-x/no-named-export'?: Linter.RuleEntry<[]>;
2088
2088
  /**
2089
2089
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2090
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
2090
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-namespace.md
2091
2091
  */
2092
2092
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>;
2093
2093
  /**
2094
2094
  * Forbid Node.js builtin modules.
2095
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
2095
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-nodejs-modules.md
2096
2096
  */
2097
2097
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>;
2098
2098
  /**
2099
2099
  * Forbid importing packages through relative paths.
2100
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
2100
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-packages.md
2101
2101
  */
2102
2102
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>;
2103
2103
  /**
2104
2104
  * Forbid importing modules from parent directories.
2105
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
2105
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-relative-parent-imports.md
2106
2106
  */
2107
2107
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>;
2108
2108
  /**
2109
2109
  * Forbid importing a default export by a different name.
2110
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
2110
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-rename-default.md
2111
2111
  */
2112
2112
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>;
2113
2113
  /**
2114
2114
  * Enforce which files can be imported in a given folder.
2115
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
2115
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-restricted-paths.md
2116
2116
  */
2117
2117
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>;
2118
2118
  /**
2119
2119
  * Forbid a module from importing itself.
2120
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
2120
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-self-import.md
2121
2121
  */
2122
2122
  'import-x/no-self-import'?: Linter.RuleEntry<[]>;
2123
2123
  /**
2124
2124
  * Forbid unassigned imports.
2125
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
2125
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unassigned-import.md
2126
2126
  */
2127
2127
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>;
2128
2128
  /**
2129
2129
  * Ensure imports point to a file/module that can be resolved.
2130
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
2130
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unresolved.md
2131
2131
  */
2132
2132
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>;
2133
2133
  /**
2134
2134
  * Forbid modules without exports, or exports without matching import in another module.
2135
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
2135
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-unused-modules.md
2136
2136
  */
2137
2137
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>;
2138
2138
  /**
2139
2139
  * Forbid unnecessary path segments in import and require statements.
2140
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
2140
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-useless-path-segments.md
2141
2141
  */
2142
2142
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>;
2143
2143
  /**
2144
2144
  * Forbid webpack loader syntax in imports.
2145
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
2145
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/no-webpack-loader-syntax.md
2146
2146
  */
2147
2147
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
2148
2148
  /**
2149
2149
  * Enforce a convention in module import order.
2150
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
2150
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/order.md
2151
2151
  */
2152
2152
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>;
2153
2153
  /**
2154
2154
  * Prefer a default export if module exports a single name or multiple names.
2155
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
2155
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-default-export.md
2156
2156
  */
2157
2157
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>;
2158
2158
  /**
2159
2159
  * Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
2160
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
2160
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/prefer-namespace-import.md
2161
2161
  */
2162
2162
  'import-x/prefer-namespace-import'?: Linter.RuleEntry<ImportXPreferNamespaceImport>;
2163
2163
  /**
2164
2164
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2165
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
2165
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.2/docs/rules/unambiguous.md
2166
2166
  */
2167
2167
  'import-x/unambiguous'?: Linter.RuleEntry<[]>;
2168
2168
  /**
@@ -9364,6 +9364,18 @@ type TypescriptEslintPreferOptionalChain = [] | [{
9364
9364
  requireNullish?: boolean;
9365
9365
  }]; // ----- @typescript-eslint/prefer-promise-reject-errors -----
9366
9366
  type TypescriptEslintPreferPromiseRejectErrors = [] | [{
9367
+ allow?: (string | {
9368
+ from: "file";
9369
+ name: (string | [string, ...(string)[]]);
9370
+ path?: string;
9371
+ } | {
9372
+ from: "lib";
9373
+ name: (string | [string, ...(string)[]]);
9374
+ } | {
9375
+ from: "package";
9376
+ name: (string | [string, ...(string)[]]);
9377
+ package: string;
9378
+ })[];
9367
9379
  allowEmptyReject?: boolean;
9368
9380
  allowThrowingAny?: boolean;
9369
9381
  allowThrowingUnknown?: boolean;
package/dist/index.mjs CHANGED
@@ -13,6 +13,7 @@ import jsdocPlugin from "eslint-plugin-jsdoc";
13
13
  import perfectionist, { configs as configs$2 } from "eslint-plugin-perfectionist";
14
14
  import eslintConfigPrettier from "eslint-config-prettier/flat";
15
15
  import * as regexpPlugin from "eslint-plugin-regexp";
16
+ import regexp from "eslint-plugin-regexp";
16
17
  import stylisticPlugin from "@stylistic/eslint-plugin";
17
18
  import eslintPluginUnicorn from "eslint-plugin-unicorn";
18
19
  //#region src/configs/commonjs.ts
@@ -339,7 +340,7 @@ const regexpRules = {
339
340
  const regexpConfig = () => {
340
341
  return [{
341
342
  name: "jimmy.codes/regexp",
342
- plugins: { regexp: regexpPlugin },
343
+ plugins: { regexp },
343
344
  rules: regexpRules
344
345
  }];
345
346
  };
@@ -555,16 +556,16 @@ const defineConfig = async ({ astro = false, autoDetect = true, gitignore = fals
555
556
  stylisticConfig()
556
557
  ];
557
558
  const featureConfigs = await Promise.all([
558
- isTypescriptEnabled && unwrap(import("./typescript-BGCHPtPk.mjs"), typescript),
559
- isReactEnabled && unwrap(import("./react-B-iC8XkH.mjs"), react),
560
- isTanstackQueryEnabled && unwrap(import("./tanstack-query-Iadbe54U.mjs"), tanstackQuery),
561
- isAstroEnabled && unwrap(import("./astro-BW3KYEZm.mjs"), astro),
562
- isJestEnabled && unwrap(import("./jest-D8LgvYvq.mjs"), jest),
563
- isVitestEnabled && unwrap(import("./vitest-KcLI3D-I.mjs"), vitest),
564
- isTestingLibraryEnabled && unwrap(import("./testing-library-Dm05DzKm.mjs"), testingLibrary),
565
- isPlaywrightEnabled && unwrap(import("./playwright-B1Eb5eas.mjs"), playwright),
566
- isStorybookEnabled && unwrap(import("./storybook-DC1i76Qv.mjs"), storybook),
567
- isNextjsEnabled && unwrap(import("./nextjs-DVffcTz_.mjs"), nextjs)
559
+ isTypescriptEnabled && unwrap(import("./typescript-BDNbtOD5.mjs"), typescript),
560
+ isReactEnabled && unwrap(import("./react-C7mZF3Qf.mjs"), react),
561
+ isTanstackQueryEnabled && unwrap(import("./tanstack-query-CfY9r6o6.mjs"), tanstackQuery),
562
+ isAstroEnabled && unwrap(import("./astro-B0kgVZlh.mjs"), astro),
563
+ isJestEnabled && unwrap(import("./jest-W70UkOeC.mjs"), jest),
564
+ isVitestEnabled && unwrap(import("./vitest-BXTl-VRj.mjs"), vitest),
565
+ isTestingLibraryEnabled && unwrap(import("./testing-library-B1I63Phd.mjs"), testingLibrary),
566
+ isPlaywrightEnabled && unwrap(import("./playwright-hse_Mk2B.mjs"), playwright),
567
+ isStorybookEnabled && unwrap(import("./storybook-Cmw5qksj.mjs"), storybook),
568
+ isNextjsEnabled && unwrap(import("./nextjs-DheaBY3h.mjs"), nextjs)
568
569
  ]);
569
570
  return [
570
571
  ...gitignore ? [gitignoreConfig({ strict: false })] : [],
@@ -20,9 +20,9 @@ const extractOptions = (options) => {
20
20
  *
21
21
  * @returns The normalized and awaited default export.
22
22
  */
23
- const interopDefault = async (module) => {
23
+ const unwrapDefault = async (module) => {
24
24
  const resolved = await module;
25
25
  return resolved?.default ?? resolved;
26
26
  };
27
27
  //#endregion
28
- export { extractOptions as n, interopDefault as t };
28
+ export { extractOptions as n, unwrapDefault as t };
@@ -1,8 +1,8 @@
1
1
  import { GLOB_E2E, GLOB_TESTS } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  //#region src/rules/jest.ts
4
4
  const jestRules = async (options) => {
5
- const jestPlugin = await interopDefault(import("eslint-plugin-jest"));
5
+ const jestPlugin = await unwrapDefault(import("eslint-plugin-jest"));
6
6
  return {
7
7
  ...jestPlugin.configs["flat/recommended"].rules,
8
8
  ...jestPlugin.configs["flat/style"].rules,
@@ -60,7 +60,7 @@ async function jestConfig(options) {
60
60
  return [{
61
61
  files: GLOB_TESTS,
62
62
  ignores: GLOB_E2E,
63
- ...(await interopDefault(import("eslint-plugin-jest"))).configs["flat/recommended"],
63
+ ...(await unwrapDefault(import("eslint-plugin-jest"))).configs["flat/recommended"],
64
64
  name: "jimmy.codes/jest",
65
65
  rules: await jestRules(extractedOptions)
66
66
  }];
@@ -1,10 +1,10 @@
1
1
  import { GLOB_NEXTJS } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
3
- import { t as upwarn } from "./astro-BW3KYEZm.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
+ import { t as upwarn } from "./upwarn-Bq0SLcj_.mjs";
4
4
  //#region src/rules/nextjs.ts
5
5
  const nextjsRules = async (options) => {
6
6
  return {
7
- ...upwarn((await interopDefault(import("@next/eslint-plugin-next"))).configs.recommended.rules),
7
+ ...upwarn((await unwrapDefault(import("@next/eslint-plugin-next"))).configs.recommended.rules),
8
8
  ...options?.overrides
9
9
  };
10
10
  };
@@ -12,7 +12,7 @@ const nextjsRules = async (options) => {
12
12
  //#region src/configs/nextjs.ts
13
13
  async function nextjsConfig(options) {
14
14
  const extractedOptions = extractOptions(options);
15
- const nextjsPlugin = await interopDefault(import("@next/eslint-plugin-next"));
15
+ const nextjsPlugin = await import("@next/eslint-plugin-next");
16
16
  return [{
17
17
  files: GLOB_NEXTJS,
18
18
  name: "jimmy.codes/nextjs",
@@ -1,10 +1,10 @@
1
1
  import { GLOB_PLAYWRIGHT } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
3
- import { t as upwarn } from "./astro-BW3KYEZm.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
+ import { t as upwarn } from "./upwarn-Bq0SLcj_.mjs";
4
4
  //#region src/rules/playwright.ts
5
5
  const playwrightRules = async (options) => {
6
6
  return {
7
- ...upwarn((await interopDefault(import("eslint-plugin-playwright"))).configs["flat/recommended"].rules),
7
+ ...upwarn((await unwrapDefault(import("eslint-plugin-playwright"))).configs["flat/recommended"].rules),
8
8
  "playwright/consistent-spacing-between-blocks": "error",
9
9
  "playwright/expect-expect": "error",
10
10
  "playwright/max-nested-describe": "error",
@@ -36,7 +36,7 @@ const playwrightRules = async (options) => {
36
36
  async function playwrightConfig(options) {
37
37
  const extractedOptions = extractOptions(options);
38
38
  return [{
39
- ...(await interopDefault(import("eslint-plugin-playwright"))).configs["flat/recommended"],
39
+ ...(await unwrapDefault(import("eslint-plugin-playwright"))).configs["flat/recommended"],
40
40
  files: GLOB_PLAYWRIGHT,
41
41
  name: "jimmy.codes/playwright",
42
42
  rules: await playwrightRules(extractedOptions)
@@ -1,7 +1,7 @@
1
1
  import { GLOB_JSX, GLOB_TSX } from "./globs.mjs";
2
2
  import { l as hasTypescript, r as hasNext, u as hasVite } from "./has-dependency-BB12gGNt.mjs";
3
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
4
- import { t as upwarn } from "./astro-BW3KYEZm.mjs";
3
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
4
+ import { t as upwarn } from "./upwarn-Bq0SLcj_.mjs";
5
5
  import globals from "globals";
6
6
  //#region src/rules/react.ts
7
7
  const nextAllowedExportNames = [
@@ -21,13 +21,13 @@ const nextAllowedExportNames = [
21
21
  ];
22
22
  const reactRules = async (options) => {
23
23
  const [{ configs: reactConfigs }, { flatConfigs: jsxA11yConfigs }, { configs: reactDomConfigs }, { configs: reactHooksExtraConfigs }, { configs: reactWebApiConfigs }, { configs: reactNamingConventionConfigs }, { configs: reactRscConfigs }] = await Promise.all([
24
- interopDefault(import("eslint-plugin-react-x")),
25
- interopDefault(import("eslint-plugin-jsx-a11y")),
26
- interopDefault(import("eslint-plugin-react-dom")),
27
- interopDefault(import("eslint-plugin-react-hooks-extra")),
28
- interopDefault(import("eslint-plugin-react-web-api")),
29
- interopDefault(import("eslint-plugin-react-naming-convention")),
30
- interopDefault(import("eslint-plugin-react-rsc"))
24
+ unwrapDefault(import("eslint-plugin-react-x")),
25
+ unwrapDefault(import("eslint-plugin-jsx-a11y")),
26
+ unwrapDefault(import("eslint-plugin-react-dom")),
27
+ unwrapDefault(import("eslint-plugin-react-hooks-extra")),
28
+ unwrapDefault(import("eslint-plugin-react-web-api")),
29
+ unwrapDefault(import("eslint-plugin-react-naming-convention")),
30
+ unwrapDefault(import("eslint-plugin-react-rsc"))
31
31
  ]);
32
32
  const isUsingNextjs = hasNext();
33
33
  const isUsingVite = hasVite();
@@ -89,16 +89,16 @@ const reactRules = async (options) => {
89
89
  async function reactConfig(options) {
90
90
  const extractedOptions = extractOptions(options);
91
91
  const [reactPlugin, jsxA11yPlugin, reactHooksPlugin, reactRefreshPlugin, reactCompilerPlugin, reactHooksExtraPlugin, reactDomPlugin, reactWebApiPlugin, reactNamingConventionPlugin, reactRscPlugin] = await Promise.all([
92
- interopDefault(import("eslint-plugin-react-x")),
93
- interopDefault(import("eslint-plugin-jsx-a11y")),
94
- interopDefault(import("eslint-plugin-react-hooks")),
95
- interopDefault(import("eslint-plugin-react-refresh")),
96
- interopDefault(import("eslint-plugin-react-compiler")),
97
- interopDefault(import("eslint-plugin-react-hooks-extra")),
98
- interopDefault(import("eslint-plugin-react-dom")),
99
- interopDefault(import("eslint-plugin-react-web-api")),
100
- interopDefault(import("eslint-plugin-react-naming-convention")),
101
- interopDefault(import("eslint-plugin-react-rsc"))
92
+ unwrapDefault(import("eslint-plugin-react-x")),
93
+ unwrapDefault(import("eslint-plugin-jsx-a11y")),
94
+ unwrapDefault(import("eslint-plugin-react-hooks")),
95
+ unwrapDefault(import("eslint-plugin-react-refresh")),
96
+ unwrapDefault(import("eslint-plugin-react-compiler")),
97
+ unwrapDefault(import("eslint-plugin-react-hooks-extra")),
98
+ unwrapDefault(import("eslint-plugin-react-dom")),
99
+ unwrapDefault(import("eslint-plugin-react-web-api")),
100
+ unwrapDefault(import("eslint-plugin-react-naming-convention")),
101
+ unwrapDefault(import("eslint-plugin-react-rsc"))
102
102
  ]);
103
103
  return [{
104
104
  files: [GLOB_JSX, GLOB_TSX],
@@ -1,9 +1,9 @@
1
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
- import { t as upwarn } from "./astro-BW3KYEZm.mjs";
1
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
2
+ import { t as upwarn } from "./upwarn-Bq0SLcj_.mjs";
3
3
  //#region src/configs/storybook.ts
4
4
  async function storybookConfig(options) {
5
5
  const extractedOptions = extractOptions(options);
6
- const { configs } = await interopDefault(import("eslint-plugin-storybook"));
6
+ const { configs } = await unwrapDefault(import("eslint-plugin-storybook"));
7
7
  const [setup, storiesConfig, mainConfig] = configs["flat/recommended"];
8
8
  return [
9
9
  {
@@ -1,9 +1,9 @@
1
1
  import { GLOB_JSX, GLOB_TSX } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  //#region src/configs/tanstack-query.ts
4
4
  async function tanstackQueryConfig(options) {
5
5
  const extractedOptions = extractOptions(options);
6
- const queryPlugin = await interopDefault(import("@tanstack/eslint-plugin-query"));
6
+ const queryPlugin = await unwrapDefault(import("@tanstack/eslint-plugin-query"));
7
7
  return [{
8
8
  files: [GLOB_JSX, GLOB_TSX],
9
9
  name: "jimmy.codes/tanstack/react-query",
@@ -1,8 +1,8 @@
1
1
  import { GLOB_E2E, GLOB_TESTS } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  //#region src/rules/testing-library.ts
4
4
  const testingLibraryRules = async (options) => {
5
- const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom"), interopDefault(import("eslint-plugin-testing-library"))]);
5
+ const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom"), unwrapDefault(import("eslint-plugin-testing-library"))]);
6
6
  return {
7
7
  ...testingLibrary.configs["flat/react"].rules,
8
8
  ...jestDom.configs["flat/recommended"].rules,
@@ -14,7 +14,7 @@ const testingLibraryRules = async (options) => {
14
14
  //#region src/configs/testing-library.ts
15
15
  async function testingLibraryConfig(options) {
16
16
  const extractedOptions = extractOptions(options);
17
- const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom"), interopDefault(import("eslint-plugin-testing-library"))]);
17
+ const [jestDom, testingLibrary] = await Promise.all([import("eslint-plugin-jest-dom"), unwrapDefault(import("eslint-plugin-testing-library"))]);
18
18
  return [{
19
19
  files: GLOB_TESTS,
20
20
  ignores: GLOB_E2E,
@@ -1,5 +1,5 @@
1
1
  import { GLOB_JS, GLOB_JSX, GLOB_TESTS } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  //#region src/rules/typescript.ts
4
4
  const disabledEslintRules = {
5
5
  "no-unused-private-class-members": "off",
@@ -72,7 +72,7 @@ async function typescriptConfig(options) {
72
72
  },
73
73
  ...extractedOptions?.erasableSyntaxOnly ? [{
74
74
  name: "jimmy.codes/typescript/erasable-syntax-only",
75
- plugins: { "erasable-syntax-only": await interopDefault(import("eslint-plugin-erasable-syntax-only")) },
75
+ plugins: { "erasable-syntax-only": await unwrapDefault(import("eslint-plugin-erasable-syntax-only")) },
76
76
  rules: {
77
77
  "erasable-syntax-only/enums": "error",
78
78
  "erasable-syntax-only/import-aliases": "error",
@@ -0,0 +1,15 @@
1
+ //#region src/utils/upwarn.ts
2
+ /**
3
+ * Converts all ESLint rules set to `"warn"` into `"error"`.
4
+ *
5
+ * @param rules - A partial set of ESLint rules.
6
+ *
7
+ * @returns A new rules object with all `"warn"` values changed to `"error"`.
8
+ */
9
+ const upwarn = (rules = {}) => {
10
+ return Object.fromEntries(Object.entries(rules).map(([rule, option]) => {
11
+ return [rule, option === "warn" ? "error" : option];
12
+ }));
13
+ };
14
+ //#endregion
15
+ export { upwarn as t };
@@ -1,9 +1,9 @@
1
1
  import { GLOB_E2E, GLOB_TESTS, GLOB_TYPE_TESTS } from "./globs.mjs";
2
- import { n as extractOptions, t as interopDefault } from "./interop-default-BHC7xltH.mjs";
2
+ import { n as extractOptions, t as unwrapDefault } from "./interop-default-BDN5nH8B.mjs";
3
3
  //#region src/rules/vitest.ts
4
4
  const vitestRules = async (options) => {
5
5
  return {
6
- ...(await interopDefault(import("@vitest/eslint-plugin"))).configs.recommended.rules,
6
+ ...(await unwrapDefault(import("@vitest/eslint-plugin"))).configs.recommended.rules,
7
7
  "vitest/consistent-each-for": ["error", {
8
8
  describe: "each",
9
9
  it: "each",
@@ -66,7 +66,7 @@ const vitestRules = async (options) => {
66
66
  //#endregion
67
67
  //#region src/configs/vitest.ts
68
68
  async function vitestConfig(options) {
69
- const vitestPlugin = await interopDefault(import("@vitest/eslint-plugin"));
69
+ const vitestPlugin = await unwrapDefault(import("@vitest/eslint-plugin"));
70
70
  const extractedOptions = extractOptions(options);
71
71
  return [{
72
72
  files: [...GLOB_TESTS, ...extractedOptions?.typecheck ? GLOB_TYPE_TESTS : []],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jimmy.codes/eslint-config",
3
- "version": "7.5.0",
3
+ "version": "7.5.1",
4
4
  "description": "A simple, modern ESLint config that covers most use cases.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -45,9 +45,9 @@
45
45
  "@stylistic/eslint-plugin": "^5.10.0",
46
46
  "@tanstack/eslint-plugin-query": "^5.91.4",
47
47
  "@types/eslint": "9.6.1",
48
- "@typescript-eslint/parser": "^8.56.1",
49
- "@typescript-eslint/utils": "^8.56.1",
50
- "@vitest/eslint-plugin": "^1.6.9",
48
+ "@typescript-eslint/parser": "^8.57.0",
49
+ "@typescript-eslint/utils": "^8.57.0",
50
+ "@vitest/eslint-plugin": "^1.6.10",
51
51
  "astro-eslint-parser": "^1.3.0",
52
52
  "eslint-config-flat-gitignore": "^2.2.1",
53
53
  "eslint-config-prettier": "^10.1.8",
@@ -56,7 +56,7 @@
56
56
  "eslint-plugin-astro": "^1.6.0",
57
57
  "eslint-plugin-de-morgan": "^2.1.1",
58
58
  "eslint-plugin-erasable-syntax-only": "0.4.0",
59
- "eslint-plugin-import-x": "^4.16.1",
59
+ "eslint-plugin-import-x": "^4.16.2",
60
60
  "eslint-plugin-jest": "^29.15.0",
61
61
  "eslint-plugin-jest-dom": "^5.5.0",
62
62
  "eslint-plugin-jsdoc": "^62.7.1",
@@ -73,13 +73,13 @@
73
73
  "eslint-plugin-react-rsc": "^2.13.0",
74
74
  "eslint-plugin-react-web-api": "^2.13.0",
75
75
  "eslint-plugin-react-x": "^2.13.0",
76
- "eslint-plugin-regexp": "^3.0.0",
76
+ "eslint-plugin-regexp": "^3.1.0",
77
77
  "eslint-plugin-storybook": "0.12.0",
78
78
  "eslint-plugin-testing-library": "^7.16.0",
79
79
  "eslint-plugin-unicorn": "^63.0.0",
80
80
  "globals": "^17.4.0",
81
81
  "local-pkg": "^1.1.2",
82
- "typescript-eslint": "^8.56.1"
82
+ "typescript-eslint": "^8.57.0"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "eslint": ">=9.38.0"