eslint-config-vylda-typescript 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Changelog.md CHANGED
@@ -4,6 +4,26 @@ 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.2] - 2026-09-26
8
+ ### Added
9
+ - Integration tests that count rules from `src/rules/*.ts` through the TypeScript AST and verify that the built `getConfig()` applies every expected rule to the `files`, `tsFiles` and `barrelsFiles` extensions via `calculateConfigForFile()` [Vilda Lipold]
10
+ ### Changed
11
+ - TypeScript now enables `noUncheckedIndexedAccess`; potentially missing array entries and regular-expression captures are explicitly handled [Vilda Lipold]
12
+ ### Updated
13
+ - Packages
14
+ - eslint-config-vylda-vanilla (6.0.1)
15
+
16
+ ## [7.0.1] - 2026-09-21
17
+ ### Added
18
+ - `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]
19
+ - `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]
20
+ ### Changed
21
+ - `lint` script now runs `npm run ts` before `eslint .`[Vilda Lipold]
22
+ ### Updated
23
+ - Packages
24
+ - eslint (10.11.0)
25
+ - typescript-eslint (8.70.1)
26
+
7
27
  ## [7.0.0] - 2026-09-20
8
28
  ### Added
9
29
  - `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]
package/README.md CHANGED
@@ -528,6 +528,11 @@ You can also use `mapFiles` function to map files for all rules.
528
528
  - `plus` - ESLint config combining vanilla extended rules with TypeScript-specific updates and additions ([source](./src/rules/plus.ts), [documentation](https://eslint.style/rules))
529
529
  - `strict` - ESLint config combining vanilla strict-mode rules with additional TypeScript-only strict rules ([source](./src/rules/strictTs.ts), [documentation](https://typescript-eslint.io/rules))
530
530
  - `stylistic` - ESLint config combining vanilla stylistic rules with TypeScript-specific updates and additional TypeScript-only stylistic rules ([source](./src/rules/stylisticTs.ts), [documentation](https://eslint.style/packages/ts))
531
+ - `TConfig` - TypeScript type for an ESLint flat config array, same as vanilla's `TConfig` ([source](./src/types.ts))
532
+ - `TGetConfigOptions` - TypeScript type for the options object accepted by `getConfig` ([source](./src/types.ts))
533
+ - `TGetTsImportConfigOptions` - TypeScript type for the options object accepted by `getImportConfig`, vanilla's import options plus `includeOffRules` ([source](./src/types.ts))
534
+ - `TPlugin` - TypeScript type alias for a single ESLint plugin (`ESLint.Plugin`) ([source](./src/types.ts))
535
+ - `TPlugins` - TypeScript type alias for a map of plugins (`Record<string, TPlugin>`) ([source](./src/types.ts))
531
536
  - `tsConfigs` - every rule set this package applies to TypeScript files, in one config: `base`, `bestPractices`, `errors`, `es6`, `plus`, `strict`, `stylistic` and `variables` combined ([source](./src/rules/typescriptConfig.ts), [documentation](https://typescript-eslint.io/rules))
532
537
  - `tsFiles` - default file pattern for TypeScript rules only ([source](./src/index.ts), [documentation](https://eslint.org/docs/latest/use/configure/configuration-files#configuration-objects))
533
538
  - `tsPlugins` - default TypeScript plugins only used in this config ([source](./src/index.ts), [documentation](https://typescript-eslint.io/getting-started))
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { defaultImportExtensions, defaultImportExtensionsRuleGranularOption, def
3
3
  import { base, getImportConfig, off, plus, bestPractices as tsBestPractices, tsConfigs, errors as tsErrors, es6 as tsEs6, tsStrict, tsStylistic, tsVariables } from './rules/index.js';
4
4
  import type { Linter } from 'eslint';
5
5
  import type { TConfig, TGetConfigOptions, TPlugins } from './types.js';
6
+ export type { TConfig, TGetConfigOptions, TGetTsImportConfigOptions, TPlugin, TPlugins, } from './types.js';
6
7
  type TVanillaConfigs = {
7
8
  barrels: TConfig;
8
9
  bestPractices: TConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAAiB,SAAS,EAAE,OAAO,EAAe,OAAO,EAAE,QAAQ,EAAE,IAAI,EAChF,aAAa,EAAqB,OAAO,IAAI,cAAc,EAE5D,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,uBAAuB,EACvB,yCAAyC,EACzC,oDAAoD,EACpD,0BAA0B,EAC1B,mCAAmC,EACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAChC,aAAa,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK,EAC7E,QAAQ,EAAE,WAAW,EAAE,WAAW,EACnC,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAEjB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAWF,QAAA,MAAM,YAAY,UAA+B,CAAC;AAClD,QAAA,MAAM,KAAK,UAAmC,CAAC;AAC/C,QAAA,MAAM,OAAO,UAAwB,CAAC;AACtC,QAAA,MAAM,gBAAgB,UAUrB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,QAEhB,CAAC;AAEF,QAAA,MAAM,OAAO,EAAE,QAGd,CAAC;AAaF,QAAA,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,eAQ/C,CAAC;AAEH,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAUlC,CAAC;AAIF,QAAA,MAAM,UAAU,EAAE,OAAwD,CAAC;AA8B3E,QAAA,MAAM,SAAS,GACb,SAAS,MAAM,EACf,UAAS,iBAAkC,KAC1C,OAmDF,CAAC;AAEF,QAAA,MAAM,cAAc,+CAA2B,CAAC;AAEhD,QAAA,MAAM,kBAAkB,EAAE,eAYzB,CAAC;AAEF,OAAO,EACL,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,eAAe,IAAI,aAAa,EAChC,SAAS,EACT,OAAO,EACP,uBAAuB,EACvB,yCAAyC,EACzC,oDAAoD,EACpD,0BAA0B,EAC1B,mCAAmC,EACnC,QAAQ,IAAI,MAAM,EAClB,KAAK,IAAI,GAAG,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,EACP,IAAI,EACJ,QAAQ,IAAI,MAAM,EAClB,WAAW,IAAI,SAAS,EACxB,SAAS,EACT,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,IAAI,SAAS,GACzB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAAiB,SAAS,EAAE,OAAO,EAAe,OAAO,EAAE,QAAQ,EAAE,IAAI,EAChF,aAAa,EAAqB,OAAO,IAAI,cAAc,EAE5D,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,uBAAuB,EACvB,yCAAyC,EACzC,oDAAoD,EACpD,0BAA0B,EAC1B,mCAAmC,EACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAChC,aAAa,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK,EAC7E,QAAQ,EAAE,WAAW,EAAE,WAAW,EACnC,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EAEjB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,yBAAyB,EACzB,OAAO,EACP,QAAQ,GACT,MAAM,SAAS,CAAC;AAEjB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAWF,QAAA,MAAM,YAAY,UAA+B,CAAC;AAClD,QAAA,MAAM,KAAK,UAAmC,CAAC;AAC/C,QAAA,MAAM,OAAO,UAAwB,CAAC;AACtC,QAAA,MAAM,gBAAgB,UAUrB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,QAEhB,CAAC;AAEF,QAAA,MAAM,OAAO,EAAE,QAGd,CAAC;AAaF,QAAA,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,eAQ/C,CAAC;AAEH,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAUlC,CAAC;AAIF,QAAA,MAAM,UAAU,EAAE,OAAwD,CAAC;AA8B3E,QAAA,MAAM,SAAS,GACb,SAAS,MAAM,EACf,UAAS,iBAAkC,KAC1C,OAmDF,CAAC;AAEF,QAAA,MAAM,cAAc,+CAA2B,CAAC;AAEhD,QAAA,MAAM,kBAAkB,EAAE,eAYzB,CAAC;AAEF,OAAO,EACL,OAAO,EACP,YAAY,EACZ,IAAI,EACJ,eAAe,IAAI,aAAa,EAChC,SAAS,EACT,OAAO,EACP,uBAAuB,EACvB,yCAAyC,EACzC,oDAAoD,EACpD,0BAA0B,EAC1B,mCAAmC,EACnC,QAAQ,IAAI,MAAM,EAClB,KAAK,IAAI,GAAG,EACZ,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,GAAG,EACH,UAAU,EACV,aAAa,EACb,OAAO,EACP,IAAI,EACJ,QAAQ,IAAI,MAAM,EAClB,WAAW,IAAI,SAAS,EACxB,SAAS,EACT,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,IAAI,SAAS,GACzB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/rules/imports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAM3B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAI1D,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,uBAAuB,UAI5B,CAAC;AAET,eAAO,MAAM,yCAAyC;;CAGrD,CAAC;AACF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,eAAO,MAAM,mCAAmC,UAIxC,CAAC;AACT,eAAO,MAAM,oDAAoD,UAAO,CAAC;AAOzE,eAAO,MAAM,oBAAoB,GAAI,eAAe,MAAM,KAAG,kBAG3D,CAAC;AAsBH,QAAA,MAAM,eAAe,GACnB,eAAe,MAAM,EACrB,UAAS,yBAA0C,KAClD,KAAK,CAAC,MAAM,CAAC,MAAM,CAkCrB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/rules/imports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAM3B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAI1D,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,uBAAuB,UAI5B,CAAC;AAET,eAAO,MAAM,yCAAyC;;CAGrD,CAAC;AACF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,eAAO,MAAM,mCAAmC,UAIxC,CAAC;AACT,eAAO,MAAM,oDAAoD,UAAO,CAAC;AAOzE,eAAO,MAAM,oBAAoB,GAAI,eAAe,MAAM,KAAG,kBAG3D,CAAC;AAsBH,QAAA,MAAM,eAAe,GACnB,eAAe,MAAM,EACrB,UAAS,yBAA0C,KAClD,KAAK,CAAC,MAAM,CAAC,MAAM,CAsCrB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -53,6 +53,9 @@ const getImportConfig = (tsConfigPath, options = defaultOptions) => {
53
53
  importResolverAlias,
54
54
  importResolverNodeExtensions,
55
55
  });
56
+ if (config === undefined) {
57
+ throw new Error('Vanilla import config is empty');
58
+ }
56
59
  const { settings = {}, ...rest } = config;
57
60
  return [
58
61
  {
package/package.json CHANGED
@@ -4,17 +4,17 @@
4
4
  "url": "https://gitlab.com/eslint-configs/eslint-config-vylda-typescript/-/issues"
5
5
  },
6
6
  "dependencies": {
7
- "eslint-config-vylda-vanilla": "^6.0.0",
7
+ "eslint-config-vylda-vanilla": "^6.0.1",
8
8
  "eslint-import-resolver-typescript": "^4.4.5",
9
9
  "espree": "^11.2.0",
10
- "typescript-eslint": "^8.70.0"
10
+ "typescript-eslint": "^8.70.1"
11
11
  },
12
12
  "description": "Enhances Vylda's ESLint vanilla config with TypeScript support",
13
13
  "devDependencies": {
14
14
  "@eslint/config-inspector": "^3.5.0",
15
15
  "@types/node": "^24.13.5",
16
16
  "cross-env": "^10.1.0",
17
- "eslint": "^10.10.0",
17
+ "eslint": "^10.11.0",
18
18
  "husky": "^9.1.7",
19
19
  "jiti": "^2.7.0",
20
20
  "typescript": "^6.0.3"
@@ -54,14 +54,15 @@
54
54
  "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/fix-extensions.mjs",
55
55
  "clean": "node scripts/clean-dist.mjs",
56
56
  "inspect": "npm run build && eslint-config-inspector --config scripts/inspect-config.mjs",
57
- "lint": "eslint . --color",
57
+ "lint": "npm run ts && eslint . --color",
58
58
  "prelint": "node scripts/check-build.mjs",
59
59
  "prepack": "npm run build",
60
60
  "prepare": "husky || true",
61
61
  "test": "npm run build && npm run lint && npm run test:rules",
62
- "test:rules": "npm run build && cross-env FORCE_COLOR=1 node --test \"dist/**/*.test.js\""
62
+ "test:rules": "npm run build && cross-env FORCE_COLOR=1 node --test \"dist/**/*.test.js\"",
63
+ "ts": "tsc --noEmit --pretty"
63
64
  },
64
65
  "type": "module",
65
66
  "types": "dist/index.d.ts",
66
- "version": "7.0.0"
67
+ "version": "7.0.2"
67
68
  }