@yunarch/config-web 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -5
- package/dist/linters/eslint.config.d.ts +135 -186
- package/dist/linters/oxlint.config.json +1 -1
- package/dist/ts/utils.d.ts +67 -22
- package/package.json +22 -25
- package/dist/ts/utils.js +0 -1
package/README.md
CHANGED
|
@@ -299,7 +299,7 @@ Learn more from [Typescript docs here](https://www.typescriptlang.org/tsconfig/#
|
|
|
299
299
|
This package also includes a [`ts-reset`](https://www.totaltypescript.com/ts-reset) configuration to enhance TypeScript's built-in types. To use it, create a `reset.d.ts` file in your project with the following content:
|
|
300
300
|
|
|
301
301
|
```ts
|
|
302
|
-
import '@yunarch/config-web/reset.d.ts';
|
|
302
|
+
import '@yunarch/config-web/ts-reset.d.ts';
|
|
303
303
|
```
|
|
304
304
|
|
|
305
305
|
Then, include this file in your `tsconfig.json`, for example:
|
|
@@ -318,12 +318,28 @@ Then, include this file in your `tsconfig.json`, for example:
|
|
|
318
318
|
|
|
319
319
|
### Utilities
|
|
320
320
|
|
|
321
|
-
As an
|
|
321
|
+
As an enhancement to the `ts-reset`, this package provides type-level utilities to help you write stricter, more maintainable TypeScript code.
|
|
322
322
|
|
|
323
|
-
|
|
323
|
+
TypeScript uses structural typing, which means it doesn't always prevent objects from having excess properties. While `ts-reset` modifies built-in types globally, these utilities are **opt-in**, allowing you to apply stricter typing **only where you need it**.
|
|
324
324
|
|
|
325
|
-
|
|
326
|
-
|
|
325
|
+
> [!NOTE]
|
|
326
|
+
> This package only provides **types**, as the package is intended to be used as a `devDependency` **only**. So you need to create runtime type-safe wrappers. **Each utility type includes usage guidance in its definition comments**.
|
|
327
|
+
|
|
328
|
+
For example, using the exposed utility types, you can define strictly typed versions of `Object.entries` and `Object.fromEntries`, ensuring safer and more predictable object manipulation:
|
|
329
|
+
|
|
330
|
+
```ts
|
|
331
|
+
import type {
|
|
332
|
+
ObjectEntries,
|
|
333
|
+
ObjectFromEntries,
|
|
334
|
+
} from '@yunarch/config-web/ts-utils.d.ts';
|
|
335
|
+
|
|
336
|
+
// Strictly typed version of `Object.entries`
|
|
337
|
+
const typedObjectEntries: ObjectEntries = Object.entries;
|
|
338
|
+
const x1 = typedObjectEntries({ a: 1, b: 2 } as const);
|
|
339
|
+
|
|
340
|
+
// Strictly typed version of `Object.fromEntries`
|
|
341
|
+
const typedObjectFromEntries: ObjectFromEntries = Object.fromEntries;
|
|
342
|
+
const x2 = typedObjectFromEntries([['a', 1]] as const);
|
|
327
343
|
```
|
|
328
344
|
|
|
329
345
|
## 🔧 CLI Tools
|
|
@@ -1479,233 +1479,233 @@ interface RuleOptions {
|
|
|
1479
1479
|
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
|
|
1480
1480
|
/**
|
|
1481
1481
|
* Enforce or ban the use of inline type-only markers for named imports.
|
|
1482
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1482
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/consistent-type-specifier-style.md
|
|
1483
1483
|
*/
|
|
1484
1484
|
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
|
|
1485
1485
|
/**
|
|
1486
1486
|
* Ensure a default export is present, given a default import.
|
|
1487
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1487
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/default.md
|
|
1488
1488
|
*/
|
|
1489
1489
|
'import/default'?: Linter.RuleEntry<[]>
|
|
1490
1490
|
/**
|
|
1491
1491
|
* Enforce a leading comment with the webpackChunkName for dynamic imports.
|
|
1492
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1492
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/dynamic-import-chunkname.md
|
|
1493
1493
|
*/
|
|
1494
1494
|
'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
|
|
1495
1495
|
/**
|
|
1496
1496
|
* Forbid any invalid exports, i.e. re-export of the same name.
|
|
1497
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1497
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/export.md
|
|
1498
1498
|
*/
|
|
1499
1499
|
'import/export'?: Linter.RuleEntry<[]>
|
|
1500
1500
|
/**
|
|
1501
1501
|
* Ensure all exports appear after other statements.
|
|
1502
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1502
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/exports-last.md
|
|
1503
1503
|
*/
|
|
1504
1504
|
'import/exports-last'?: Linter.RuleEntry<[]>
|
|
1505
1505
|
/**
|
|
1506
1506
|
* Ensure consistent use of file extension within the import path.
|
|
1507
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1507
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/extensions.md
|
|
1508
1508
|
*/
|
|
1509
1509
|
'import/extensions'?: Linter.RuleEntry<ImportExtensions>
|
|
1510
1510
|
/**
|
|
1511
1511
|
* Ensure all imports appear before other statements.
|
|
1512
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1512
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/first.md
|
|
1513
1513
|
*/
|
|
1514
1514
|
'import/first'?: Linter.RuleEntry<ImportFirst>
|
|
1515
1515
|
/**
|
|
1516
1516
|
* Prefer named exports to be grouped together in a single export declaration.
|
|
1517
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1517
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/group-exports.md
|
|
1518
1518
|
*/
|
|
1519
1519
|
'import/group-exports'?: Linter.RuleEntry<[]>
|
|
1520
1520
|
/**
|
|
1521
1521
|
* Replaced by `import-x/first`.
|
|
1522
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1522
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/imports-first.md
|
|
1523
1523
|
* @deprecated
|
|
1524
1524
|
*/
|
|
1525
1525
|
'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
|
|
1526
1526
|
/**
|
|
1527
1527
|
* Enforce the maximum number of dependencies a module can have.
|
|
1528
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1528
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/max-dependencies.md
|
|
1529
1529
|
*/
|
|
1530
1530
|
'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
|
|
1531
1531
|
/**
|
|
1532
1532
|
* Ensure named imports correspond to a named export in the remote file.
|
|
1533
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1533
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/named.md
|
|
1534
1534
|
*/
|
|
1535
1535
|
'import/named'?: Linter.RuleEntry<ImportNamed>
|
|
1536
1536
|
/**
|
|
1537
1537
|
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
|
|
1538
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1538
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/namespace.md
|
|
1539
1539
|
*/
|
|
1540
1540
|
'import/namespace'?: Linter.RuleEntry<ImportNamespace>
|
|
1541
1541
|
/**
|
|
1542
1542
|
* Enforce a newline after import statements.
|
|
1543
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1543
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/newline-after-import.md
|
|
1544
1544
|
*/
|
|
1545
1545
|
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
|
|
1546
1546
|
/**
|
|
1547
1547
|
* Forbid import of modules using absolute paths.
|
|
1548
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1548
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-absolute-path.md
|
|
1549
1549
|
*/
|
|
1550
1550
|
'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
|
|
1551
1551
|
/**
|
|
1552
1552
|
* Forbid AMD `require` and `define` calls.
|
|
1553
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1553
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-amd.md
|
|
1554
1554
|
*/
|
|
1555
1555
|
'import/no-amd'?: Linter.RuleEntry<[]>
|
|
1556
1556
|
/**
|
|
1557
1557
|
* Forbid anonymous values as default exports.
|
|
1558
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1558
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-anonymous-default-export.md
|
|
1559
1559
|
*/
|
|
1560
1560
|
'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
|
|
1561
1561
|
/**
|
|
1562
1562
|
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
|
|
1563
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1563
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-commonjs.md
|
|
1564
1564
|
*/
|
|
1565
1565
|
'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
|
|
1566
1566
|
/**
|
|
1567
1567
|
* Forbid a module from importing a module with a dependency path back to itself.
|
|
1568
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1568
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-cycle.md
|
|
1569
1569
|
*/
|
|
1570
1570
|
'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
|
|
1571
1571
|
/**
|
|
1572
1572
|
* Forbid default exports.
|
|
1573
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1573
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-default-export.md
|
|
1574
1574
|
*/
|
|
1575
1575
|
'import/no-default-export'?: Linter.RuleEntry<[]>
|
|
1576
1576
|
/**
|
|
1577
1577
|
* Forbid imported names marked with `@deprecated` documentation tag.
|
|
1578
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1578
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-deprecated.md
|
|
1579
1579
|
*/
|
|
1580
1580
|
'import/no-deprecated'?: Linter.RuleEntry<[]>
|
|
1581
1581
|
/**
|
|
1582
1582
|
* Forbid repeated import of the same module in multiple places.
|
|
1583
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1583
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-duplicates.md
|
|
1584
1584
|
*/
|
|
1585
1585
|
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
|
|
1586
1586
|
/**
|
|
1587
1587
|
* Forbid `require()` calls with expressions.
|
|
1588
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1588
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-dynamic-require.md
|
|
1589
1589
|
*/
|
|
1590
1590
|
'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
|
|
1591
1591
|
/**
|
|
1592
1592
|
* Forbid empty named import blocks.
|
|
1593
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1593
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-empty-named-blocks.md
|
|
1594
1594
|
*/
|
|
1595
1595
|
'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
|
|
1596
1596
|
/**
|
|
1597
1597
|
* Forbid the use of extraneous packages.
|
|
1598
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1598
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-extraneous-dependencies.md
|
|
1599
1599
|
*/
|
|
1600
1600
|
'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
|
|
1601
1601
|
/**
|
|
1602
1602
|
* Forbid import statements with CommonJS module.exports.
|
|
1603
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1603
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-import-module-exports.md
|
|
1604
1604
|
*/
|
|
1605
1605
|
'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
|
|
1606
1606
|
/**
|
|
1607
1607
|
* Forbid importing the submodules of other modules.
|
|
1608
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1608
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-internal-modules.md
|
|
1609
1609
|
*/
|
|
1610
1610
|
'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
|
|
1611
1611
|
/**
|
|
1612
1612
|
* Forbid the use of mutable exports with `var` or `let`.
|
|
1613
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1613
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-mutable-exports.md
|
|
1614
1614
|
*/
|
|
1615
1615
|
'import/no-mutable-exports'?: Linter.RuleEntry<[]>
|
|
1616
1616
|
/**
|
|
1617
1617
|
* Forbid use of exported name as identifier of default export.
|
|
1618
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1618
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-as-default.md
|
|
1619
1619
|
*/
|
|
1620
1620
|
'import/no-named-as-default'?: Linter.RuleEntry<[]>
|
|
1621
1621
|
/**
|
|
1622
1622
|
* Forbid use of exported name as property of default export.
|
|
1623
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1623
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-as-default-member.md
|
|
1624
1624
|
*/
|
|
1625
1625
|
'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
|
|
1626
1626
|
/**
|
|
1627
1627
|
* Forbid named default exports.
|
|
1628
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1628
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-default.md
|
|
1629
1629
|
*/
|
|
1630
1630
|
'import/no-named-default'?: Linter.RuleEntry<[]>
|
|
1631
1631
|
/**
|
|
1632
1632
|
* Forbid named exports.
|
|
1633
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1633
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-named-export.md
|
|
1634
1634
|
*/
|
|
1635
1635
|
'import/no-named-export'?: Linter.RuleEntry<[]>
|
|
1636
1636
|
/**
|
|
1637
1637
|
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
|
|
1638
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1638
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-namespace.md
|
|
1639
1639
|
*/
|
|
1640
1640
|
'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
|
|
1641
1641
|
/**
|
|
1642
1642
|
* Forbid Node.js builtin modules.
|
|
1643
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1643
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-nodejs-modules.md
|
|
1644
1644
|
*/
|
|
1645
1645
|
'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
|
|
1646
1646
|
/**
|
|
1647
1647
|
* Forbid importing packages through relative paths.
|
|
1648
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1648
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-relative-packages.md
|
|
1649
1649
|
*/
|
|
1650
1650
|
'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
|
|
1651
1651
|
/**
|
|
1652
1652
|
* Forbid importing modules from parent directories.
|
|
1653
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1653
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-relative-parent-imports.md
|
|
1654
1654
|
*/
|
|
1655
1655
|
'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
|
|
1656
1656
|
/**
|
|
1657
1657
|
* Forbid importing a default export by a different name.
|
|
1658
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1658
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-rename-default.md
|
|
1659
1659
|
*/
|
|
1660
1660
|
'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
|
|
1661
1661
|
/**
|
|
1662
1662
|
* Enforce which files can be imported in a given folder.
|
|
1663
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1663
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-restricted-paths.md
|
|
1664
1664
|
*/
|
|
1665
1665
|
'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
|
|
1666
1666
|
/**
|
|
1667
1667
|
* Forbid a module from importing itself.
|
|
1668
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1668
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-self-import.md
|
|
1669
1669
|
*/
|
|
1670
1670
|
'import/no-self-import'?: Linter.RuleEntry<[]>
|
|
1671
1671
|
/**
|
|
1672
1672
|
* Forbid unassigned imports.
|
|
1673
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1673
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unassigned-import.md
|
|
1674
1674
|
*/
|
|
1675
1675
|
'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
|
|
1676
1676
|
/**
|
|
1677
1677
|
* Ensure imports point to a file/module that can be resolved.
|
|
1678
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1678
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unresolved.md
|
|
1679
1679
|
*/
|
|
1680
1680
|
'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
|
|
1681
1681
|
/**
|
|
1682
1682
|
* Forbid modules without exports, or exports without matching import in another module.
|
|
1683
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1683
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-unused-modules.md
|
|
1684
1684
|
*/
|
|
1685
1685
|
'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
|
|
1686
1686
|
/**
|
|
1687
1687
|
* Forbid unnecessary path segments in import and require statements.
|
|
1688
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1688
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-useless-path-segments.md
|
|
1689
1689
|
*/
|
|
1690
1690
|
'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
|
|
1691
1691
|
/**
|
|
1692
1692
|
* Forbid webpack loader syntax in imports.
|
|
1693
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1693
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/no-webpack-loader-syntax.md
|
|
1694
1694
|
*/
|
|
1695
1695
|
'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
|
|
1696
1696
|
/**
|
|
1697
1697
|
* Enforce a convention in module import order.
|
|
1698
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1698
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/order.md
|
|
1699
1699
|
*/
|
|
1700
1700
|
'import/order'?: Linter.RuleEntry<ImportOrder>
|
|
1701
1701
|
/**
|
|
1702
1702
|
* Prefer a default export if module exports a single name or multiple names.
|
|
1703
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1703
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/prefer-default-export.md
|
|
1704
1704
|
*/
|
|
1705
1705
|
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
|
|
1706
1706
|
/**
|
|
1707
1707
|
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
|
|
1708
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.
|
|
1708
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.15.2/docs/rules/unambiguous.md
|
|
1709
1709
|
*/
|
|
1710
1710
|
'import/unambiguous'?: Linter.RuleEntry<[]>
|
|
1711
1711
|
/**
|
|
@@ -4050,6 +4050,11 @@ interface RuleOptions {
|
|
|
4050
4050
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
|
|
4051
4051
|
*/
|
|
4052
4052
|
'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>
|
|
4053
|
+
/**
|
|
4054
|
+
* enforce using vitest or vi but not both
|
|
4055
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
|
|
4056
|
+
*/
|
|
4057
|
+
'vitest/consistent-vitest-vi'?: Linter.RuleEntry<VitestConsistentVitestVi>
|
|
4053
4058
|
/**
|
|
4054
4059
|
* enforce having expectation in test body
|
|
4055
4060
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
|
|
@@ -4126,6 +4131,11 @@ interface RuleOptions {
|
|
|
4126
4131
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
|
|
4127
4132
|
*/
|
|
4128
4133
|
'vitest/no-import-node-test'?: Linter.RuleEntry<[]>
|
|
4134
|
+
/**
|
|
4135
|
+
* disallow importing Vitest globals
|
|
4136
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
|
|
4137
|
+
*/
|
|
4138
|
+
'vitest/no-importing-vitest-globals'?: Linter.RuleEntry<[]>
|
|
4129
4139
|
/**
|
|
4130
4140
|
* disallow string interpolation in snapshots
|
|
4131
4141
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
|
|
@@ -4251,6 +4261,11 @@ interface RuleOptions {
|
|
|
4251
4261
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
|
|
4252
4262
|
*/
|
|
4253
4263
|
'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
|
|
4264
|
+
/**
|
|
4265
|
+
* enforce importing Vitest globals
|
|
4266
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
|
|
4267
|
+
*/
|
|
4268
|
+
'vitest/prefer-importing-vitest-globals'?: Linter.RuleEntry<[]>
|
|
4254
4269
|
/**
|
|
4255
4270
|
* enforce lowercase titles
|
|
4256
4271
|
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
|
|
@@ -7623,8 +7638,7 @@ type PerfectionistSortArrayIncludes = {
|
|
|
7623
7638
|
groupKind?: ("mixed" | "literals-first" | "spreads-first")
|
|
7624
7639
|
|
|
7625
7640
|
customGroups?: ({
|
|
7626
|
-
|
|
7627
|
-
newlinesInside?: ("always" | "never")
|
|
7641
|
+
newlinesInside?: (("always" | "never") | number)
|
|
7628
7642
|
|
|
7629
7643
|
fallbackSort?: {
|
|
7630
7644
|
|
|
@@ -7655,8 +7669,7 @@ type PerfectionistSortArrayIncludes = {
|
|
|
7655
7669
|
} | string))
|
|
7656
7670
|
}[]
|
|
7657
7671
|
} | {
|
|
7658
|
-
|
|
7659
|
-
newlinesInside?: ("always" | "never")
|
|
7672
|
+
newlinesInside?: (("always" | "never") | number)
|
|
7660
7673
|
|
|
7661
7674
|
fallbackSort?: {
|
|
7662
7675
|
|
|
@@ -7739,12 +7752,10 @@ type PerfectionistSortArrayIncludes = {
|
|
|
7739
7752
|
})
|
|
7740
7753
|
|
|
7741
7754
|
partitionByNewLine?: boolean
|
|
7742
|
-
|
|
7743
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
7755
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
7744
7756
|
|
|
7745
7757
|
groups?: (string | string[] | {
|
|
7746
|
-
|
|
7747
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
7758
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
7748
7759
|
|
|
7749
7760
|
commentAbove?: string
|
|
7750
7761
|
})[]
|
|
@@ -7772,8 +7783,7 @@ type PerfectionistSortClasses = []|[{
|
|
|
7772
7783
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
7773
7784
|
|
|
7774
7785
|
customGroups?: ({
|
|
7775
|
-
|
|
7776
|
-
newlinesInside?: ("always" | "never")
|
|
7786
|
+
newlinesInside?: (("always" | "never") | number)
|
|
7777
7787
|
|
|
7778
7788
|
fallbackSort?: {
|
|
7779
7789
|
|
|
@@ -7830,8 +7840,7 @@ type PerfectionistSortClasses = []|[{
|
|
|
7830
7840
|
} | string))
|
|
7831
7841
|
}[]
|
|
7832
7842
|
} | {
|
|
7833
|
-
|
|
7834
|
-
newlinesInside?: ("always" | "never")
|
|
7843
|
+
newlinesInside?: (("always" | "never") | number)
|
|
7835
7844
|
|
|
7836
7845
|
fallbackSort?: {
|
|
7837
7846
|
|
|
@@ -7937,12 +7946,10 @@ type PerfectionistSortClasses = []|[{
|
|
|
7937
7946
|
})
|
|
7938
7947
|
|
|
7939
7948
|
partitionByNewLine?: boolean
|
|
7940
|
-
|
|
7941
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
7949
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
7942
7950
|
|
|
7943
7951
|
groups?: (string | string[] | {
|
|
7944
|
-
|
|
7945
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
7952
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
7946
7953
|
|
|
7947
7954
|
commentAbove?: string
|
|
7948
7955
|
})[]
|
|
@@ -8021,8 +8028,7 @@ type PerfectionistSortDecorators = []|[{
|
|
|
8021
8028
|
}
|
|
8022
8029
|
|
|
8023
8030
|
groups?: (string | string[] | {
|
|
8024
|
-
|
|
8025
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8031
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8026
8032
|
|
|
8027
8033
|
commentAbove?: string
|
|
8028
8034
|
})[]
|
|
@@ -8051,8 +8057,7 @@ type PerfectionistSortEnums = []|[{
|
|
|
8051
8057
|
customGroups?: ({
|
|
8052
8058
|
[k: string]: (string | string[]) | undefined
|
|
8053
8059
|
} | ({
|
|
8054
|
-
|
|
8055
|
-
newlinesInside?: ("always" | "never")
|
|
8060
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8056
8061
|
|
|
8057
8062
|
fallbackSort?: {
|
|
8058
8063
|
|
|
@@ -8093,8 +8098,7 @@ type PerfectionistSortEnums = []|[{
|
|
|
8093
8098
|
} | string))
|
|
8094
8099
|
}[]
|
|
8095
8100
|
} | {
|
|
8096
|
-
|
|
8097
|
-
newlinesInside?: ("always" | "never")
|
|
8101
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8098
8102
|
|
|
8099
8103
|
fallbackSort?: {
|
|
8100
8104
|
|
|
@@ -8176,12 +8180,10 @@ type PerfectionistSortEnums = []|[{
|
|
|
8176
8180
|
})
|
|
8177
8181
|
|
|
8178
8182
|
partitionByNewLine?: boolean
|
|
8179
|
-
|
|
8180
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8183
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8181
8184
|
|
|
8182
8185
|
groups?: (string | string[] | {
|
|
8183
|
-
|
|
8184
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8186
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8185
8187
|
|
|
8186
8188
|
commentAbove?: string
|
|
8187
8189
|
})[]
|
|
@@ -8211,8 +8213,7 @@ type PerfectionistSortExports = {
|
|
|
8211
8213
|
groupKind?: ("mixed" | "values-first" | "types-first")
|
|
8212
8214
|
|
|
8213
8215
|
customGroups?: ({
|
|
8214
|
-
|
|
8215
|
-
newlinesInside?: ("always" | "never")
|
|
8216
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8216
8217
|
|
|
8217
8218
|
fallbackSort?: {
|
|
8218
8219
|
|
|
@@ -8245,8 +8246,7 @@ type PerfectionistSortExports = {
|
|
|
8245
8246
|
} | string))
|
|
8246
8247
|
}[]
|
|
8247
8248
|
} | {
|
|
8248
|
-
|
|
8249
|
-
newlinesInside?: ("always" | "never")
|
|
8249
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8250
8250
|
|
|
8251
8251
|
fallbackSort?: {
|
|
8252
8252
|
|
|
@@ -8316,12 +8316,10 @@ type PerfectionistSortExports = {
|
|
|
8316
8316
|
})
|
|
8317
8317
|
|
|
8318
8318
|
partitionByNewLine?: boolean
|
|
8319
|
-
|
|
8320
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8319
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8321
8320
|
|
|
8322
8321
|
groups?: (string | string[] | {
|
|
8323
|
-
|
|
8324
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8322
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8325
8323
|
|
|
8326
8324
|
commentAbove?: string
|
|
8327
8325
|
})[]
|
|
@@ -8353,8 +8351,7 @@ type PerfectionistSortHeritageClauses = []|[{
|
|
|
8353
8351
|
}
|
|
8354
8352
|
|
|
8355
8353
|
groups?: (string | string[] | {
|
|
8356
|
-
|
|
8357
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8354
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8358
8355
|
|
|
8359
8356
|
commentAbove?: string
|
|
8360
8357
|
})[]
|
|
@@ -8390,8 +8387,7 @@ type PerfectionistSortImports = {
|
|
|
8390
8387
|
[k: string]: (string | string[]) | undefined
|
|
8391
8388
|
}
|
|
8392
8389
|
} | ({
|
|
8393
|
-
|
|
8394
|
-
newlinesInside?: ("always" | "never")
|
|
8390
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8395
8391
|
|
|
8396
8392
|
fallbackSort?: {
|
|
8397
8393
|
|
|
@@ -8436,8 +8432,7 @@ type PerfectionistSortImports = {
|
|
|
8436
8432
|
} | string))
|
|
8437
8433
|
}[]
|
|
8438
8434
|
} | {
|
|
8439
|
-
|
|
8440
|
-
newlinesInside?: ("always" | "never")
|
|
8435
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8441
8436
|
|
|
8442
8437
|
fallbackSort?: {
|
|
8443
8438
|
|
|
@@ -8533,8 +8528,7 @@ type PerfectionistSortImports = {
|
|
|
8533
8528
|
})
|
|
8534
8529
|
|
|
8535
8530
|
partitionByNewLine?: boolean
|
|
8536
|
-
|
|
8537
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8531
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8538
8532
|
|
|
8539
8533
|
internalPattern?: (({
|
|
8540
8534
|
|
|
@@ -8549,8 +8543,7 @@ type PerfectionistSortImports = {
|
|
|
8549
8543
|
} | string))
|
|
8550
8544
|
|
|
8551
8545
|
groups?: (string | string[] | {
|
|
8552
|
-
|
|
8553
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8546
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8554
8547
|
|
|
8555
8548
|
commentAbove?: string
|
|
8556
8549
|
})[]
|
|
@@ -8580,8 +8573,7 @@ type PerfectionistSortInterfaces = {
|
|
|
8580
8573
|
customGroups?: ({
|
|
8581
8574
|
[k: string]: (string | string[]) | undefined
|
|
8582
8575
|
} | ({
|
|
8583
|
-
|
|
8584
|
-
newlinesInside?: ("always" | "never")
|
|
8576
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8585
8577
|
|
|
8586
8578
|
fallbackSort?: {
|
|
8587
8579
|
|
|
@@ -8628,8 +8620,7 @@ type PerfectionistSortInterfaces = {
|
|
|
8628
8620
|
sortBy?: ("name" | "value")
|
|
8629
8621
|
}[]
|
|
8630
8622
|
} | {
|
|
8631
|
-
|
|
8632
|
-
newlinesInside?: ("always" | "never")
|
|
8623
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8633
8624
|
|
|
8634
8625
|
fallbackSort?: {
|
|
8635
8626
|
|
|
@@ -8742,8 +8733,7 @@ type PerfectionistSortInterfaces = {
|
|
|
8742
8733
|
})
|
|
8743
8734
|
|
|
8744
8735
|
partitionByNewLine?: boolean
|
|
8745
|
-
|
|
8746
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8736
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8747
8737
|
|
|
8748
8738
|
ignorePattern?: (({
|
|
8749
8739
|
|
|
@@ -8759,8 +8749,7 @@ type PerfectionistSortInterfaces = {
|
|
|
8759
8749
|
sortBy?: ("name" | "value")
|
|
8760
8750
|
|
|
8761
8751
|
groups?: (string | string[] | {
|
|
8762
|
-
|
|
8763
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8752
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8764
8753
|
|
|
8765
8754
|
commentAbove?: string
|
|
8766
8755
|
})[]
|
|
@@ -8788,8 +8777,7 @@ type PerfectionistSortIntersectionTypes = {
|
|
|
8788
8777
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
8789
8778
|
|
|
8790
8779
|
customGroups?: ({
|
|
8791
|
-
|
|
8792
|
-
newlinesInside?: ("always" | "never")
|
|
8780
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8793
8781
|
|
|
8794
8782
|
fallbackSort?: {
|
|
8795
8783
|
|
|
@@ -8820,8 +8808,7 @@ type PerfectionistSortIntersectionTypes = {
|
|
|
8820
8808
|
} | string))
|
|
8821
8809
|
}[]
|
|
8822
8810
|
} | {
|
|
8823
|
-
|
|
8824
|
-
newlinesInside?: ("always" | "never")
|
|
8811
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8825
8812
|
|
|
8826
8813
|
fallbackSort?: {
|
|
8827
8814
|
|
|
@@ -8889,12 +8876,10 @@ type PerfectionistSortIntersectionTypes = {
|
|
|
8889
8876
|
})
|
|
8890
8877
|
|
|
8891
8878
|
partitionByNewLine?: boolean
|
|
8892
|
-
|
|
8893
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8879
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8894
8880
|
|
|
8895
8881
|
groups?: (string | string[] | {
|
|
8896
|
-
|
|
8897
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
8882
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
8898
8883
|
|
|
8899
8884
|
commentAbove?: string
|
|
8900
8885
|
})[]
|
|
@@ -8923,8 +8908,7 @@ type PerfectionistSortJsxProps = {
|
|
|
8923
8908
|
customGroups?: ({
|
|
8924
8909
|
[k: string]: (string | string[]) | undefined
|
|
8925
8910
|
} | ({
|
|
8926
|
-
|
|
8927
|
-
newlinesInside?: ("always" | "never")
|
|
8911
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8928
8912
|
|
|
8929
8913
|
fallbackSort?: {
|
|
8930
8914
|
|
|
@@ -8969,8 +8953,7 @@ type PerfectionistSortJsxProps = {
|
|
|
8969
8953
|
} | string))
|
|
8970
8954
|
}[]
|
|
8971
8955
|
} | {
|
|
8972
|
-
|
|
8973
|
-
newlinesInside?: ("always" | "never")
|
|
8956
|
+
newlinesInside?: (("always" | "never") | number)
|
|
8974
8957
|
|
|
8975
8958
|
fallbackSort?: {
|
|
8976
8959
|
|
|
@@ -9042,8 +9025,7 @@ type PerfectionistSortJsxProps = {
|
|
|
9042
9025
|
}
|
|
9043
9026
|
|
|
9044
9027
|
partitionByNewLine?: boolean
|
|
9045
|
-
|
|
9046
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9028
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9047
9029
|
|
|
9048
9030
|
ignorePattern?: (({
|
|
9049
9031
|
|
|
@@ -9058,8 +9040,7 @@ type PerfectionistSortJsxProps = {
|
|
|
9058
9040
|
} | string))
|
|
9059
9041
|
|
|
9060
9042
|
groups?: (string | string[] | {
|
|
9061
|
-
|
|
9062
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9043
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9063
9044
|
|
|
9064
9045
|
commentAbove?: string
|
|
9065
9046
|
})[]
|
|
@@ -9087,8 +9068,7 @@ type PerfectionistSortMaps = {
|
|
|
9087
9068
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
9088
9069
|
|
|
9089
9070
|
customGroups?: ({
|
|
9090
|
-
|
|
9091
|
-
newlinesInside?: ("always" | "never")
|
|
9071
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9092
9072
|
|
|
9093
9073
|
fallbackSort?: {
|
|
9094
9074
|
|
|
@@ -9117,8 +9097,7 @@ type PerfectionistSortMaps = {
|
|
|
9117
9097
|
} | string))
|
|
9118
9098
|
}[]
|
|
9119
9099
|
} | {
|
|
9120
|
-
|
|
9121
|
-
newlinesInside?: ("always" | "never")
|
|
9100
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9122
9101
|
|
|
9123
9102
|
fallbackSort?: {
|
|
9124
9103
|
|
|
@@ -9199,12 +9178,10 @@ type PerfectionistSortMaps = {
|
|
|
9199
9178
|
})
|
|
9200
9179
|
|
|
9201
9180
|
partitionByNewLine?: boolean
|
|
9202
|
-
|
|
9203
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9181
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9204
9182
|
|
|
9205
9183
|
groups?: (string | string[] | {
|
|
9206
|
-
|
|
9207
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9184
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9208
9185
|
|
|
9209
9186
|
commentAbove?: string
|
|
9210
9187
|
})[]
|
|
@@ -9232,8 +9209,7 @@ type PerfectionistSortModules = []|[{
|
|
|
9232
9209
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
9233
9210
|
|
|
9234
9211
|
customGroups?: ({
|
|
9235
|
-
|
|
9236
|
-
newlinesInside?: ("always" | "never")
|
|
9212
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9237
9213
|
|
|
9238
9214
|
fallbackSort?: {
|
|
9239
9215
|
|
|
@@ -9278,8 +9254,7 @@ type PerfectionistSortModules = []|[{
|
|
|
9278
9254
|
} | string))
|
|
9279
9255
|
}[]
|
|
9280
9256
|
} | {
|
|
9281
|
-
|
|
9282
|
-
newlinesInside?: ("always" | "never")
|
|
9257
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9283
9258
|
|
|
9284
9259
|
fallbackSort?: {
|
|
9285
9260
|
|
|
@@ -9361,12 +9336,10 @@ type PerfectionistSortModules = []|[{
|
|
|
9361
9336
|
})
|
|
9362
9337
|
|
|
9363
9338
|
partitionByNewLine?: boolean
|
|
9364
|
-
|
|
9365
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9339
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9366
9340
|
|
|
9367
9341
|
groups?: (string | string[] | {
|
|
9368
|
-
|
|
9369
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9342
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9370
9343
|
|
|
9371
9344
|
commentAbove?: string
|
|
9372
9345
|
})[]
|
|
@@ -9398,8 +9371,7 @@ type PerfectionistSortNamedExports = {
|
|
|
9398
9371
|
ignoreAlias?: boolean
|
|
9399
9372
|
|
|
9400
9373
|
customGroups?: ({
|
|
9401
|
-
|
|
9402
|
-
newlinesInside?: ("always" | "never")
|
|
9374
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9403
9375
|
|
|
9404
9376
|
fallbackSort?: {
|
|
9405
9377
|
|
|
@@ -9432,8 +9404,7 @@ type PerfectionistSortNamedExports = {
|
|
|
9432
9404
|
} | string))
|
|
9433
9405
|
}[]
|
|
9434
9406
|
} | {
|
|
9435
|
-
|
|
9436
|
-
newlinesInside?: ("always" | "never")
|
|
9407
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9437
9408
|
|
|
9438
9409
|
fallbackSort?: {
|
|
9439
9410
|
|
|
@@ -9503,12 +9474,10 @@ type PerfectionistSortNamedExports = {
|
|
|
9503
9474
|
})
|
|
9504
9475
|
|
|
9505
9476
|
partitionByNewLine?: boolean
|
|
9506
|
-
|
|
9507
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9477
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9508
9478
|
|
|
9509
9479
|
groups?: (string | string[] | {
|
|
9510
|
-
|
|
9511
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9480
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9512
9481
|
|
|
9513
9482
|
commentAbove?: string
|
|
9514
9483
|
})[]
|
|
@@ -9540,8 +9509,7 @@ type PerfectionistSortNamedImports = {
|
|
|
9540
9509
|
ignoreAlias?: boolean
|
|
9541
9510
|
|
|
9542
9511
|
customGroups?: ({
|
|
9543
|
-
|
|
9544
|
-
newlinesInside?: ("always" | "never")
|
|
9512
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9545
9513
|
|
|
9546
9514
|
fallbackSort?: {
|
|
9547
9515
|
|
|
@@ -9574,8 +9542,7 @@ type PerfectionistSortNamedImports = {
|
|
|
9574
9542
|
} | string))
|
|
9575
9543
|
}[]
|
|
9576
9544
|
} | {
|
|
9577
|
-
|
|
9578
|
-
newlinesInside?: ("always" | "never")
|
|
9545
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9579
9546
|
|
|
9580
9547
|
fallbackSort?: {
|
|
9581
9548
|
|
|
@@ -9645,12 +9612,10 @@ type PerfectionistSortNamedImports = {
|
|
|
9645
9612
|
})
|
|
9646
9613
|
|
|
9647
9614
|
partitionByNewLine?: boolean
|
|
9648
|
-
|
|
9649
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9615
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9650
9616
|
|
|
9651
9617
|
groups?: (string | string[] | {
|
|
9652
|
-
|
|
9653
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9618
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9654
9619
|
|
|
9655
9620
|
commentAbove?: string
|
|
9656
9621
|
})[]
|
|
@@ -9680,8 +9645,7 @@ type PerfectionistSortObjectTypes = {
|
|
|
9680
9645
|
customGroups?: ({
|
|
9681
9646
|
[k: string]: (string | string[]) | undefined
|
|
9682
9647
|
} | ({
|
|
9683
|
-
|
|
9684
|
-
newlinesInside?: ("always" | "never")
|
|
9648
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9685
9649
|
|
|
9686
9650
|
fallbackSort?: {
|
|
9687
9651
|
|
|
@@ -9728,8 +9692,7 @@ type PerfectionistSortObjectTypes = {
|
|
|
9728
9692
|
sortBy?: ("name" | "value")
|
|
9729
9693
|
}[]
|
|
9730
9694
|
} | {
|
|
9731
|
-
|
|
9732
|
-
newlinesInside?: ("always" | "never")
|
|
9695
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9733
9696
|
|
|
9734
9697
|
fallbackSort?: {
|
|
9735
9698
|
|
|
@@ -9842,8 +9805,7 @@ type PerfectionistSortObjectTypes = {
|
|
|
9842
9805
|
})
|
|
9843
9806
|
|
|
9844
9807
|
partitionByNewLine?: boolean
|
|
9845
|
-
|
|
9846
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9808
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9847
9809
|
|
|
9848
9810
|
ignorePattern?: (({
|
|
9849
9811
|
|
|
@@ -9859,8 +9821,7 @@ type PerfectionistSortObjectTypes = {
|
|
|
9859
9821
|
sortBy?: ("name" | "value")
|
|
9860
9822
|
|
|
9861
9823
|
groups?: (string | string[] | {
|
|
9862
|
-
|
|
9863
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
9824
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
9864
9825
|
|
|
9865
9826
|
commentAbove?: string
|
|
9866
9827
|
})[]
|
|
@@ -9894,8 +9855,7 @@ type PerfectionistSortObjects = {
|
|
|
9894
9855
|
customGroups?: ({
|
|
9895
9856
|
[k: string]: (string | string[]) | undefined
|
|
9896
9857
|
} | ({
|
|
9897
|
-
|
|
9898
|
-
newlinesInside?: ("always" | "never")
|
|
9858
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9899
9859
|
|
|
9900
9860
|
fallbackSort?: {
|
|
9901
9861
|
|
|
@@ -9940,8 +9900,7 @@ type PerfectionistSortObjects = {
|
|
|
9940
9900
|
} | string))
|
|
9941
9901
|
}[]
|
|
9942
9902
|
} | {
|
|
9943
|
-
|
|
9944
|
-
newlinesInside?: ("always" | "never")
|
|
9903
|
+
newlinesInside?: (("always" | "never") | number)
|
|
9945
9904
|
|
|
9946
9905
|
fallbackSort?: {
|
|
9947
9906
|
|
|
@@ -10056,8 +10015,7 @@ type PerfectionistSortObjects = {
|
|
|
10056
10015
|
})
|
|
10057
10016
|
|
|
10058
10017
|
partitionByNewLine?: boolean
|
|
10059
|
-
|
|
10060
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10018
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10061
10019
|
|
|
10062
10020
|
ignorePattern?: (({
|
|
10063
10021
|
|
|
@@ -10072,8 +10030,7 @@ type PerfectionistSortObjects = {
|
|
|
10072
10030
|
} | string))
|
|
10073
10031
|
|
|
10074
10032
|
groups?: (string | string[] | {
|
|
10075
|
-
|
|
10076
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10033
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10077
10034
|
|
|
10078
10035
|
commentAbove?: string
|
|
10079
10036
|
})[]
|
|
@@ -10103,8 +10060,7 @@ type PerfectionistSortSets = {
|
|
|
10103
10060
|
groupKind?: ("mixed" | "literals-first" | "spreads-first")
|
|
10104
10061
|
|
|
10105
10062
|
customGroups?: ({
|
|
10106
|
-
|
|
10107
|
-
newlinesInside?: ("always" | "never")
|
|
10063
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10108
10064
|
|
|
10109
10065
|
fallbackSort?: {
|
|
10110
10066
|
|
|
@@ -10135,8 +10091,7 @@ type PerfectionistSortSets = {
|
|
|
10135
10091
|
} | string))
|
|
10136
10092
|
}[]
|
|
10137
10093
|
} | {
|
|
10138
|
-
|
|
10139
|
-
newlinesInside?: ("always" | "never")
|
|
10094
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10140
10095
|
|
|
10141
10096
|
fallbackSort?: {
|
|
10142
10097
|
|
|
@@ -10219,12 +10174,10 @@ type PerfectionistSortSets = {
|
|
|
10219
10174
|
})
|
|
10220
10175
|
|
|
10221
10176
|
partitionByNewLine?: boolean
|
|
10222
|
-
|
|
10223
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10177
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10224
10178
|
|
|
10225
10179
|
groups?: (string | string[] | {
|
|
10226
|
-
|
|
10227
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10180
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10228
10181
|
|
|
10229
10182
|
commentAbove?: string
|
|
10230
10183
|
})[]
|
|
@@ -10274,8 +10227,7 @@ type PerfectionistSortUnionTypes = {
|
|
|
10274
10227
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
10275
10228
|
|
|
10276
10229
|
customGroups?: ({
|
|
10277
|
-
|
|
10278
|
-
newlinesInside?: ("always" | "never")
|
|
10230
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10279
10231
|
|
|
10280
10232
|
fallbackSort?: {
|
|
10281
10233
|
|
|
@@ -10306,8 +10258,7 @@ type PerfectionistSortUnionTypes = {
|
|
|
10306
10258
|
} | string))
|
|
10307
10259
|
}[]
|
|
10308
10260
|
} | {
|
|
10309
|
-
|
|
10310
|
-
newlinesInside?: ("always" | "never")
|
|
10261
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10311
10262
|
|
|
10312
10263
|
fallbackSort?: {
|
|
10313
10264
|
|
|
@@ -10375,12 +10326,10 @@ type PerfectionistSortUnionTypes = {
|
|
|
10375
10326
|
})
|
|
10376
10327
|
|
|
10377
10328
|
partitionByNewLine?: boolean
|
|
10378
|
-
|
|
10379
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10329
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10380
10330
|
|
|
10381
10331
|
groups?: (string | string[] | {
|
|
10382
|
-
|
|
10383
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10332
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10384
10333
|
|
|
10385
10334
|
commentAbove?: string
|
|
10386
10335
|
})[]
|
|
@@ -10408,8 +10357,7 @@ type PerfectionistSortVariableDeclarations = []|[{
|
|
|
10408
10357
|
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted")
|
|
10409
10358
|
|
|
10410
10359
|
customGroups?: ({
|
|
10411
|
-
|
|
10412
|
-
newlinesInside?: ("always" | "never")
|
|
10360
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10413
10361
|
|
|
10414
10362
|
fallbackSort?: {
|
|
10415
10363
|
|
|
@@ -10440,8 +10388,7 @@ type PerfectionistSortVariableDeclarations = []|[{
|
|
|
10440
10388
|
} | string))
|
|
10441
10389
|
}[]
|
|
10442
10390
|
} | {
|
|
10443
|
-
|
|
10444
|
-
newlinesInside?: ("always" | "never")
|
|
10391
|
+
newlinesInside?: (("always" | "never") | number)
|
|
10445
10392
|
|
|
10446
10393
|
fallbackSort?: {
|
|
10447
10394
|
|
|
@@ -10509,12 +10456,10 @@ type PerfectionistSortVariableDeclarations = []|[{
|
|
|
10509
10456
|
})
|
|
10510
10457
|
|
|
10511
10458
|
partitionByNewLine?: boolean
|
|
10512
|
-
|
|
10513
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10459
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10514
10460
|
|
|
10515
10461
|
groups?: (string | string[] | {
|
|
10516
|
-
|
|
10517
|
-
newlinesBetween?: ("ignore" | "always" | "never")
|
|
10462
|
+
newlinesBetween?: (("ignore" | "always" | "never") | number)
|
|
10518
10463
|
|
|
10519
10464
|
commentAbove?: string
|
|
10520
10465
|
})[]
|
|
@@ -10970,6 +10915,10 @@ type VitestConsistentTestIt = []|[{
|
|
|
10970
10915
|
fn?: ("test" | "it")
|
|
10971
10916
|
withinDescribe?: ("test" | "it")
|
|
10972
10917
|
}]
|
|
10918
|
+
// ----- vitest/consistent-vitest-vi -----
|
|
10919
|
+
type VitestConsistentVitestVi = []|[{
|
|
10920
|
+
fn?: ("vi" | "vitest")
|
|
10921
|
+
}]
|
|
10973
10922
|
// ----- vitest/expect-expect -----
|
|
10974
10923
|
type VitestExpectExpect = []|[{
|
|
10975
10924
|
assertFunctionNames?: string[]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"ignorePatterns":["**/node_modules/","**/dist/","**/out/","**/output","**/.output","**/build/","**/*.min.*","**/.yarn/","**/.yarnrc.yml","**/package-lock.json","**/yarn.lock","**/bun.lock","**/bun.lockb","**/pnpm-lock.yaml","**/.vite-inspect","**/.vitepress/cache","**/vite.config.*.timestamp-*","**/*.log","**/npm-debug.log*","**/yarn-debug.log*","**/yarn-error.log*",".pnp.*","**/.pnp","**/.pnp.js","**/.pnp.cjs","**/coverage/","**/.nyc_output/","**/__snapshots__","**/.vscode/","**/.idea/","**/.cache","**/.nuxt","**/.next","**/.svelte-kit","**/.vercel","**/.changeset","**/.turbo/","**/.DS_Store","**/Thumbs.db","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/mockServiceWorker.js","**/CHANGELOG*.md","**/LICENSE*"],"plugins":["eslint","typescript","import","jsdoc","unicorn","vitest","react"],"rules":{"for-direction":"error","no-async-promise-executor":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-const-assign":"error","no-constant-binary-expression":"error","no-constant-condition":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-dupe-class-members":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":"error","no-empty-character-class":"error","no-empty-pattern":"error","no-empty-static-block":"error","no-ex-assign":"error","no-extra-boolean-cast":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-import-assign":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-loss-of-precision":"error","no-new-native-nonconstructor":"error","no-nonoctal-decimal-escape":"error","no-obj-calls":"error","no-prototype-builtins":"error","no-redeclare":"error","no-regex-spaces":"error","no-self-assign":"error","no-setter-return":"error","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-this-before-super":"error","no-unexpected-multiline":0,"no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":"error","no-unused-labels":"error","no-unused-private-class-members":"error","no-unused-vars":["error",{"args":"none","caughtErrors":"none","ignoreRestSiblings":true,"vars":"all"}],"no-useless-backreference":"error","no-useless-catch":"error","no-useless-escape":"error","no-with":"error","require-yield":"error","use-isnan":"error","valid-typeof":"error","array-callback-return":["error",{"allowImplicit":true}],"block-scoped-var":"error","curly":0,"default-case-last":"error","eqeqeq":"error","func-names":["error","as-needed"],"grouped-accessor-pairs":"error","max-lines":["warn",300],"max-params":["warn",4],"new-cap":["error",{"capIsNew":false}],"no-alert":"error","no-array-constructor":"error","no-bitwise":"error","no-caller":"error","no-console":"error","no-constructor-return":"error","no-else-return":"warn","no-eval":"error","no-extend-native":"error","no-extra-label":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"warn","no-multi-assign":"error","no-nested-ternary":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-proto":"error","no-return-assign":"error","no-script-url":"error","no-self-compare":"error","no-template-curly-in-string":"error","no-unneeded-ternary":"error","no-unused-expressions":"error","no-useless-call":"error","no-useless-concat":"error","no-useless-rename":"warn","no-var":"error","no-void":["error",{"allowAsStatement":true}],"prefer-numeric-literals":"error","prefer-object-has-own":"error","prefer-object-spread":"warn","prefer-promise-reject-errors":["error",{"allowEmptyReject":true}],"prefer-rest-params":"error","prefer-spread":"error","symbol-description":"error","yoda":"warn","import/namespace":"error","import/default":"error","import/no-named-as-default":"warn","import/no-named-as-default-member":"warn","import/no-duplicates":["error",{"prefer-inline":true}],"import/first":"error","import/no-absolute-path":"error","import/no-amd":"error","import/no-cycle":["error",{"ignoreExternal":false,"maxDepth":3}],"import/no-dynamic-require":"error","import/no-mutable-exports":"error","import/no-self-import":"error","jsdoc/check-access":"error","jsdoc/check-property-names":"error","jsdoc/check-tag-names":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/require-param":["error",{"checkDestructured":false,"enableRestElementFixer":false}],"jsdoc/require-param-description":"error","jsdoc/require-param-name":"error","jsdoc/require-param-type":"error","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-property-type":"error","jsdoc/require-returns":"error","jsdoc/require-returns-description":"error","jsdoc/require-returns-type":"error","jsdoc/require-yields":"error","no-negated-condition":"off","unicorn/catch-error-name":"error","unicorn/consistent-assert":"error","unicorn/consistent-date-clone":"error","unicorn/consistent-empty-array-spread":"error","unicorn/consistent-existence-index-check":"error","unicorn/consistent-function-scoping":"error","unicorn/empty-brace-spaces":"off","unicorn/error-message":"error","unicorn/escape-case":"error","unicorn/explicit-length-check":"error","unicorn/filename-case":["error",{"cases":{"camelCase":true,"kebabCase":true,"pascalCase":true}}],"unicorn/new-for-builtins":"error","unicorn/no-abusive-eslint-disable":"error","unicorn/no-accessor-recursion":"error","unicorn/no-anonymous-default-export":"error","unicorn/no-array-for-each":"error","unicorn/no-array-method-this-argument":"error","unicorn/no-array-reduce":"off","unicorn/no-await-expression-member":"error","unicorn/no-await-in-promise-methods":"error","unicorn/no-console-spaces":"error","unicorn/no-document-cookie":"error","unicorn/no-empty-file":"error","unicorn/no-hex-escape":"error","unicorn/no-instanceof-builtins":"error","unicorn/no-invalid-fetch-options":"error","unicorn/no-invalid-remove-event-listener":"error","unicorn/no-lonely-if":"error","unicorn/no-magic-array-flat-depth":"error","unicorn/no-negated-condition":"error","unicorn/no-negation-in-equality-check":"error","unicorn/no-nested-ternary":"off","unicorn/no-new-array":"error","unicorn/no-new-buffer":"error","unicorn/no-null":"off","unicorn/no-object-as-default-parameter":"error","unicorn/no-process-exit":"error","unicorn/no-single-promise-in-promise-methods":"error","unicorn/no-static-only-class":"error","unicorn/no-thenable":"error","unicorn/no-this-assignment":"error","unicorn/no-typeof-undefined":"error","unicorn/no-unnecessary-array-flat-depth":"error","unicorn/no-unnecessary-await":"error","unicorn/no-unnecessary-slice-end":"error","unicorn/no-unreadable-array-destructuring":"error","unicorn/no-unreadable-iife":"error","unicorn/no-useless-fallback-in-spread":"error","unicorn/no-useless-length-check":"error","unicorn/no-useless-promise-resolve-reject":"error","unicorn/no-useless-spread":"error","unicorn/no-useless-switch-case":"error","unicorn/no-useless-undefined":"error","unicorn/no-zero-fractions":"error","unicorn/number-literal-case":"off","unicorn/numeric-separators-style":"error","unicorn/prefer-add-event-listener":"error","unicorn/prefer-array-find":"error","unicorn/prefer-array-flat-map":"error","unicorn/prefer-array-flat":"error","unicorn/prefer-array-index-of":"error","unicorn/prefer-array-some":"error","unicorn/prefer-blob-reading-methods":"error","unicorn/prefer-code-point":"error","unicorn/prefer-date-now":"error","unicorn/prefer-dom-node-append":"error","unicorn/prefer-dom-node-dataset":"error","unicorn/prefer-dom-node-remove":"error","unicorn/prefer-dom-node-text-content":"error","unicorn/prefer-event-target":"error","unicorn/prefer-global-this":"error","unicorn/prefer-includes":"error","unicorn/prefer-logical-operator-over-ternary":"error","unicorn/prefer-math-min-max":"error","unicorn/prefer-math-trunc":"error","unicorn/prefer-modern-dom-apis":"error","unicorn/prefer-modern-math-apis":"error","unicorn/prefer-native-coercion-functions":"error","unicorn/prefer-negative-index":"error","unicorn/prefer-node-protocol":"error","unicorn/prefer-number-properties":["error",{"checkInfinity":true,"checkNaN":true}],"unicorn/prefer-object-from-entries":"error","unicorn/prefer-optional-catch-binding":"error","unicorn/prefer-prototype-methods":"error","unicorn/prefer-query-selector":"error","unicorn/prefer-reflect-apply":"error","unicorn/prefer-regexp-test":"error","unicorn/prefer-set-has":"error","unicorn/prefer-set-size":"error","unicorn/prefer-spread":"error","unicorn/prefer-string-raw":"error","unicorn/prefer-string-replace-all":"error","unicorn/prefer-string-slice":"error","unicorn/prefer-string-starts-ends-with":"error","unicorn/prefer-string-trim-start-end":"error","unicorn/prefer-structured-clone":"error","unicorn/prefer-type-error":"error","unicorn/require-array-join-separator":"error","unicorn/require-number-to-fixed-digits-argument":"error","unicorn/require-post-message-target-origin":"off","unicorn/switch-case-braces":"error","unicorn/text-encoding-identifier-case":"error","unicorn/throw-new-error":"error","sort-imports":"off"},"overrides":[{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"no-class-assign":"off","no-const-assign":"off","no-dupe-class-members":"off","no-dupe-keys":"off","no-func-assign":"off","no-import-assign":"off","no-new-native-nonconstructor":"off","no-obj-calls":"off","no-redeclare":"off","no-setter-return":"off","no-this-before-super":"off","no-unsafe-negation":"off","no-var":"error","no-with":"off","prefer-rest-params":"error","prefer-spread":"error","@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description"}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"error","@typescript-eslint/no-empty-object-type":["error",{"allowInterfaces":"always"}],"@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-extraneous-class":"error","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unsafe-function-type":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":"off","no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@typescript-eslint/no-wrapper-object-types":"error","@typescript-eslint/prefer-as-const":"error","@typescript-eslint/prefer-literal-enum-member":"error","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/triple-slash-reference":"error","@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/array-type":"error","@typescript-eslint/ban-tslint-comment":"error","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-indexed-object-style":"error","@typescript-eslint/consistent-type-definitions":"off","@typescript-eslint/no-confusing-non-null-assertion":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@typescript-eslint/no-inferrable-types":"error","@typescript-eslint/prefer-for-of":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/consistent-type-imports":["error",{"disallowTypeAnnotations":false,"fixStyle":"inline-type-imports","prefer":"type-imports"}],"@typescript-eslint/default-param-last":"error","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/no-dupe-class-members":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-redeclare":["error",{"builtinGlobals":false}],"@typescript-eslint/no-useless-empty-export":"warn"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"no-throw-literal":"off","prefer-promise-reject-errors":"off","require-await":"off"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"jsdoc/check-access":"error","jsdoc/check-property-names":"error","jsdoc/check-tag-names":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/require-param":["error",{"checkDestructured":false,"enableRestElementFixer":false}],"jsdoc/require-param-description":"error","jsdoc/require-param-name":"error","jsdoc/require-param-type":"off","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-property-type":"off","jsdoc/require-returns":"error","jsdoc/require-returns-description":"error","jsdoc/require-returns-type":"off","jsdoc/require-yields":"error"}},{"files":["**/__tests__/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.spec.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.test.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.bench.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.benchmark.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"vitest/expect-expect":"error","vitest/no-identical-title":"error","vitest/no-commented-out-tests":"error","vitest/valid-expect":"error","vitest/valid-describe-callback":"error","vitest/require-local-test-context-for-concurrent-snapshots":"error","vitest/no-import-node-test":"error","vitest/consistent-test-it":["error",{"fn":"it","withinDescribe":"it"}],"vitest/prefer-hooks-in-order":"error","vitest/prefer-lowercase-title":"error"}},{"files":["**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"react/jsx-no-duplicate-props":"warn","react/no-array-index-key":"warn","react/no-direct-mutation-state":"error","react/no-string-refs":"error","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"react/jsx-no-duplicate-props":"off","react/no-array-index-key":"warn","react/no-direct-mutation-state":"error","react/no-string-refs":"error"}},{"files":["**/scripts/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/tasks/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/bin/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/bin.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/cli/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/cli.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"no-console":"off","unicorn/no-process-exit":"off"}},{"files":["**/*.d.{ts,cts,mts}"],"rules":{"@typescript-eslint/consistent-indexed-object-style":"off","import/no-duplicates":"off"}},{"files":["**/*.config.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.config.*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"no-console":"off","@typescript-eslint/explicit-function-return-type":"off"}}]}
|
|
1
|
+
{"ignorePatterns":["**/node_modules/","**/dist/","**/out/","**/output","**/.output","**/build/","**/*.min.*","**/.yarn/","**/.yarnrc.yml","**/package-lock.json","**/yarn.lock","**/bun.lock","**/bun.lockb","**/pnpm-lock.yaml","**/.vite-inspect","**/.vitepress/cache","**/vite.config.*.timestamp-*","**/*.log","**/npm-debug.log*","**/yarn-debug.log*","**/yarn-error.log*",".pnp.*","**/.pnp","**/.pnp.js","**/.pnp.cjs","**/coverage/","**/.nyc_output/","**/__snapshots__","**/.vscode/","**/.idea/","**/.cache","**/.nuxt","**/.next","**/.svelte-kit","**/.vercel","**/.changeset","**/.turbo/","**/.DS_Store","**/Thumbs.db","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/mockServiceWorker.js","**/CHANGELOG*.md","**/LICENSE*"],"plugins":["eslint","typescript","import","jsdoc","unicorn","vitest","react"],"rules":{"for-direction":"error","no-async-promise-executor":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-const-assign":"error","no-constant-binary-expression":"error","no-constant-condition":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-dupe-class-members":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":"error","no-empty-character-class":"error","no-empty-pattern":"error","no-empty-static-block":"error","no-ex-assign":"error","no-extra-boolean-cast":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-import-assign":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-loss-of-precision":"error","no-new-native-nonconstructor":"error","no-nonoctal-decimal-escape":"error","no-obj-calls":"error","no-prototype-builtins":"error","no-redeclare":"error","no-regex-spaces":"error","no-self-assign":"error","no-setter-return":"error","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-this-before-super":"error","no-unexpected-multiline":0,"no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":"error","no-unused-labels":"error","no-unused-private-class-members":"error","no-unused-vars":["error",{"args":"none","caughtErrors":"none","ignoreRestSiblings":true,"vars":"all"}],"no-useless-backreference":"error","no-useless-catch":"error","no-useless-escape":"error","no-with":"error","require-yield":"error","use-isnan":"error","valid-typeof":"error","array-callback-return":["error",{"allowImplicit":true}],"block-scoped-var":"error","curly":0,"default-case-last":"error","eqeqeq":"error","func-names":["error","as-needed"],"grouped-accessor-pairs":"error","max-lines":["warn",300],"max-params":["warn",4],"new-cap":["error",{"capIsNew":false}],"no-alert":"error","no-array-constructor":"error","no-bitwise":"error","no-caller":"error","no-console":"error","no-constructor-return":"error","no-else-return":"warn","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"warn","no-multi-assign":"error","no-nested-ternary":"off","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-proto":"error","no-return-assign":"error","no-script-url":"error","no-self-compare":"error","no-template-curly-in-string":"error","no-unneeded-ternary":"error","no-unused-expressions":"error","no-useless-call":"error","no-useless-concat":"error","no-useless-rename":"warn","no-var":"error","no-void":["error",{"allowAsStatement":true}],"prefer-numeric-literals":"error","prefer-object-has-own":"error","prefer-object-spread":"warn","prefer-promise-reject-errors":["error",{"allowEmptyReject":true}],"prefer-rest-params":"error","prefer-spread":"error","symbol-description":"error","yoda":"warn","import/namespace":"error","import/default":"error","import/no-named-as-default":"warn","import/no-named-as-default-member":"warn","import/no-duplicates":["error",{"prefer-inline":true}],"import/first":"error","import/no-absolute-path":"error","import/no-amd":"error","import/no-cycle":["error",{"ignoreExternal":false,"maxDepth":3}],"import/no-dynamic-require":"error","import/no-mutable-exports":"error","import/no-self-import":"error","jsdoc/check-access":"error","jsdoc/check-property-names":"error","jsdoc/check-tag-names":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/require-param":["error",{"checkDestructured":false,"enableRestElementFixer":false}],"jsdoc/require-param-description":"error","jsdoc/require-param-name":"error","jsdoc/require-param-type":"error","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-property-type":"error","jsdoc/require-returns":"error","jsdoc/require-returns-description":"error","jsdoc/require-returns-type":"error","jsdoc/require-yields":"error","no-negated-condition":"off","unicorn/catch-error-name":"error","unicorn/consistent-assert":"error","unicorn/consistent-date-clone":"error","unicorn/consistent-empty-array-spread":"error","unicorn/consistent-existence-index-check":"error","unicorn/consistent-function-scoping":"error","unicorn/empty-brace-spaces":"off","unicorn/error-message":"error","unicorn/escape-case":"error","unicorn/explicit-length-check":"error","unicorn/filename-case":["error",{"cases":{"camelCase":true,"kebabCase":true,"pascalCase":true}}],"unicorn/new-for-builtins":"error","unicorn/no-abusive-eslint-disable":"error","unicorn/no-accessor-recursion":"error","unicorn/no-anonymous-default-export":"error","unicorn/no-array-for-each":"error","unicorn/no-array-method-this-argument":"error","unicorn/no-array-reduce":"off","unicorn/no-await-expression-member":"error","unicorn/no-await-in-promise-methods":"error","unicorn/no-console-spaces":"error","unicorn/no-document-cookie":"error","unicorn/no-empty-file":"error","unicorn/no-hex-escape":"error","unicorn/no-instanceof-builtins":"error","unicorn/no-invalid-fetch-options":"error","unicorn/no-invalid-remove-event-listener":"error","unicorn/no-lonely-if":"error","unicorn/no-magic-array-flat-depth":"error","unicorn/no-negated-condition":"error","unicorn/no-negation-in-equality-check":"error","unicorn/no-nested-ternary":"off","unicorn/no-new-array":"error","unicorn/no-new-buffer":"error","unicorn/no-null":"off","unicorn/no-object-as-default-parameter":"error","unicorn/no-process-exit":"error","unicorn/no-single-promise-in-promise-methods":"error","unicorn/no-static-only-class":"error","unicorn/no-thenable":"error","unicorn/no-this-assignment":"error","unicorn/no-typeof-undefined":"error","unicorn/no-unnecessary-array-flat-depth":"error","unicorn/no-unnecessary-await":"error","unicorn/no-unnecessary-slice-end":"error","unicorn/no-unreadable-array-destructuring":"error","unicorn/no-unreadable-iife":"error","unicorn/no-useless-fallback-in-spread":"error","unicorn/no-useless-length-check":"error","unicorn/no-useless-promise-resolve-reject":"error","unicorn/no-useless-spread":"error","unicorn/no-useless-switch-case":"error","unicorn/no-useless-undefined":"error","unicorn/no-zero-fractions":"error","unicorn/number-literal-case":"off","unicorn/numeric-separators-style":"error","unicorn/prefer-add-event-listener":"error","unicorn/prefer-array-find":"error","unicorn/prefer-array-flat-map":"error","unicorn/prefer-array-flat":"error","unicorn/prefer-array-index-of":"error","unicorn/prefer-array-some":"error","unicorn/prefer-blob-reading-methods":"error","unicorn/prefer-code-point":"error","unicorn/prefer-date-now":"error","unicorn/prefer-dom-node-append":"error","unicorn/prefer-dom-node-dataset":"error","unicorn/prefer-dom-node-remove":"error","unicorn/prefer-dom-node-text-content":"error","unicorn/prefer-event-target":"error","unicorn/prefer-global-this":"error","unicorn/prefer-includes":"error","unicorn/prefer-logical-operator-over-ternary":"error","unicorn/prefer-math-min-max":"error","unicorn/prefer-math-trunc":"error","unicorn/prefer-modern-dom-apis":"error","unicorn/prefer-modern-math-apis":"error","unicorn/prefer-native-coercion-functions":"error","unicorn/prefer-negative-index":"error","unicorn/prefer-node-protocol":"error","unicorn/prefer-number-properties":["error",{"checkInfinity":true,"checkNaN":true}],"unicorn/prefer-object-from-entries":"error","unicorn/prefer-optional-catch-binding":"error","unicorn/prefer-prototype-methods":"error","unicorn/prefer-query-selector":"error","unicorn/prefer-reflect-apply":"error","unicorn/prefer-regexp-test":"error","unicorn/prefer-set-has":"error","unicorn/prefer-set-size":"error","unicorn/prefer-spread":"error","unicorn/prefer-string-raw":"error","unicorn/prefer-string-replace-all":"error","unicorn/prefer-string-slice":"error","unicorn/prefer-string-starts-ends-with":"error","unicorn/prefer-string-trim-start-end":"error","unicorn/prefer-structured-clone":"error","unicorn/prefer-type-error":"error","unicorn/require-array-join-separator":"error","unicorn/require-number-to-fixed-digits-argument":"error","unicorn/require-post-message-target-origin":"off","unicorn/switch-case-braces":"error","unicorn/text-encoding-identifier-case":"error","unicorn/throw-new-error":"error","sort-imports":"off"},"overrides":[{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"no-class-assign":"off","no-const-assign":"off","no-dupe-class-members":"off","no-dupe-keys":"off","no-func-assign":"off","no-import-assign":"off","no-new-native-nonconstructor":"off","no-obj-calls":"off","no-redeclare":"off","no-setter-return":"off","no-this-before-super":"off","no-unsafe-negation":"off","no-var":"error","no-with":"off","prefer-rest-params":"error","prefer-spread":"error","@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description"}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-dynamic-delete":"error","@typescript-eslint/no-empty-object-type":["error",{"allowInterfaces":"always"}],"@typescript-eslint/no-explicit-any":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-extraneous-class":"error","@typescript-eslint/no-misused-new":"error","@typescript-eslint/no-namespace":"error","@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-non-null-assertion":"error","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":"error","@typescript-eslint/no-unnecessary-type-constraint":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/no-unsafe-function-type":"error","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":"off","no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@typescript-eslint/no-wrapper-object-types":"error","@typescript-eslint/prefer-as-const":"error","@typescript-eslint/prefer-literal-enum-member":"error","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/triple-slash-reference":"error","@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/array-type":"error","@typescript-eslint/ban-tslint-comment":"error","@typescript-eslint/consistent-generic-constructors":"error","@typescript-eslint/consistent-indexed-object-style":"error","@typescript-eslint/consistent-type-definitions":"off","@typescript-eslint/no-confusing-non-null-assertion":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@typescript-eslint/no-inferrable-types":"error","@typescript-eslint/prefer-for-of":"error","@typescript-eslint/prefer-function-type":"error","@typescript-eslint/consistent-type-imports":["error",{"disallowTypeAnnotations":false,"fixStyle":"inline-type-imports","prefer":"type-imports"}],"@typescript-eslint/default-param-last":"error","@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/no-dupe-class-members":"error","@typescript-eslint/no-import-type-side-effects":"error","@typescript-eslint/no-redeclare":["error",{"builtinGlobals":false}],"@typescript-eslint/no-useless-empty-export":"warn"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"no-throw-literal":"off","prefer-promise-reject-errors":"off","require-await":"off"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"jsdoc/check-access":"error","jsdoc/check-property-names":"error","jsdoc/check-tag-names":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/require-param":["error",{"checkDestructured":false,"enableRestElementFixer":false}],"jsdoc/require-param-description":"error","jsdoc/require-param-name":"error","jsdoc/require-param-type":"off","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-property-type":"off","jsdoc/require-returns":"error","jsdoc/require-returns-description":"error","jsdoc/require-returns-type":"off","jsdoc/require-yields":"error"}},{"files":["**/__tests__/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.spec.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.test.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.bench.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.benchmark.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"vitest/expect-expect":"error","vitest/no-identical-title":"error","vitest/no-commented-out-tests":"error","vitest/valid-expect":"error","vitest/valid-describe-callback":"error","vitest/require-local-test-context-for-concurrent-snapshots":"error","vitest/no-import-node-test":"error","vitest/consistent-test-it":["error",{"fn":"it","withinDescribe":"it"}],"vitest/prefer-hooks-in-order":"error","vitest/prefer-lowercase-title":"error"}},{"files":["**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"react/jsx-no-duplicate-props":"warn","react/no-array-index-key":"warn","react/no-direct-mutation-state":"error","react/no-string-refs":"error","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn"}},{"files":["**/*.{ts,cts,mts}","**/*.{tsx,ctsx,mtsx}"],"rules":{"react/jsx-no-duplicate-props":"off","react/no-array-index-key":"warn","react/no-direct-mutation-state":"error","react/no-string-refs":"error"}},{"files":["**/scripts/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/tasks/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/bin/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/bin.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/cli/**/*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/cli.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"no-console":"off","unicorn/no-process-exit":"off"}},{"files":["**/*.d.{ts,cts,mts}"],"rules":{"@typescript-eslint/consistent-indexed-object-style":"off","import/no-duplicates":"off"}},{"files":["**/*.config.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}","**/*.config.*.{js,jsx,cjs,cjsx,mjs,mjsx,ts,tsx,cts,ctsx,mts,mtjsx}"],"rules":{"no-console":"off","@typescript-eslint/explicit-function-return-type":"off"}}]}
|
package/dist/ts/utils.d.ts
CHANGED
|
@@ -1,34 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Utility type that takes an object type and makes the hover overlay more readable.
|
|
3
|
+
*
|
|
4
|
+
* @see https://www.totaltypescript.com/concepts/the-prettify-helper
|
|
5
|
+
*/
|
|
6
|
+
export type Prettify<T> = {
|
|
7
|
+
[K in keyof T]: T[K];
|
|
3
8
|
} & {};
|
|
9
|
+
|
|
10
|
+
// Utility types for entries in various data structures
|
|
4
11
|
type ObjectEntry<Base> = [keyof Base, Base[keyof Base]];
|
|
5
12
|
type ArrayEntry<Base extends readonly unknown[]> = [number, Base[number]];
|
|
6
13
|
type SetEntry<Base> = Base extends Set<infer V> ? [V, V] : never;
|
|
7
14
|
type MapEntry<Base> = Base extends Map<infer K, infer V> ? [K, V] : never;
|
|
8
|
-
type Entry<BaseType> = BaseType extends Map<unknown, unknown>
|
|
15
|
+
type Entry<BaseType> = BaseType extends Map<unknown, unknown>
|
|
16
|
+
? MapEntry<BaseType>
|
|
17
|
+
: BaseType extends Set<unknown>
|
|
18
|
+
? SetEntry<BaseType>
|
|
19
|
+
: BaseType extends readonly unknown[]
|
|
20
|
+
? ArrayEntry<BaseType>
|
|
21
|
+
: BaseType extends object
|
|
22
|
+
? ObjectEntry<BaseType>
|
|
23
|
+
: never;
|
|
24
|
+
|
|
9
25
|
/**
|
|
10
|
-
* Utility
|
|
26
|
+
* Utility type to make `Object.entries` type-safe.
|
|
11
27
|
*
|
|
12
|
-
* @
|
|
13
|
-
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const typedObjectEntries: ObjectEntries = Object.entries;
|
|
31
|
+
* ```
|
|
14
32
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
export type ObjectEntries = <T extends object>(obj: T) => Entry<T>[];
|
|
34
|
+
|
|
35
|
+
// Utilities for handling unions and intersections in TypeScript
|
|
36
|
+
type IsUnion<T, U extends T = T> = T extends unknown
|
|
37
|
+
? [U] extends [T]
|
|
38
|
+
? false
|
|
39
|
+
: true
|
|
40
|
+
: false;
|
|
17
41
|
type IfUnion<T, Yes, No> = true extends IsUnion<T> ? Yes : No;
|
|
18
|
-
type UnionToIntersection<U> = (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
type UnionToIntersection<U> = (
|
|
43
|
+
U extends unknown
|
|
44
|
+
? (k: U) => void
|
|
45
|
+
: never
|
|
46
|
+
) extends (k: infer I) => void
|
|
47
|
+
? I
|
|
48
|
+
: never;
|
|
49
|
+
type InferKeyOptionalityFromTupleType<
|
|
50
|
+
T extends readonly [PropertyKey, unknown],
|
|
51
|
+
> = UnionToIntersection<
|
|
52
|
+
T extends [unknown, unknown]
|
|
53
|
+
? { [K in T[0]]?: unknown }
|
|
54
|
+
: IfUnion<T[0], { [K in T[0]]?: unknown }, { [K in T[0]]: unknown }>
|
|
55
|
+
>;
|
|
56
|
+
|
|
26
57
|
/**
|
|
27
|
-
* Utility
|
|
58
|
+
* Utility type to make `Object.fromEntries` type-safe.
|
|
28
59
|
*
|
|
29
|
-
* @
|
|
30
|
-
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const typedObjectFromEntries: ObjectFromEntries = Object.fromEntries;
|
|
63
|
+
* ```
|
|
31
64
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
65
|
+
export type ObjectFromEntries = <
|
|
66
|
+
T extends readonly [...(readonly (readonly [PropertyKey, unknown])[])],
|
|
67
|
+
>(
|
|
68
|
+
entries: T
|
|
69
|
+
) => T extends [...T[number][]]
|
|
70
|
+
? {
|
|
71
|
+
[K in T[number][0]]?: (readonly [K, T[number][1]] & T[number])[1];
|
|
72
|
+
}
|
|
73
|
+
: {
|
|
74
|
+
[K in keyof InferKeyOptionalityFromTupleType<T[number]>]: (readonly [
|
|
75
|
+
K,
|
|
76
|
+
T[number][1],
|
|
77
|
+
] &
|
|
78
|
+
T[number])[1];
|
|
79
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"name": "@yunarch/config-web",
|
|
5
5
|
"description": "Shared configurations for web projects.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,11 +45,8 @@
|
|
|
45
45
|
"./oxlint": "./dist/linters/oxlint.config.json",
|
|
46
46
|
"./biome-formatter": "./dist/formatters/biome.config.json",
|
|
47
47
|
"./tsconfig-base": "./dist/ts/tsconfig-base.json",
|
|
48
|
-
"./reset.d.ts": "./dist/ts/reset.d.ts",
|
|
49
|
-
"./ts-utils":
|
|
50
|
-
"types": "./dist/ts/ts-utils.d.ts",
|
|
51
|
-
"default": "./dist/ts/ts-utils.js"
|
|
52
|
-
}
|
|
48
|
+
"./ts-reset.d.ts": "./dist/ts/reset.d.ts",
|
|
49
|
+
"./ts-utils.d.ts": "./dist/ts/utils.d.ts"
|
|
53
50
|
},
|
|
54
51
|
"type": "module",
|
|
55
52
|
"scripts": {
|
|
@@ -71,10 +68,10 @@
|
|
|
71
68
|
"release": "bun run lint && bun run test && bun publish --dry-run && bunx bumpp && bun run build && bun publish"
|
|
72
69
|
},
|
|
73
70
|
"peerDependencies": {
|
|
74
|
-
"@biomejs/biome": ">= 1 || < 2",
|
|
71
|
+
"@biomejs/biome": ">= 1.9 || < 2",
|
|
75
72
|
"prettier": ">= 3 || < 4",
|
|
76
73
|
"eslint": ">=9.5.0 || < 10",
|
|
77
|
-
"oxlint": ">=0.16.2 || <
|
|
74
|
+
"oxlint": ">=0.16.2 || < 2"
|
|
78
75
|
},
|
|
79
76
|
"peerDependenciesMeta": {
|
|
80
77
|
"@biomejs/biome": {
|
|
@@ -100,42 +97,42 @@
|
|
|
100
97
|
"eslint-flat-config-utils": "2.1.0",
|
|
101
98
|
"eslint-config-flat-gitignore": "2.1.0",
|
|
102
99
|
"eslint-import-resolver-typescript": "4.4.3",
|
|
103
|
-
"@eslint/js": "9.
|
|
104
|
-
"typescript-eslint": "8.34.
|
|
100
|
+
"@eslint/js": "9.29.0",
|
|
101
|
+
"typescript-eslint": "8.34.1",
|
|
105
102
|
"eslint-plugin-unicorn": "59.0.1",
|
|
106
|
-
"eslint-plugin-perfectionist": "4.
|
|
107
|
-
"eslint-plugin-import-x": "4.15.
|
|
103
|
+
"eslint-plugin-perfectionist": "4.15.0",
|
|
104
|
+
"eslint-plugin-import-x": "4.15.2",
|
|
108
105
|
"eslint-plugin-unused-imports": "4.1.4",
|
|
109
|
-
"eslint-plugin-jsdoc": "
|
|
106
|
+
"eslint-plugin-jsdoc": "51.0.3",
|
|
110
107
|
"eslint-config-prettier": "10.1.5",
|
|
111
|
-
"eslint-plugin-oxlint": "
|
|
112
|
-
"@eslint-react/eslint-plugin": "1.
|
|
108
|
+
"eslint-plugin-oxlint": "1.2.0",
|
|
109
|
+
"@eslint-react/eslint-plugin": "1.52.2",
|
|
113
110
|
"eslint-plugin-react-hooks": "5.2.0",
|
|
114
111
|
"eslint-plugin-react-refresh": "0.4.20",
|
|
115
112
|
"@tanstack/eslint-plugin-query": "5.78.0",
|
|
116
|
-
"@tanstack/eslint-plugin-router": "1.
|
|
117
|
-
"@vitest/eslint-plugin": "1.2.
|
|
113
|
+
"@tanstack/eslint-plugin-router": "1.121.21",
|
|
114
|
+
"@vitest/eslint-plugin": "1.2.5"
|
|
118
115
|
},
|
|
119
116
|
"devDependencies": {
|
|
120
117
|
"@commitlint/cli": "19.8.1",
|
|
121
118
|
"@commitlint/config-conventional": "19.8.1",
|
|
122
119
|
"prettier": "3.5.3",
|
|
123
120
|
"@biomejs/biome": "1.9.4",
|
|
124
|
-
"eslint": "9.
|
|
121
|
+
"eslint": "9.29.0",
|
|
125
122
|
"eslint-typegen": "2.2.0",
|
|
126
|
-
"oxlint": "
|
|
123
|
+
"oxlint": "1.2.0",
|
|
127
124
|
"husky": "9.1.7",
|
|
128
|
-
"lint-staged": "16.1.
|
|
125
|
+
"lint-staged": "16.1.2",
|
|
129
126
|
"rimraf": "6.0.1",
|
|
130
127
|
"tsup": "8.5.0",
|
|
131
128
|
"typescript": "5.8.3",
|
|
132
|
-
"vitest": "3.2.
|
|
129
|
+
"vitest": "3.2.4",
|
|
133
130
|
"jsonc-parser": "3.3.1",
|
|
134
|
-
"@types/node": "24.0.
|
|
135
|
-
"@types/bun": "1.2.
|
|
131
|
+
"@types/node": "24.0.3",
|
|
132
|
+
"@types/bun": "1.2.16"
|
|
136
133
|
},
|
|
134
|
+
"packageManager": "bun@1.2.16",
|
|
137
135
|
"publishConfig": {
|
|
138
136
|
"access": "public"
|
|
139
|
-
}
|
|
140
|
-
"packageManager": "bun@1.2.15"
|
|
137
|
+
}
|
|
141
138
|
}
|
package/dist/ts/utils.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function r(e){return Object.entries(e)}function y(e){return Object.fromEntries(e)}export{r as typedObjectEntries,y as typedObjectFromEntries};
|