eslint-config-vylda-typescript 6.2.1 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/Changelog.md +63 -0
  2. package/README.md +331 -160
  3. package/dist/constants.d.ts +13 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +12 -0
  6. package/dist/index.d.ts +34 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +139 -0
  9. package/dist/rules/baseTs.d.ts +4 -0
  10. package/dist/rules/baseTs.d.ts.map +1 -0
  11. package/dist/rules/baseTs.js +468 -0
  12. package/dist/rules/best-practices.d.ts +4 -0
  13. package/dist/rules/best-practices.d.ts.map +1 -0
  14. package/dist/rules/best-practices.js +57 -0
  15. package/dist/rules/errors.d.ts +4 -0
  16. package/dist/rules/errors.d.ts.map +1 -0
  17. package/dist/rules/errors.js +10 -0
  18. package/dist/rules/es6.d.ts +4 -0
  19. package/dist/rules/es6.d.ts.map +1 -0
  20. package/dist/rules/es6.js +10 -0
  21. package/dist/rules/imports.d.ts +18 -0
  22. package/dist/rules/imports.d.ts.map +1 -0
  23. package/dist/rules/imports.js +72 -0
  24. package/dist/rules/index.d.ts +12 -0
  25. package/dist/rules/index.d.ts.map +1 -0
  26. package/dist/rules/index.js +11 -0
  27. package/dist/rules/off.d.ts +4 -0
  28. package/dist/rules/off.d.ts.map +1 -0
  29. package/dist/rules/off.js +134 -0
  30. package/dist/rules/plus.d.ts +4 -0
  31. package/dist/rules/plus.d.ts.map +1 -0
  32. package/dist/rules/plus.js +47 -0
  33. package/dist/rules/strictTs.d.ts +4 -0
  34. package/dist/rules/strictTs.d.ts.map +1 -0
  35. package/dist/rules/strictTs.js +106 -0
  36. package/dist/rules/stylisticTs.d.ts +4 -0
  37. package/dist/rules/stylisticTs.d.ts.map +1 -0
  38. package/dist/rules/stylisticTs.js +294 -0
  39. package/dist/rules/typescriptConfig.d.ts +4 -0
  40. package/dist/rules/typescriptConfig.d.ts.map +1 -0
  41. package/dist/rules/typescriptConfig.js +20 -0
  42. package/dist/rules/variablesTs.d.ts +4 -0
  43. package/dist/rules/variablesTs.d.ts.map +1 -0
  44. package/dist/rules/variablesTs.js +88 -0
  45. package/dist/types.d.ts +12 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +1 -0
  48. package/dist/utils/configByName.d.ts +5 -0
  49. package/dist/utils/configByName.d.ts.map +1 -0
  50. package/dist/utils/configByName.js +5 -0
  51. package/dist/utils/importExtensions.d.ts +5 -0
  52. package/dist/utils/importExtensions.d.ts.map +1 -0
  53. package/dist/utils/importExtensions.js +11 -0
  54. package/dist/utils/ruleEntry.d.ts +4 -0
  55. package/dist/utils/ruleEntry.d.ts.map +1 -0
  56. package/dist/utils/ruleEntry.js +5 -0
  57. package/dist/utils/tsConfigPath.d.ts +3 -0
  58. package/dist/utils/tsConfigPath.d.ts.map +1 -0
  59. package/dist/utils/tsConfigPath.js +10 -0
  60. package/dist/utils/typeGuards.d.ts +5 -0
  61. package/dist/utils/typeGuards.d.ts.map +1 -0
  62. package/dist/utils/typeGuards.js +14 -0
  63. package/package.json +58 -34
  64. package/.editorconfig +0 -12
  65. package/.gitlab-ci.yml +0 -13
  66. package/.husky/pre-commit +0 -1
  67. package/.husky/pre-push +0 -1
  68. package/.vscode/extensions.json +0 -8
  69. package/.vscode/settings.json +0 -6
  70. package/directory.mjs +0 -3
  71. package/empty.ts +0 -0
  72. package/eslint.config.mjs +0 -89
  73. package/index.d.ts +0 -58
  74. package/index.js +0 -177
  75. package/rules/defaultTs.mjs +0 -683
  76. package/rules/imports.mjs +0 -119
  77. package/rules/index.mjs +0 -10
  78. package/rules/off.mjs +0 -65
  79. package/rules/plus.mjs +0 -22
  80. package/rules/strictTs.mjs +0 -133
  81. package/rules/stylisticTs.mjs +0 -528
  82. package/rules/typescriptConfig.mjs +0 -16
  83. package/rules/vanillaConfig.mjs +0 -26
  84. package/rules/variablesTs.mjs +0 -129
  85. package/tsconfig.json +0 -23
package/Changelog.md CHANGED
@@ -4,6 +4,69 @@ All notable changes to this component will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [7.0.1] - 2026-09-21
8
+ ### Added
9
+ - `ts` script (`tsc --noEmit --pretty`), a faster standalone type-check against the root `tsconfig.json` for use while iterating and in CI/pre-commit [Vilda Lipold]
10
+ - `TConfig`, `TGetConfigOptions`, `TGetTsImportConfigOptions`, `TPlugin` and `TPlugins` types are now re-exported from the package entrypoint, documented in the README next to the rest of the public API [Vilda Lipold]
11
+ ### Changed
12
+ - `lint` script now runs `npm run ts` before `eslint .`[Vilda Lipold]
13
+ ### Updated
14
+ - Packages
15
+ - eslint (10.11.0)
16
+ - typescript-eslint (8.70.1)
17
+
18
+ ## [7.0.0] - 2026-09-20
19
+ ### Added
20
+ - `importResolverAlias` option for `getConfig()` and `getImportConfig()` and `defaultImportResolverAlias` export, forwarded to vanilla for configuring path aliases (`@/...`); the aliased paths resolve with this package's TypeScript extensions, so `@/foo` finds `foo.ts` [Vilda Lipold]
21
+ - `includeOffRules` option for `getImportConfig()`, defaulting to `true` [Vilda Lipold]
22
+ - `off` config is now split into named per-category blocks (`typescript eslint/off/<category>`), and every rule in it documents the `@typescript-eslint` rule that replaces it or why no replacement is needed [Vilda Lipold]
23
+ - `offImports` export with the `off` block for import rules, so it can be applied to TypeScript files only [Vilda Lipold]
24
+ - Rules
25
+ - @typescript-eslint/no-generated-empty-object-type: error [Vilda Lipold]
26
+ - Some colors in fix-extensions script for better visibility in the console [Vilda Lipold]
27
+ - `vanillaBaseConfigs` export grouping the pure, unmodified vanilla rule-set configs under their original vanilla names [Vilda Lipold]
28
+ ### Changed
29
+ - `eslint` moved from `dependencies` to `devDependencies`; the published package needs it only for types, so it no longer pulls a second copy of ESLint into consuming projects [Vilda Lipold]
30
+ - `description` in `package.json` now matches the README [Vilda Lipold]
31
+ - `@typescript-eslint/no-magic-numbers` options are read from vanilla's `no-magic-numbers` instead of a hardcoded copy that had drifted [Vilda Lipold]
32
+ - Default `getConfig()` now also applies vanilla's `plus` rules to plain JS/CJS/MJS files, not just TypeScript files [Vilda Lipold]
33
+ - `getConfig()` composes the vanilla rule sets in the same order as `eslint-config-vylda-vanilla` [Vilda Lipold]
34
+ - Refactor to Typescript [Vilda Lipold]
35
+ - Repository transfer to a new namespace [Vilda Lipold]
36
+ - Rules
37
+ - `@typescript-eslint/prefer-nullish-coalescing` now ignores string primitives [Vilda Lipold]
38
+ - Top-level rule-set exports (`base`, `bestPractices`, `errors`, `es6`, `plus`, `strict`, `stylistic`, `variables`) now combine the vanilla rules with this package's TypeScript updates and additions; use `vanillaBaseConfigs.<name>` for the untouched vanilla version [Vilda Lipold]
39
+ - TypeScript import resolver is registered through `import-x/resolver-next` instead of the legacy `settings['import/resolver'].typescript` key, and is placed ahead of vanilla's node resolver, which stays as the fallback [Vilda Lipold]
40
+ ### Fixed
41
+ - Rules
42
+ - `@stylistic/curly-newline` TypeScript enhancement (`TSModuleBlock`) moved into `plus.ts`, where it's defined together with the base rule instead of depending on config array order [Vilda Lipold]
43
+ - `@stylistic/lines-between-class-members` TypeScript enhancement (`exceptAfterOverload`) was never applied because it assumed a 2-element rule value while the base rule has 3; now handled independently of whether the exceptions object is present [Vilda Lipold]
44
+ - `@stylistic/object-curly-newline` TypeScript enhancements (`TSEnumBody`, `TSInterfaceBody`, `TSTypeLiteral`) were never applied because the rule was being read from the wrong base config [Vilda Lipold]
45
+ - `import-x/named` and `import-x/no-named-as-default-member` were disabled on plain JS/CJS/MJS files, where no TypeScript rule replaces them [Vilda Lipold]
46
+ - `no-shadow`, `no-undef`, `no-unused-vars` and `no-use-before-define` were disabled on plain JS/CJS/MJS files, where no TypeScript rule replaces them [Vilda Lipold]
47
+ - `off` rules for best practices were never applied, so 13 core rules kept reporting alongside their `@typescript-eslint` counterparts on TypeScript files [Vilda Lipold]
48
+ ### Removed
49
+ - `getVanillaConfig`, an unused helper that had no consumer since the TypeScript migration [Vilda Lipold]
50
+ - Packages
51
+ - @types/espree (espree 11 ships its own type definitions) [Vilda Lipold]
52
+ - tslib (unused; the build does not set `importHelpers`) [Vilda Lipold]
53
+ - Rules
54
+ - @typescript-eslint/no-restricted-imports (deprecated since typescript-eslint 8.64.0; the core `no-restricted-imports` rule now applies as-is on both JavaScript and TypeScript files) [Vilda Lipold]
55
+ - @typescript-eslint/no-loop-func (deprecated since typescript-eslint 8.64.0; the core `no-loop-func` rule now applies as-is on both JavaScript and TypeScript files) [Vilda Lipold]
56
+ ### Updated
57
+ - Packages
58
+ - @eslint/config-inspector (3.5.0) [Vilda Lipold]
59
+ - @types/node (24.13.5) [Vilda Lipold]
60
+ - eslint (10.10.0) [Vilda Lipold]
61
+ - eslint-config-vylda-vanilla package (6.0.0) [Vilda Lipold]
62
+ - eslint-import-resolver-typescript (4.4.5) [Vilda Lipold]
63
+ - typescript (6.0.3) [Vilda Lipold]
64
+ - typescript-eslint (8.70.0) [Vilda Lipold]
65
+ ### BREAKING
66
+ - The `tsConfig` export is renamed to `tsConfigs`, for symmetry with `vanillaConfigs` and so it is not misread as the TypeScript compiler configuration. The old name is gone, not deprecated. [Vilda Lipold]
67
+ - The `off` config now disables `import-x/named` and `import-x/no-named-as-default-member` instead of `import/named` and `import/no-named-as-default-member`, following vanilla's move from eslint-plugin-import to eslint-plugin-import-x. Anything that re-enabled, overrode or asserted on the old rule ids has to be renamed; left under the old name it is a no-op and the `import-x` rule keeps reporting on TypeScript files. [Vilda Lipold]
68
+ - The TypeScript resolver can no longer be configured or overridden via raw `settings['import/resolver'].typescript` — `import-x/resolver-next` takes exclusive precedence over the legacy `import-x/resolver` / `import/resolver` settings keys, so anything set there is silently ignored. Pass `tsConfigPath` to `getImportConfig()` for the `project` option, and use the new `importResolverAlias` option for path aliases. [Vilda Lipold]
69
+
7
70
  ## [6.2.1] - 2026-01-23
8
71
  ### Fixed
9
72
  - readme file [Vilda Lipold]