@luxass/eslint-config 4.4.1 → 4.4.3
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/README.md +0 -22
- package/dist/index.cjs +3 -99
- package/dist/index.d.cts +2 -141
- package/dist/index.d.ts +2 -141
- package/dist/index.js +3 -98
- package/package.json +1 -6
package/README.md
CHANGED
|
@@ -269,7 +269,6 @@ Since flat config requires us to explicitly provide the plugin names (instead of
|
|
|
269
269
|
| `react-dom/*` | `@eslint-react/dom/*` | [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) |
|
|
270
270
|
| `react-hooks-extra/*` | `@eslint-react/hooks-extra/*` | [eslint-plugin-react-hooks-extra](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) |
|
|
271
271
|
| `react-naming-convention/*` | `@eslint-react/naming-convention/*` | [eslint-plugin-react-naming-convention](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) |
|
|
272
|
-
| `nextjs` | `@next/next` | [eslint-plugin-react-refresh](https://github.com/vercel/next.js/tree/canary/packages/eslint-plugin-next) |
|
|
273
272
|
|
|
274
273
|
When you want to override rules, or disable them inline, you need to update to the new prefix:
|
|
275
274
|
|
|
@@ -432,27 +431,6 @@ Running `npx eslint` should prompt you to install the required dependencies, oth
|
|
|
432
431
|
npm i -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh
|
|
433
432
|
```
|
|
434
433
|
|
|
435
|
-
#### Next.JS
|
|
436
|
-
|
|
437
|
-
To enable Next.JS support, need to explicitly turn it on:
|
|
438
|
-
|
|
439
|
-
Next.JS also enables React support.
|
|
440
|
-
|
|
441
|
-
```js
|
|
442
|
-
// eslint.config.js
|
|
443
|
-
import luxass from '@luxass/eslint-config'
|
|
444
|
-
|
|
445
|
-
export default luxass({
|
|
446
|
-
nextjs: true,
|
|
447
|
-
})
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
|
|
451
|
-
|
|
452
|
-
```bash
|
|
453
|
-
npm i -D eslint-plugin-react eslint-plugin-react-hooks @next/eslint-plugin-next
|
|
454
|
-
```
|
|
455
|
-
|
|
456
434
|
#### Astro
|
|
457
435
|
|
|
458
436
|
To enable Astro support, you need to explicitly turn it on:
|
package/dist/index.cjs
CHANGED
|
@@ -73,7 +73,6 @@ __export(src_exports, {
|
|
|
73
73
|
jsonc: () => jsonc,
|
|
74
74
|
luxass: () => luxass,
|
|
75
75
|
markdown: () => markdown,
|
|
76
|
-
nextjs: () => nextjs,
|
|
77
76
|
node: () => node,
|
|
78
77
|
parserPlain: () => parserPlain,
|
|
79
78
|
react: () => react,
|
|
@@ -1790,91 +1789,6 @@ async function unocss(options = {}) {
|
|
|
1790
1789
|
];
|
|
1791
1790
|
}
|
|
1792
1791
|
|
|
1793
|
-
// src/configs/nextjs.ts
|
|
1794
|
-
async function nextjs(options = {}) {
|
|
1795
|
-
const {
|
|
1796
|
-
files = [GLOB_SRC],
|
|
1797
|
-
overrides,
|
|
1798
|
-
rootDir
|
|
1799
|
-
} = options;
|
|
1800
|
-
await ensure([
|
|
1801
|
-
"@next/eslint-plugin-next"
|
|
1802
|
-
]);
|
|
1803
|
-
const pluginNextjs = await interop(import("@next/eslint-plugin-next"));
|
|
1804
|
-
return [
|
|
1805
|
-
{
|
|
1806
|
-
name: "luxass/nextjs/setup",
|
|
1807
|
-
plugins: {
|
|
1808
|
-
nextjs: pluginNextjs
|
|
1809
|
-
}
|
|
1810
|
-
},
|
|
1811
|
-
{
|
|
1812
|
-
name: "luxass/nextjs/rules",
|
|
1813
|
-
files,
|
|
1814
|
-
rules: {
|
|
1815
|
-
...renameRules(
|
|
1816
|
-
pluginNextjs.configs.recommended.rules,
|
|
1817
|
-
"@next/next/",
|
|
1818
|
-
"nextjs/"
|
|
1819
|
-
),
|
|
1820
|
-
...renameRules(
|
|
1821
|
-
pluginNextjs.configs["core-web-vitals"].rules,
|
|
1822
|
-
"@next/next/",
|
|
1823
|
-
"nextjs/"
|
|
1824
|
-
),
|
|
1825
|
-
"nextjs/google-font-display": ["error"],
|
|
1826
|
-
"nextjs/google-font-preconnect": ["error"],
|
|
1827
|
-
"nextjs/inline-script-id": ["error"],
|
|
1828
|
-
"nextjs/next-script-for-ga": ["warn"],
|
|
1829
|
-
"nextjs/no-assign-module-variable": ["error"],
|
|
1830
|
-
"nextjs/no-css-tags": ["warn"],
|
|
1831
|
-
"nextjs/no-document-import-in-page": ["error"],
|
|
1832
|
-
"nextjs/no-duplicate-head": ["error"],
|
|
1833
|
-
"nextjs/no-head-element": ["warn"],
|
|
1834
|
-
"nextjs/no-head-import-in-document": ["error"],
|
|
1835
|
-
"nextjs/no-html-link-for-pages": ["off"],
|
|
1836
|
-
"nextjs/no-img-element": ["warn"],
|
|
1837
|
-
"nextjs/no-page-custom-font": ["warn"],
|
|
1838
|
-
"nextjs/no-script-component-in-head": ["error"],
|
|
1839
|
-
"nextjs/no-styled-jsx-in-document": ["warn"],
|
|
1840
|
-
"nextjs/no-sync-scripts": ["warn"],
|
|
1841
|
-
"nextjs/no-title-in-document-head": ["warn"],
|
|
1842
|
-
"nextjs/no-typos": ["warn"],
|
|
1843
|
-
"nextjs/no-unwanted-polyfillio": ["warn"],
|
|
1844
|
-
// This rule creates errors with webpack parsing on edge runtime
|
|
1845
|
-
"unicorn/prefer-node-protocol": ["off"],
|
|
1846
|
-
...overrides
|
|
1847
|
-
},
|
|
1848
|
-
settings: {
|
|
1849
|
-
next: {
|
|
1850
|
-
rootDir: rootDir ?? true
|
|
1851
|
-
},
|
|
1852
|
-
react: {
|
|
1853
|
-
pragma: "React",
|
|
1854
|
-
version: "detect"
|
|
1855
|
-
}
|
|
1856
|
-
}
|
|
1857
|
-
},
|
|
1858
|
-
{
|
|
1859
|
-
name: "luxass/nextjs/default-export-override",
|
|
1860
|
-
files: GLOB_NEXTJS_ROUTES,
|
|
1861
|
-
rules: {
|
|
1862
|
-
"import/prefer-default-export": "error"
|
|
1863
|
-
}
|
|
1864
|
-
},
|
|
1865
|
-
{
|
|
1866
|
-
name: "luxass/nextjs/og-override",
|
|
1867
|
-
files: GLOB_NEXTJS_OG,
|
|
1868
|
-
rules: {
|
|
1869
|
-
"nextjs/no-img-element": "off",
|
|
1870
|
-
"react/no-unknown-property": ["error", {
|
|
1871
|
-
ignore: ["tw"]
|
|
1872
|
-
}]
|
|
1873
|
-
}
|
|
1874
|
-
}
|
|
1875
|
-
];
|
|
1876
|
-
}
|
|
1877
|
-
|
|
1878
1792
|
// src/configs/react.ts
|
|
1879
1793
|
var import_local_pkg2 = require("local-pkg");
|
|
1880
1794
|
var ReactRefreshAllowConstantExportPackages = [
|
|
@@ -1964,6 +1878,7 @@ async function react(options = {}) {
|
|
|
1964
1878
|
allowExportNames: [
|
|
1965
1879
|
...isUsingNext ? [
|
|
1966
1880
|
"config",
|
|
1881
|
+
"runtime",
|
|
1967
1882
|
"generateStaticParams",
|
|
1968
1883
|
"metadata",
|
|
1969
1884
|
"generateMetadata",
|
|
@@ -2524,8 +2439,7 @@ var defaultPluginRenaming = {
|
|
|
2524
2439
|
"@eslint-react": "react",
|
|
2525
2440
|
"@eslint-react/dom": "react-dom",
|
|
2526
2441
|
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
2527
|
-
"@eslint-react/naming-convention": "react-naming-convention"
|
|
2528
|
-
"@next/next": "nextjs"
|
|
2442
|
+
"@eslint-react/naming-convention": "react-naming-convention"
|
|
2529
2443
|
};
|
|
2530
2444
|
function luxass(options = {}, ...userConfigs) {
|
|
2531
2445
|
const {
|
|
@@ -2534,7 +2448,6 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2534
2448
|
editor = !!((import_node_process3.default.env.VSCODE_PID || import_node_process3.default.env.JETBRAINS_IDE || import_node_process3.default.env.VIM) && !import_node_process3.default.env.CI),
|
|
2535
2449
|
exts = [],
|
|
2536
2450
|
gitignore: enableGitignore = true,
|
|
2537
|
-
nextjs: enableNextJS = false,
|
|
2538
2451
|
react: enableReact = false,
|
|
2539
2452
|
tailwindcss: enableTailwindCSS = false,
|
|
2540
2453
|
svelte: enableSvelte = false,
|
|
@@ -2595,21 +2508,13 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2595
2508
|
overrides: getOverrides(options, "test")
|
|
2596
2509
|
}));
|
|
2597
2510
|
}
|
|
2598
|
-
if (enableReact
|
|
2511
|
+
if (enableReact) {
|
|
2599
2512
|
configs.push(react({
|
|
2600
2513
|
...resolveSubOptions(options, "react"),
|
|
2601
2514
|
overrides: getOverrides(options, "react"),
|
|
2602
2515
|
tsconfigPath: getOverrides(options, "typescript").tsconfigPath
|
|
2603
2516
|
}));
|
|
2604
2517
|
}
|
|
2605
|
-
if (enableNextJS) {
|
|
2606
|
-
configs.push(
|
|
2607
|
-
nextjs({
|
|
2608
|
-
...resolveSubOptions(options, "nextjs"),
|
|
2609
|
-
overrides: getOverrides(options, "nextjs")
|
|
2610
|
-
})
|
|
2611
|
-
);
|
|
2612
|
-
}
|
|
2613
2518
|
if (enableSolid) {
|
|
2614
2519
|
configs.push(
|
|
2615
2520
|
solid({
|
|
@@ -2762,7 +2667,6 @@ var src_default = luxass;
|
|
|
2762
2667
|
jsonc,
|
|
2763
2668
|
luxass,
|
|
2764
2669
|
markdown,
|
|
2765
|
-
nextjs,
|
|
2766
2670
|
node,
|
|
2767
2671
|
parserPlain,
|
|
2768
2672
|
react,
|
package/dist/index.d.cts
CHANGED
|
@@ -1490,110 +1490,6 @@ interface RuleOptions {
|
|
|
1490
1490
|
* @deprecated
|
|
1491
1491
|
*/
|
|
1492
1492
|
'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>
|
|
1493
|
-
/**
|
|
1494
|
-
* Enforce font-display behavior with Google Fonts.
|
|
1495
|
-
* @see https://nextjs.org/docs/messages/google-font-display
|
|
1496
|
-
*/
|
|
1497
|
-
'nextjs/google-font-display'?: Linter.RuleEntry<[]>
|
|
1498
|
-
/**
|
|
1499
|
-
* Ensure `preconnect` is used with Google Fonts.
|
|
1500
|
-
* @see https://nextjs.org/docs/messages/google-font-preconnect
|
|
1501
|
-
*/
|
|
1502
|
-
'nextjs/google-font-preconnect'?: Linter.RuleEntry<[]>
|
|
1503
|
-
/**
|
|
1504
|
-
* Enforce `id` attribute on `next/script` components with inline content.
|
|
1505
|
-
* @see https://nextjs.org/docs/messages/inline-script-id
|
|
1506
|
-
*/
|
|
1507
|
-
'nextjs/inline-script-id'?: Linter.RuleEntry<[]>
|
|
1508
|
-
/**
|
|
1509
|
-
* Prefer `next/script` component when using the inline script for Google Analytics.
|
|
1510
|
-
* @see https://nextjs.org/docs/messages/next-script-for-ga
|
|
1511
|
-
*/
|
|
1512
|
-
'nextjs/next-script-for-ga'?: Linter.RuleEntry<[]>
|
|
1513
|
-
/**
|
|
1514
|
-
* Prevent assignment to the `module` variable.
|
|
1515
|
-
* @see https://nextjs.org/docs/messages/no-assign-module-variable
|
|
1516
|
-
*/
|
|
1517
|
-
'nextjs/no-assign-module-variable'?: Linter.RuleEntry<[]>
|
|
1518
|
-
/**
|
|
1519
|
-
* Prevent client components from being async functions.
|
|
1520
|
-
* @see https://nextjs.org/docs/messages/no-async-client-component
|
|
1521
|
-
*/
|
|
1522
|
-
'nextjs/no-async-client-component'?: Linter.RuleEntry<[]>
|
|
1523
|
-
/**
|
|
1524
|
-
* Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
|
|
1525
|
-
* @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
|
|
1526
|
-
*/
|
|
1527
|
-
'nextjs/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>
|
|
1528
|
-
/**
|
|
1529
|
-
* Prevent manual stylesheet tags.
|
|
1530
|
-
* @see https://nextjs.org/docs/messages/no-css-tags
|
|
1531
|
-
*/
|
|
1532
|
-
'nextjs/no-css-tags'?: Linter.RuleEntry<[]>
|
|
1533
|
-
/**
|
|
1534
|
-
* Prevent importing `next/document` outside of `pages/_document.js`.
|
|
1535
|
-
* @see https://nextjs.org/docs/messages/no-document-import-in-page
|
|
1536
|
-
*/
|
|
1537
|
-
'nextjs/no-document-import-in-page'?: Linter.RuleEntry<[]>
|
|
1538
|
-
/**
|
|
1539
|
-
* Prevent duplicate usage of `<Head>` in `pages/_document.js`.
|
|
1540
|
-
* @see https://nextjs.org/docs/messages/no-duplicate-head
|
|
1541
|
-
*/
|
|
1542
|
-
'nextjs/no-duplicate-head'?: Linter.RuleEntry<[]>
|
|
1543
|
-
/**
|
|
1544
|
-
* Prevent usage of `<head>` element.
|
|
1545
|
-
* @see https://nextjs.org/docs/messages/no-head-element
|
|
1546
|
-
*/
|
|
1547
|
-
'nextjs/no-head-element'?: Linter.RuleEntry<[]>
|
|
1548
|
-
/**
|
|
1549
|
-
* Prevent usage of `next/head` in `pages/_document.js`.
|
|
1550
|
-
* @see https://nextjs.org/docs/messages/no-head-import-in-document
|
|
1551
|
-
*/
|
|
1552
|
-
'nextjs/no-head-import-in-document'?: Linter.RuleEntry<[]>
|
|
1553
|
-
/**
|
|
1554
|
-
* Prevent usage of `<a>` elements to navigate to internal Next.js pages.
|
|
1555
|
-
* @see https://nextjs.org/docs/messages/no-html-link-for-pages
|
|
1556
|
-
*/
|
|
1557
|
-
'nextjs/no-html-link-for-pages'?: Linter.RuleEntry<NextjsNoHtmlLinkForPages>
|
|
1558
|
-
/**
|
|
1559
|
-
* Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
|
|
1560
|
-
* @see https://nextjs.org/docs/messages/no-img-element
|
|
1561
|
-
*/
|
|
1562
|
-
'nextjs/no-img-element'?: Linter.RuleEntry<[]>
|
|
1563
|
-
/**
|
|
1564
|
-
* Prevent page-only custom fonts.
|
|
1565
|
-
* @see https://nextjs.org/docs/messages/no-page-custom-font
|
|
1566
|
-
*/
|
|
1567
|
-
'nextjs/no-page-custom-font'?: Linter.RuleEntry<[]>
|
|
1568
|
-
/**
|
|
1569
|
-
* Prevent usage of `next/script` in `next/head` component.
|
|
1570
|
-
* @see https://nextjs.org/docs/messages/no-script-component-in-head
|
|
1571
|
-
*/
|
|
1572
|
-
'nextjs/no-script-component-in-head'?: Linter.RuleEntry<[]>
|
|
1573
|
-
/**
|
|
1574
|
-
* Prevent usage of `styled-jsx` in `pages/_document.js`.
|
|
1575
|
-
* @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
|
|
1576
|
-
*/
|
|
1577
|
-
'nextjs/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>
|
|
1578
|
-
/**
|
|
1579
|
-
* Prevent synchronous scripts.
|
|
1580
|
-
* @see https://nextjs.org/docs/messages/no-sync-scripts
|
|
1581
|
-
*/
|
|
1582
|
-
'nextjs/no-sync-scripts'?: Linter.RuleEntry<[]>
|
|
1583
|
-
/**
|
|
1584
|
-
* Prevent usage of `<title>` with `Head` component from `next/document`.
|
|
1585
|
-
* @see https://nextjs.org/docs/messages/no-title-in-document-head
|
|
1586
|
-
*/
|
|
1587
|
-
'nextjs/no-title-in-document-head'?: Linter.RuleEntry<[]>
|
|
1588
|
-
/**
|
|
1589
|
-
* Prevent common typos in Next.js data fetching functions.
|
|
1590
|
-
*/
|
|
1591
|
-
'nextjs/no-typos'?: Linter.RuleEntry<[]>
|
|
1592
|
-
/**
|
|
1593
|
-
* Prevent duplicate polyfills from Polyfill.io.
|
|
1594
|
-
* @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
|
|
1595
|
-
*/
|
|
1596
|
-
'nextjs/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>
|
|
1597
1493
|
/**
|
|
1598
1494
|
* Disallow the use of `alert`, `confirm`, and `prompt`
|
|
1599
1495
|
* @see https://eslint.org/docs/latest/rules/no-alert
|
|
@@ -9066,8 +8962,6 @@ type NewlineAfterVar = []|[("never" | "always")]
|
|
|
9066
8962
|
type NewlinePerChainedCall = []|[{
|
|
9067
8963
|
ignoreChainWithDepth?: number
|
|
9068
8964
|
}]
|
|
9069
|
-
// ----- nextjs/no-html-link-for-pages -----
|
|
9070
|
-
type NextjsNoHtmlLinkForPages = []|[(string | string[])]
|
|
9071
8965
|
// ----- no-bitwise -----
|
|
9072
8966
|
type NoBitwise = []|[{
|
|
9073
8967
|
allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[]
|
|
@@ -14531,7 +14425,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
|
|
|
14531
14425
|
onlyEquality?: boolean
|
|
14532
14426
|
}]
|
|
14533
14427
|
// Names of all the configs
|
|
14534
|
-
type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/astro/scripts-js' | 'luxass/astro/scripts-ts' | 'luxass/eslint-comments' | 'luxass/formatter/setup' | 'luxass/imports' | 'luxass/disables/imports-bin' | 'luxass/javascript' | 'luxass/disables/cli' | 'luxass/jsdoc' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/sort/package-json' | 'luxass/stylistic' | 'luxass/tailwindcss/setup' | 'luxass/tailwindcss/rules' | 'luxass/sort/tsconfig' | 'luxass/
|
|
14428
|
+
type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/astro/scripts-js' | 'luxass/astro/scripts-ts' | 'luxass/eslint-comments' | 'luxass/formatter/setup' | 'luxass/imports' | 'luxass/disables/imports-bin' | 'luxass/javascript' | 'luxass/disables/cli' | 'luxass/jsdoc' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/sort/package-json' | 'luxass/stylistic' | 'luxass/tailwindcss/setup' | 'luxass/tailwindcss/rules' | 'luxass/sort/tsconfig' | 'luxass/solid/setup' | 'luxass/solid/rules' | 'luxass/test/setup' | 'luxass/test/rules' | 'luxass/toml/setup' | 'luxass/toml/rules' | 'luxass/typescript/setup' | 'luxass/typescript/parser' | 'luxass/typescript/rules' | 'luxass/typescript/rules-type-aware' | 'luxass/typescript/disables/dts' | 'luxass/typescript/disables/tests' | 'luxass/typescript/disables/playground' | 'luxass/typescript/disables/javascript' | 'luxass/unicorn' | 'luxass/unocss/setup' | 'luxass/unocss/rules' | 'luxass/vue/setup' | 'luxass/vue/rules' | 'luxass/yaml/setup' | 'luxass/yaml/rules' | 'luxass/yaml/github-actions' | 'antfu/svelte/setup' | 'antfu/svelte/rules'
|
|
14535
14429
|
|
|
14536
14430
|
declare function comments(): Promise<TypedFlatConfigItem[]>;
|
|
14537
14431
|
|
|
@@ -14814,28 +14708,6 @@ interface UnoCSSOptions {
|
|
|
14814
14708
|
}
|
|
14815
14709
|
declare function unocss(options?: UnoCSSOptions): Promise<TypedFlatConfigItem[]>;
|
|
14816
14710
|
|
|
14817
|
-
interface NextJSOptions {
|
|
14818
|
-
/**
|
|
14819
|
-
* Tell the plugin where the root directory is.
|
|
14820
|
-
* @see https://nextjs.org/docs/app/building-your-application/configuring/eslint#rootdir
|
|
14821
|
-
*
|
|
14822
|
-
* @default true
|
|
14823
|
-
*/
|
|
14824
|
-
rootDir?: boolean | string;
|
|
14825
|
-
/**
|
|
14826
|
-
* Override rules.
|
|
14827
|
-
*/
|
|
14828
|
-
overrides?: TypedFlatConfigItem['rules'];
|
|
14829
|
-
/**
|
|
14830
|
-
* Glob patterns for Next.js files.
|
|
14831
|
-
*
|
|
14832
|
-
* @default [GLOB_SRC]
|
|
14833
|
-
* @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
|
|
14834
|
-
*/
|
|
14835
|
-
files?: string[];
|
|
14836
|
-
}
|
|
14837
|
-
declare function nextjs(options?: NextJSOptions): Promise<TypedFlatConfigItem[]>;
|
|
14838
|
-
|
|
14839
14711
|
interface ReactOptions {
|
|
14840
14712
|
/**
|
|
14841
14713
|
* Override rules.
|
|
@@ -15145,17 +15017,6 @@ interface ConfigOptions {
|
|
|
15145
15017
|
* @default true
|
|
15146
15018
|
*/
|
|
15147
15019
|
markdown?: boolean;
|
|
15148
|
-
/**
|
|
15149
|
-
* Enable NextJS support.
|
|
15150
|
-
*
|
|
15151
|
-
* Requires installing:
|
|
15152
|
-
* - `@next/eslint-plugin-next`
|
|
15153
|
-
*
|
|
15154
|
-
* @default false
|
|
15155
|
-
*
|
|
15156
|
-
* Note: By enabling this, the `react` option will be enabled automatically.
|
|
15157
|
-
*/
|
|
15158
|
-
nextjs?: boolean | NextJSOptions;
|
|
15159
15020
|
/**
|
|
15160
15021
|
* Enable react rules.
|
|
15161
15022
|
*
|
|
@@ -15361,4 +15222,4 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
|
|
|
15361
15222
|
declare function resolveSubOptions<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): ResolvedOptions<ConfigOptions[K]>;
|
|
15362
15223
|
declare function getOverrides<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): any;
|
|
15363
15224
|
|
|
15364
|
-
export { type AstroOptions, type Awaitable, type ConfigNames, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type
|
|
15225
|
+
export { type AstroOptions, type Awaitable, type ConfigNames, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type ReactOptions, type ResolvedOptions, type Rules, type SolidOptions, type StylisticConfig, type StylisticOptions, type SvelteOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, type TypedFlatConfigItem, type UnoCSSOptions, type UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, comments, luxass as default, ensure, formatters, getOverrides, ignores, imports, interop, javascript, jsdoc, jsonc, luxass, markdown, node, parserPlain, react, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
|
package/dist/index.d.ts
CHANGED
|
@@ -1490,110 +1490,6 @@ interface RuleOptions {
|
|
|
1490
1490
|
* @deprecated
|
|
1491
1491
|
*/
|
|
1492
1492
|
'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>
|
|
1493
|
-
/**
|
|
1494
|
-
* Enforce font-display behavior with Google Fonts.
|
|
1495
|
-
* @see https://nextjs.org/docs/messages/google-font-display
|
|
1496
|
-
*/
|
|
1497
|
-
'nextjs/google-font-display'?: Linter.RuleEntry<[]>
|
|
1498
|
-
/**
|
|
1499
|
-
* Ensure `preconnect` is used with Google Fonts.
|
|
1500
|
-
* @see https://nextjs.org/docs/messages/google-font-preconnect
|
|
1501
|
-
*/
|
|
1502
|
-
'nextjs/google-font-preconnect'?: Linter.RuleEntry<[]>
|
|
1503
|
-
/**
|
|
1504
|
-
* Enforce `id` attribute on `next/script` components with inline content.
|
|
1505
|
-
* @see https://nextjs.org/docs/messages/inline-script-id
|
|
1506
|
-
*/
|
|
1507
|
-
'nextjs/inline-script-id'?: Linter.RuleEntry<[]>
|
|
1508
|
-
/**
|
|
1509
|
-
* Prefer `next/script` component when using the inline script for Google Analytics.
|
|
1510
|
-
* @see https://nextjs.org/docs/messages/next-script-for-ga
|
|
1511
|
-
*/
|
|
1512
|
-
'nextjs/next-script-for-ga'?: Linter.RuleEntry<[]>
|
|
1513
|
-
/**
|
|
1514
|
-
* Prevent assignment to the `module` variable.
|
|
1515
|
-
* @see https://nextjs.org/docs/messages/no-assign-module-variable
|
|
1516
|
-
*/
|
|
1517
|
-
'nextjs/no-assign-module-variable'?: Linter.RuleEntry<[]>
|
|
1518
|
-
/**
|
|
1519
|
-
* Prevent client components from being async functions.
|
|
1520
|
-
* @see https://nextjs.org/docs/messages/no-async-client-component
|
|
1521
|
-
*/
|
|
1522
|
-
'nextjs/no-async-client-component'?: Linter.RuleEntry<[]>
|
|
1523
|
-
/**
|
|
1524
|
-
* Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
|
|
1525
|
-
* @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
|
|
1526
|
-
*/
|
|
1527
|
-
'nextjs/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>
|
|
1528
|
-
/**
|
|
1529
|
-
* Prevent manual stylesheet tags.
|
|
1530
|
-
* @see https://nextjs.org/docs/messages/no-css-tags
|
|
1531
|
-
*/
|
|
1532
|
-
'nextjs/no-css-tags'?: Linter.RuleEntry<[]>
|
|
1533
|
-
/**
|
|
1534
|
-
* Prevent importing `next/document` outside of `pages/_document.js`.
|
|
1535
|
-
* @see https://nextjs.org/docs/messages/no-document-import-in-page
|
|
1536
|
-
*/
|
|
1537
|
-
'nextjs/no-document-import-in-page'?: Linter.RuleEntry<[]>
|
|
1538
|
-
/**
|
|
1539
|
-
* Prevent duplicate usage of `<Head>` in `pages/_document.js`.
|
|
1540
|
-
* @see https://nextjs.org/docs/messages/no-duplicate-head
|
|
1541
|
-
*/
|
|
1542
|
-
'nextjs/no-duplicate-head'?: Linter.RuleEntry<[]>
|
|
1543
|
-
/**
|
|
1544
|
-
* Prevent usage of `<head>` element.
|
|
1545
|
-
* @see https://nextjs.org/docs/messages/no-head-element
|
|
1546
|
-
*/
|
|
1547
|
-
'nextjs/no-head-element'?: Linter.RuleEntry<[]>
|
|
1548
|
-
/**
|
|
1549
|
-
* Prevent usage of `next/head` in `pages/_document.js`.
|
|
1550
|
-
* @see https://nextjs.org/docs/messages/no-head-import-in-document
|
|
1551
|
-
*/
|
|
1552
|
-
'nextjs/no-head-import-in-document'?: Linter.RuleEntry<[]>
|
|
1553
|
-
/**
|
|
1554
|
-
* Prevent usage of `<a>` elements to navigate to internal Next.js pages.
|
|
1555
|
-
* @see https://nextjs.org/docs/messages/no-html-link-for-pages
|
|
1556
|
-
*/
|
|
1557
|
-
'nextjs/no-html-link-for-pages'?: Linter.RuleEntry<NextjsNoHtmlLinkForPages>
|
|
1558
|
-
/**
|
|
1559
|
-
* Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
|
|
1560
|
-
* @see https://nextjs.org/docs/messages/no-img-element
|
|
1561
|
-
*/
|
|
1562
|
-
'nextjs/no-img-element'?: Linter.RuleEntry<[]>
|
|
1563
|
-
/**
|
|
1564
|
-
* Prevent page-only custom fonts.
|
|
1565
|
-
* @see https://nextjs.org/docs/messages/no-page-custom-font
|
|
1566
|
-
*/
|
|
1567
|
-
'nextjs/no-page-custom-font'?: Linter.RuleEntry<[]>
|
|
1568
|
-
/**
|
|
1569
|
-
* Prevent usage of `next/script` in `next/head` component.
|
|
1570
|
-
* @see https://nextjs.org/docs/messages/no-script-component-in-head
|
|
1571
|
-
*/
|
|
1572
|
-
'nextjs/no-script-component-in-head'?: Linter.RuleEntry<[]>
|
|
1573
|
-
/**
|
|
1574
|
-
* Prevent usage of `styled-jsx` in `pages/_document.js`.
|
|
1575
|
-
* @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
|
|
1576
|
-
*/
|
|
1577
|
-
'nextjs/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>
|
|
1578
|
-
/**
|
|
1579
|
-
* Prevent synchronous scripts.
|
|
1580
|
-
* @see https://nextjs.org/docs/messages/no-sync-scripts
|
|
1581
|
-
*/
|
|
1582
|
-
'nextjs/no-sync-scripts'?: Linter.RuleEntry<[]>
|
|
1583
|
-
/**
|
|
1584
|
-
* Prevent usage of `<title>` with `Head` component from `next/document`.
|
|
1585
|
-
* @see https://nextjs.org/docs/messages/no-title-in-document-head
|
|
1586
|
-
*/
|
|
1587
|
-
'nextjs/no-title-in-document-head'?: Linter.RuleEntry<[]>
|
|
1588
|
-
/**
|
|
1589
|
-
* Prevent common typos in Next.js data fetching functions.
|
|
1590
|
-
*/
|
|
1591
|
-
'nextjs/no-typos'?: Linter.RuleEntry<[]>
|
|
1592
|
-
/**
|
|
1593
|
-
* Prevent duplicate polyfills from Polyfill.io.
|
|
1594
|
-
* @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
|
|
1595
|
-
*/
|
|
1596
|
-
'nextjs/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>
|
|
1597
1493
|
/**
|
|
1598
1494
|
* Disallow the use of `alert`, `confirm`, and `prompt`
|
|
1599
1495
|
* @see https://eslint.org/docs/latest/rules/no-alert
|
|
@@ -9066,8 +8962,6 @@ type NewlineAfterVar = []|[("never" | "always")]
|
|
|
9066
8962
|
type NewlinePerChainedCall = []|[{
|
|
9067
8963
|
ignoreChainWithDepth?: number
|
|
9068
8964
|
}]
|
|
9069
|
-
// ----- nextjs/no-html-link-for-pages -----
|
|
9070
|
-
type NextjsNoHtmlLinkForPages = []|[(string | string[])]
|
|
9071
8965
|
// ----- no-bitwise -----
|
|
9072
8966
|
type NoBitwise = []|[{
|
|
9073
8967
|
allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[]
|
|
@@ -14531,7 +14425,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
|
|
|
14531
14425
|
onlyEquality?: boolean
|
|
14532
14426
|
}]
|
|
14533
14427
|
// Names of all the configs
|
|
14534
|
-
type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/astro/scripts-js' | 'luxass/astro/scripts-ts' | 'luxass/eslint-comments' | 'luxass/formatter/setup' | 'luxass/imports' | 'luxass/disables/imports-bin' | 'luxass/javascript' | 'luxass/disables/cli' | 'luxass/jsdoc' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/sort/package-json' | 'luxass/stylistic' | 'luxass/tailwindcss/setup' | 'luxass/tailwindcss/rules' | 'luxass/sort/tsconfig' | 'luxass/
|
|
14428
|
+
type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/astro/scripts-js' | 'luxass/astro/scripts-ts' | 'luxass/eslint-comments' | 'luxass/formatter/setup' | 'luxass/imports' | 'luxass/disables/imports-bin' | 'luxass/javascript' | 'luxass/disables/cli' | 'luxass/jsdoc' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/sort/package-json' | 'luxass/stylistic' | 'luxass/tailwindcss/setup' | 'luxass/tailwindcss/rules' | 'luxass/sort/tsconfig' | 'luxass/solid/setup' | 'luxass/solid/rules' | 'luxass/test/setup' | 'luxass/test/rules' | 'luxass/toml/setup' | 'luxass/toml/rules' | 'luxass/typescript/setup' | 'luxass/typescript/parser' | 'luxass/typescript/rules' | 'luxass/typescript/rules-type-aware' | 'luxass/typescript/disables/dts' | 'luxass/typescript/disables/tests' | 'luxass/typescript/disables/playground' | 'luxass/typescript/disables/javascript' | 'luxass/unicorn' | 'luxass/unocss/setup' | 'luxass/unocss/rules' | 'luxass/vue/setup' | 'luxass/vue/rules' | 'luxass/yaml/setup' | 'luxass/yaml/rules' | 'luxass/yaml/github-actions' | 'antfu/svelte/setup' | 'antfu/svelte/rules'
|
|
14535
14429
|
|
|
14536
14430
|
declare function comments(): Promise<TypedFlatConfigItem[]>;
|
|
14537
14431
|
|
|
@@ -14814,28 +14708,6 @@ interface UnoCSSOptions {
|
|
|
14814
14708
|
}
|
|
14815
14709
|
declare function unocss(options?: UnoCSSOptions): Promise<TypedFlatConfigItem[]>;
|
|
14816
14710
|
|
|
14817
|
-
interface NextJSOptions {
|
|
14818
|
-
/**
|
|
14819
|
-
* Tell the plugin where the root directory is.
|
|
14820
|
-
* @see https://nextjs.org/docs/app/building-your-application/configuring/eslint#rootdir
|
|
14821
|
-
*
|
|
14822
|
-
* @default true
|
|
14823
|
-
*/
|
|
14824
|
-
rootDir?: boolean | string;
|
|
14825
|
-
/**
|
|
14826
|
-
* Override rules.
|
|
14827
|
-
*/
|
|
14828
|
-
overrides?: TypedFlatConfigItem['rules'];
|
|
14829
|
-
/**
|
|
14830
|
-
* Glob patterns for Next.js files.
|
|
14831
|
-
*
|
|
14832
|
-
* @default [GLOB_SRC]
|
|
14833
|
-
* @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
|
|
14834
|
-
*/
|
|
14835
|
-
files?: string[];
|
|
14836
|
-
}
|
|
14837
|
-
declare function nextjs(options?: NextJSOptions): Promise<TypedFlatConfigItem[]>;
|
|
14838
|
-
|
|
14839
14711
|
interface ReactOptions {
|
|
14840
14712
|
/**
|
|
14841
14713
|
* Override rules.
|
|
@@ -15145,17 +15017,6 @@ interface ConfigOptions {
|
|
|
15145
15017
|
* @default true
|
|
15146
15018
|
*/
|
|
15147
15019
|
markdown?: boolean;
|
|
15148
|
-
/**
|
|
15149
|
-
* Enable NextJS support.
|
|
15150
|
-
*
|
|
15151
|
-
* Requires installing:
|
|
15152
|
-
* - `@next/eslint-plugin-next`
|
|
15153
|
-
*
|
|
15154
|
-
* @default false
|
|
15155
|
-
*
|
|
15156
|
-
* Note: By enabling this, the `react` option will be enabled automatically.
|
|
15157
|
-
*/
|
|
15158
|
-
nextjs?: boolean | NextJSOptions;
|
|
15159
15020
|
/**
|
|
15160
15021
|
* Enable react rules.
|
|
15161
15022
|
*
|
|
@@ -15361,4 +15222,4 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
|
|
|
15361
15222
|
declare function resolveSubOptions<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): ResolvedOptions<ConfigOptions[K]>;
|
|
15362
15223
|
declare function getOverrides<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): any;
|
|
15363
15224
|
|
|
15364
|
-
export { type AstroOptions, type Awaitable, type ConfigNames, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type
|
|
15225
|
+
export { type AstroOptions, type Awaitable, type ConfigNames, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type ReactOptions, type ResolvedOptions, type Rules, type SolidOptions, type StylisticConfig, type StylisticOptions, type SvelteOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, type TypedFlatConfigItem, type UnoCSSOptions, type UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, comments, luxass as default, ensure, formatters, getOverrides, ignores, imports, interop, javascript, jsdoc, jsonc, luxass, markdown, node, parserPlain, react, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
|
package/dist/index.js
CHANGED
|
@@ -1692,91 +1692,6 @@ async function unocss(options = {}) {
|
|
|
1692
1692
|
];
|
|
1693
1693
|
}
|
|
1694
1694
|
|
|
1695
|
-
// src/configs/nextjs.ts
|
|
1696
|
-
async function nextjs(options = {}) {
|
|
1697
|
-
const {
|
|
1698
|
-
files = [GLOB_SRC],
|
|
1699
|
-
overrides,
|
|
1700
|
-
rootDir
|
|
1701
|
-
} = options;
|
|
1702
|
-
await ensure([
|
|
1703
|
-
"@next/eslint-plugin-next"
|
|
1704
|
-
]);
|
|
1705
|
-
const pluginNextjs = await interop(import("@next/eslint-plugin-next"));
|
|
1706
|
-
return [
|
|
1707
|
-
{
|
|
1708
|
-
name: "luxass/nextjs/setup",
|
|
1709
|
-
plugins: {
|
|
1710
|
-
nextjs: pluginNextjs
|
|
1711
|
-
}
|
|
1712
|
-
},
|
|
1713
|
-
{
|
|
1714
|
-
name: "luxass/nextjs/rules",
|
|
1715
|
-
files,
|
|
1716
|
-
rules: {
|
|
1717
|
-
...renameRules(
|
|
1718
|
-
pluginNextjs.configs.recommended.rules,
|
|
1719
|
-
"@next/next/",
|
|
1720
|
-
"nextjs/"
|
|
1721
|
-
),
|
|
1722
|
-
...renameRules(
|
|
1723
|
-
pluginNextjs.configs["core-web-vitals"].rules,
|
|
1724
|
-
"@next/next/",
|
|
1725
|
-
"nextjs/"
|
|
1726
|
-
),
|
|
1727
|
-
"nextjs/google-font-display": ["error"],
|
|
1728
|
-
"nextjs/google-font-preconnect": ["error"],
|
|
1729
|
-
"nextjs/inline-script-id": ["error"],
|
|
1730
|
-
"nextjs/next-script-for-ga": ["warn"],
|
|
1731
|
-
"nextjs/no-assign-module-variable": ["error"],
|
|
1732
|
-
"nextjs/no-css-tags": ["warn"],
|
|
1733
|
-
"nextjs/no-document-import-in-page": ["error"],
|
|
1734
|
-
"nextjs/no-duplicate-head": ["error"],
|
|
1735
|
-
"nextjs/no-head-element": ["warn"],
|
|
1736
|
-
"nextjs/no-head-import-in-document": ["error"],
|
|
1737
|
-
"nextjs/no-html-link-for-pages": ["off"],
|
|
1738
|
-
"nextjs/no-img-element": ["warn"],
|
|
1739
|
-
"nextjs/no-page-custom-font": ["warn"],
|
|
1740
|
-
"nextjs/no-script-component-in-head": ["error"],
|
|
1741
|
-
"nextjs/no-styled-jsx-in-document": ["warn"],
|
|
1742
|
-
"nextjs/no-sync-scripts": ["warn"],
|
|
1743
|
-
"nextjs/no-title-in-document-head": ["warn"],
|
|
1744
|
-
"nextjs/no-typos": ["warn"],
|
|
1745
|
-
"nextjs/no-unwanted-polyfillio": ["warn"],
|
|
1746
|
-
// This rule creates errors with webpack parsing on edge runtime
|
|
1747
|
-
"unicorn/prefer-node-protocol": ["off"],
|
|
1748
|
-
...overrides
|
|
1749
|
-
},
|
|
1750
|
-
settings: {
|
|
1751
|
-
next: {
|
|
1752
|
-
rootDir: rootDir ?? true
|
|
1753
|
-
},
|
|
1754
|
-
react: {
|
|
1755
|
-
pragma: "React",
|
|
1756
|
-
version: "detect"
|
|
1757
|
-
}
|
|
1758
|
-
}
|
|
1759
|
-
},
|
|
1760
|
-
{
|
|
1761
|
-
name: "luxass/nextjs/default-export-override",
|
|
1762
|
-
files: GLOB_NEXTJS_ROUTES,
|
|
1763
|
-
rules: {
|
|
1764
|
-
"import/prefer-default-export": "error"
|
|
1765
|
-
}
|
|
1766
|
-
},
|
|
1767
|
-
{
|
|
1768
|
-
name: "luxass/nextjs/og-override",
|
|
1769
|
-
files: GLOB_NEXTJS_OG,
|
|
1770
|
-
rules: {
|
|
1771
|
-
"nextjs/no-img-element": "off",
|
|
1772
|
-
"react/no-unknown-property": ["error", {
|
|
1773
|
-
ignore: ["tw"]
|
|
1774
|
-
}]
|
|
1775
|
-
}
|
|
1776
|
-
}
|
|
1777
|
-
];
|
|
1778
|
-
}
|
|
1779
|
-
|
|
1780
1695
|
// src/configs/react.ts
|
|
1781
1696
|
import { isPackageExists as isPackageExists2 } from "local-pkg";
|
|
1782
1697
|
var ReactRefreshAllowConstantExportPackages = [
|
|
@@ -1866,6 +1781,7 @@ async function react(options = {}) {
|
|
|
1866
1781
|
allowExportNames: [
|
|
1867
1782
|
...isUsingNext ? [
|
|
1868
1783
|
"config",
|
|
1784
|
+
"runtime",
|
|
1869
1785
|
"generateStaticParams",
|
|
1870
1786
|
"metadata",
|
|
1871
1787
|
"generateMetadata",
|
|
@@ -2426,8 +2342,7 @@ var defaultPluginRenaming = {
|
|
|
2426
2342
|
"@eslint-react": "react",
|
|
2427
2343
|
"@eslint-react/dom": "react-dom",
|
|
2428
2344
|
"@eslint-react/hooks-extra": "react-hooks-extra",
|
|
2429
|
-
"@eslint-react/naming-convention": "react-naming-convention"
|
|
2430
|
-
"@next/next": "nextjs"
|
|
2345
|
+
"@eslint-react/naming-convention": "react-naming-convention"
|
|
2431
2346
|
};
|
|
2432
2347
|
function luxass(options = {}, ...userConfigs) {
|
|
2433
2348
|
const {
|
|
@@ -2436,7 +2351,6 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2436
2351
|
editor = !!((process3.env.VSCODE_PID || process3.env.JETBRAINS_IDE || process3.env.VIM) && !process3.env.CI),
|
|
2437
2352
|
exts = [],
|
|
2438
2353
|
gitignore: enableGitignore = true,
|
|
2439
|
-
nextjs: enableNextJS = false,
|
|
2440
2354
|
react: enableReact = false,
|
|
2441
2355
|
tailwindcss: enableTailwindCSS = false,
|
|
2442
2356
|
svelte: enableSvelte = false,
|
|
@@ -2497,21 +2411,13 @@ function luxass(options = {}, ...userConfigs) {
|
|
|
2497
2411
|
overrides: getOverrides(options, "test")
|
|
2498
2412
|
}));
|
|
2499
2413
|
}
|
|
2500
|
-
if (enableReact
|
|
2414
|
+
if (enableReact) {
|
|
2501
2415
|
configs.push(react({
|
|
2502
2416
|
...resolveSubOptions(options, "react"),
|
|
2503
2417
|
overrides: getOverrides(options, "react"),
|
|
2504
2418
|
tsconfigPath: getOverrides(options, "typescript").tsconfigPath
|
|
2505
2419
|
}));
|
|
2506
2420
|
}
|
|
2507
|
-
if (enableNextJS) {
|
|
2508
|
-
configs.push(
|
|
2509
|
-
nextjs({
|
|
2510
|
-
...resolveSubOptions(options, "nextjs"),
|
|
2511
|
-
overrides: getOverrides(options, "nextjs")
|
|
2512
|
-
})
|
|
2513
|
-
);
|
|
2514
|
-
}
|
|
2515
2421
|
if (enableSolid) {
|
|
2516
2422
|
configs.push(
|
|
2517
2423
|
solid({
|
|
@@ -2664,7 +2570,6 @@ export {
|
|
|
2664
2570
|
jsonc,
|
|
2665
2571
|
luxass,
|
|
2666
2572
|
markdown,
|
|
2667
|
-
nextjs,
|
|
2668
2573
|
node,
|
|
2669
2574
|
parserPlain,
|
|
2670
2575
|
react,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luxass/eslint-config",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.3",
|
|
4
4
|
"description": "ESLint config for @luxass",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"@eslint-react/eslint-plugin": "^1.5.8",
|
|
52
|
-
"@next/eslint-plugin-next": "^14.0.0",
|
|
53
52
|
"@unocss/eslint-plugin": ">=0.50.0",
|
|
54
53
|
"astro-eslint-parser": "^0.16.3",
|
|
55
54
|
"eslint": ">=8.40.0",
|
|
@@ -91,9 +90,6 @@
|
|
|
91
90
|
"prettier-plugin-astro": {
|
|
92
91
|
"optional": true
|
|
93
92
|
},
|
|
94
|
-
"@next/eslint-plugin-next": {
|
|
95
|
-
"optional": true
|
|
96
|
-
},
|
|
97
93
|
"eslint-plugin-tailwindcss": {
|
|
98
94
|
"optional": true
|
|
99
95
|
},
|
|
@@ -140,7 +136,6 @@
|
|
|
140
136
|
"@antfu/eslint-plugin-prettier": "^5.0.1-1",
|
|
141
137
|
"@eslint-react/eslint-plugin": "^1.5.10",
|
|
142
138
|
"@eslint/config-inspector": "^0.4.8",
|
|
143
|
-
"@next/eslint-plugin-next": "^14.2.3",
|
|
144
139
|
"@stylistic/eslint-plugin-migrate": "^1.8.0",
|
|
145
140
|
"@types/eslint": "^8.56.10",
|
|
146
141
|
"@types/estree": "^1.0.5",
|