Skip to content

chore(deps): update linting

This MR contains the following updates:

Package Type Update Change
@typescript-eslint/eslint-plugin devDependencies minor ^6.2.0 -> ^6.7.5
@typescript-eslint/parser devDependencies minor ^6.2.0 -> ^6.7.5
eslint (source) devDependencies minor ^8.45.0 -> ^8.51.0
eslint-plugin-import devDependencies minor ^2.27.5 -> ^2.28.1
prettier (source) devDependencies patch ^3.0.0 -> ^3.0.3

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v6.7.5

Compare Source

Bug Fixes
  • eslint-plugin: [prefer-string-starts-ends-with] only report slice/substring with correct range (#​7712) (db40a0a)

You can read about our versioning strategy and releases on our website.

v6.7.4

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.3

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.2

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-restricted-imports] disallow side effect imports when allowTypeImports is enabled (#​7560) (4908905)
Features
  • eslint-plugin: [await-thenable] added suggestion fixer (#​7437) (b284370)

You can read about our versioning strategy and releases on our website.

v6.6.0

Compare Source

Bug Fixes
  • eslint-plugin: [key-spacing] consider properties with parens and comments (#​7525) (7012279)

You can read about our versioning strategy and releases on our website.

v6.5.0

Compare Source

Bug Fixes
  • eslint-plugin: [consistent-type-assertions] wrap object return value with parentheses (#​6885) (23ac499)

You can read about our versioning strategy and releases on our website.

6.4.1 (2023-08-21)

Bug Fixes
  • eslint-plugin: [no-unnecessary-condition] false positives with branded types (#​7466) (b52658f), closes #​7293

You can read about our versioning strategy and releases on our website.

v6.4.1

Compare Source

Bug Fixes
  • eslint-plugin: [no-unnecessary-condition] false positives with branded types (#​7466) (b52658f), closes #​7293

You can read about our versioning strategy and releases on our website.

v6.4.0

Compare Source

Bug Fixes
  • eslint-plugin: [non-nullable-type-assertion-style] consider operator precedence when fixing (#​7289) (bad37a2)
  • eslint-plugin: [strict-boolean-expressions] replace dangerous fixer with suggestions (#​7394) (ad8401a)

You can read about our versioning strategy and releases on our website.

v6.3.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-extra-parens] keep parens around call expression arguments when type arguments contain parens (#​7375) (38e5e4e)
  • eslint-plugin: [no-restricted-imports] allow inline type qualifiers when allowTypeImports enabled (#​7379) (cc9a46d)
Features
  • eslint-plugin: [prefer-nullish-coalescing] allow ignorePrimitives option to be true (#​7331) (dfcafae)
Reverts

You can read about our versioning strategy and releases on our website.

6.2.1 (2023-07-31)

Bug Fixes
  • eslint-plugin: [no-inferrable-types] apply also for parameter properties (#​7288) (67f93b1)
  • scope-manager: correct decorators(.length) check in ClassVisitor for methods (#​7334) (abbb6c2)

You can read about our versioning strategy and releases on our website.

v6.2.1

Compare Source

Bug Fixes
  • eslint-plugin: [no-inferrable-types] apply also for parameter properties (#​7288) (67f93b1)
  • scope-manager: correct decorators(.length) check in ClassVisitor for methods (#​7334) (abbb6c2)

You can read about our versioning strategy and releases on our website.

typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

v6.7.5

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.7.4

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.7.3

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.7.2

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.7.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.6.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.5.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

6.4.1 (2023-08-21)

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.4.1

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.4.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.3.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

6.2.1 (2023-07-31)

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

v6.2.1

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

You can read about our versioning strategy and releases on our website.

eslint/eslint

v8.51.0

Compare Source

Features

  • 0a9c433 feat: Add --no-warn-ignored CLI option for flat config (#​17569) (Domantas Petrauskas)
  • 977e67e feat: logical-assignment-operators to report expressions with 3 operands (#​17600) (Yosuke Ota)

Bug Fixes

  • f976b2f fix: make rule severity case-sensitive in flat config (#​17619) (Milos Djermanovic)
  • 0edfe36 fix: Ensure crash error messages are not duplicated (#​17584) (Nicholas C. Zakas)
  • dd79abc fix: eslint-disable to be able to parse quoted rule names (#​17612) (Yosuke Ota)
  • d2f6801 fix: Ensure correct code path for && followed by ?? (#​17618) (Nicholas C. Zakas)

Documentation

  • ee5be81 docs: default to sourceType: "module" in rule examples (#​17615) (Francesco Trotta)
  • 1aa26df docs: Add more examples for multiline-ternary (#​17610) (George Ashiotis)
  • 47d0b44 docs: Update README (GitHub Actions Bot)
  • dbf831e docs: use generated og image (#​17601) (Percy Ma)
  • 1866da5 docs: Update README (GitHub Actions Bot)

Chores

v8.50.0

Compare Source

Features

  • 27d5a9e feat: add suggestions to array-callback-return (#​17590) (Tanuj Kanti)
  • f9082ff feat: flat-rule-tester make sure default config always matches (#​17585) (fnx)
  • 83914ad feat: Implement SourceCode#applyInlineConfig() (#​17351) (Nicholas C. Zakas)
  • 22a5582 feat: add rule no-object-constructor, deprecate no-new-object (#​17576) (Francesco Trotta)
  • 85a3d9e feat: allowVoid option in array-callback-return (#​17564) (Tanuj Kanti)

Bug Fixes

  • cc4d26b fix: Ensure deprecated context.parserServices warns (#​17593) (Nicholas C. Zakas)
  • 1ea4cfb fix: Ensure all RuleTester tests all deprecated context methods (#​17587) (Nicholas C. Zakas)
  • aa1b657 fix: wrong suggestion and message in no-misleading-character-class (#​17571) (Yosuke Ota)

Documentation

  • 1800537 docs: Fix and standardize JSX code examples (#​17591) (Francesco Trotta)
  • 48a44a7 docs: Add correct/incorrect tags to prefer-arrow-callback (#​17589) (Francesco Trotta)
  • 20893d4 docs: fix incorrect tag's place (#​17575) (Tanuj Kanti)
  • bd7a71f docs: Update README (GitHub Actions Bot)

Chores

v8.49.0

Compare Source

Features

  • da09f4e feat: Implement onUnreachableCodePathStart/End (#​17511) (Nicholas C. Zakas)
  • 32b2327 feat: Emit deprecation warnings in RuleTester (#​17527) (Nicholas C. Zakas)
  • acb7df3 feat: add new enforce option to lines-between-class-members (#​17462) (Nitin Kumar)

Documentation

  • ecfb54f docs: Update README (GitHub Actions Bot)
  • de86b3b docs: update no-promise-executor-return examples (#​17529) (Nitin Kumar)
  • 032c4b1 docs: add typescript template (#​17500) (James)
  • cd7da5c docs: Update README (GitHub Actions Bot)

Chores

v8.48.0

Compare Source

Features

  • 1fbb3b0 feat: correct update direction in for-direction (#​17483) (Francesco Trotta)
  • d73fbf2 feat: rule tester do not create empty valid or invalid test suites (#​17475) (fnx)
  • ee2f718 feat: Allow void in rule no-promise-executor-return (#​17282) (nopeless)

Bug Fixes

  • 7234f6a fix: update RuleTester JSDoc and deprecations (#​17496) (Jonas Berlin)

Documentation

  • 7a51d77 docs: no-param-reassign mention strict mode (#​17494) (Stephen Hardy)
  • 9cd7ac2 docs: add fetch script to package.json conventions (#​17459) (Nitin Kumar)
  • cab21e6 docs: advice for inline disabling of rules (#​17458) (Ashish Yadav)
  • 056499d docs: fix example of flat config from plugin (#​17482) (Francesco Trotta)
  • 9e9edf9 docs: update documentation URL in error message (#​17465) (Nitin Kumar)

Chores

v8.47.0

Compare Source

Features

  • 53d7508 feat: update regex for methods with thisArg (#​17439) (Francesco Trotta)

Bug Fixes

  • 631648e fix: do not report on shadowed constructors in no-new-wrappers (#​17447) (Francesco Trotta)

Documentation

Chores

v8.46.0

Compare Source

Features

Bug Fixes

  • 9803c7c fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules (#​17393) (Milos Djermanovic)
  • 42faa17 fix: Update no-loop-func to not overlap with no-undef (#​17358) (Matt Wilkinson)

Documentation

  • 4d474e3 docs: update with TypeScript info (#​17423) (James)
  • 091f44e docs: File extension named processor deprecation (#​17362) (Matt Wilkinson)
  • 9254a6c docs: Update README (GitHub Actions Bot)
  • 6d6dc51 docs: fix overlapping of open in playground button (#​17403) (Tanuj Kanti)
  • 7fc3a2c docs: Add private class features info to no-underscore-dangle (#​17386) (Matt Wilkinson)
  • da73e58 docs: Migrating eslint-env configuration comments (#​17390) (Francesco Trotta)
  • 80dffed docs: fix Ignoring Files section in config migration guide (#​17392) (Milos Djermanovic)
  • 8a9abb7 docs: Update README (GitHub Actions Bot)
  • 7e9be4b docs: Update README (GitHub Actions Bot)
  • 0b0bbe0 docs: Update README (GitHub Actions Bot)

Chores

  • d1eb7e4 chore: Update ecosystem dependencies (#​17427) (Nicholas C. Zakas)
  • fab9e97 chore: package.json update for eslint-config-eslint release (ESLint Jenkins)
  • 6246711 chore: package.json update for @​eslint/js release (ESLint Jenkins)
  • 0aa0bc3 chore: Add MRs to triage project (#​17421) (Nicholas C. Zakas)
import-js/eslint-plugin-import

v2.28.1

Compare Source

Fixed
Changed

v2.28.0

Compare Source

Fixed
  • [no-duplicates]: remove duplicate identifiers in duplicate imports ([#​2577], thanks [@​joe-matsec])
  • [consistent-type-specifier-style]: fix accidental removal of comma in certain cases ([#​2754], thanks [@​bradzacher])
  • [Perf] ExportMap: Improve ExportMap.for performance on larger codebases ([#​2756], thanks [@​leipert])
  • [no-extraneous-dependencies]/TypeScript: do not error when importing inline type from dev dependencies ([#​1820], thanks [@​andyogo])
  • [newline-after-import]/TypeScript: do not error when re-exporting a namespaced import ([#​2832], thanks [@​laurens-dg])
  • [order]: partial fix for [#​2687] (thanks [@​ljharb])
  • [no-duplicates]: Detect across type and regular imports ([#​2835], thanks [@​benkrejci])
  • [extensions]: handle . and .. properly ([#​2778], thanks [@​benasher44])
  • [no-unused-modules]: improve schema (thanks [@​ljharb])
  • [no-unused-modules]: report error on binding instead of parent export ([#​2842], thanks [@​Chamion])
Changed
  • [Docs] [no-duplicates]: fix example schema ([#​2684], thanks [@​simmo])
  • [Docs] [group-exports]: fix syntax highlighting ([#​2699], thanks [@​devinrhode2])
  • [Docs] [extensions]: reference node ESM behavior ([#​2748], thanks [@​xM8WVqaG])
  • [Refactor] [exports-last]: use array.prototype.findlastindex (thanks [@​ljharb])
  • [Refactor] [no-anonymous-default-export]: use object.fromentries (thanks [@​ljharb])
  • [Refactor] [no-unused-modules]: use array.prototype.flatmap (thanks [@​ljharb])
prettier/prettier

v3.0.3

Compare Source

diff

Add preferUnplugged: true to package.json (#​15169 by @​fisker and @​so1ve)

Prettier v3 uses dynamic imports, user will need to unplug Prettier when Yarn's PnP mode is enabled, add preferUnplugged: true to package.json, so Yarn will install Prettier as unplug by default.

Support shared config that forbids require() (#​15233 by @​fisker)

If an external shared config package is used, and the package exports don't have require or default export.

In Prettier 3.0.2 Prettier fails when attempt to require() the package, and throws an error.

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json
Allow argument of require() to break (#​15256 by @​fisker)
// Input
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);

// Prettier 3.0.2
const plugin = require(global.STANDALONE
  ? path.join(__dirname, "../standalone.js")
  : path.join(__dirname, ".."));

// Prettier 3.0.3
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);
Do not print trailing commas in arrow function type parameter lists in ts code blocks (#​15286 by @​sosukesuzuki)
<!-- Input -->
```ts
const foo = <T>() => {}
```

<!-- Prettier 3.0.2 -->
```ts
const foo = <T,>() => {}
```

<!-- Prettier 3.0.3 -->
```ts
const foo = <T>() => {}
```
Support TypeScript 5.2 using / await using declaration (#​15321 by @​sosukesuzuki)

Support for the upcoming Explicit Resource Management feature in ECMAScript. using / await using declaration

{
   using foo = new Foo();
   await using bar = new Bar();
}

v3.0.2

Compare Source

diff

Break after = of assignment if RHS is poorly breakable AwaitExpression or YieldExpression (#​15204 by @​seiyab)
// Input
const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData);

// Prettier 3.0.1
const { section, rubric, authors, tags } = await utils.upsertCommonData(
  mainData,
);

// Prettier 3.0.2
const { section, rubric, authors, tags } =
  await utils.upsertCommonData(mainData);
Do not add trailing comma for grouped scss comments (#​15217 by @​auvred)
/* Input */
$foo: (
	'property': (),
	// comment 1
	// comment 2
)

/* Prettier 3.0.1 */
$foo: (
  "property": (),
  // comment 1
  // comment 2,
);

/* Prettier 3.0.2 */
$foo: (
  "property": (),
  // comment 1
  // comment 2
);
Print declare and export keywords for nested namespace (#​15249 by @​sosukesuzuki)
// Input
declare namespace abc1.def {}
export namespace abc2.def {}

// Prettier 3.0.1
namespace abc1.def {}
namespace abc2.def {}

// Prettier 3.0.2
declare namespace abc1.def {}
export namespace abc2.def {}

v3.0.1

Compare Source

diff

Fix cursor positioning for a special case (#​14812 by @​fisker)
// <|> is the cursor position

/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>  } from "fs"

/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"

/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"
Fix plugins/estree.d.ts to make it a module (#​15018 by @​kingyue737)

Add export {} in plugins/estree.d.ts to fix the "File is not a module" error

Add parenthesis around leading multiline comment in return statement (#​15037 by @​auvred)
// Input
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expresssion
  )
}

// Prettier 3.0.0
function fn() {
  return /**
   * @&#8203;type {...}
   */ expresssion;
}

// Prettier 3.0.1
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expresssion
  );
}
Add support for Vue "Generic Components" (#​15066 by @​auvred)

https://blog.vuejs.org/posts/vue-3-3#generic-components

<!-- Input -->
<script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script>

<!-- Prettier 3.0.0 -->
<script
  setup
  lang="ts"
  generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"
></script>

<!-- Prettier 3.0.1 -->
<script
  setup
  lang="ts"
  generic="
    T extends Type1 & Type2 & (Type3 | Type4),
    U extends string | number | boolean
  "
></script>
Fix comments print in IfStatement (#​15076 by @​fisker)
function a(b) {
  if (b) return 1; // comment
  else return 2;
}

/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!

/* Prettier 3.0.1 */
function a(b) {
  if (b) return 1; // comment
  else return 2;
}
Add missing type definition for printer.preprocess (#​15123 by @​so1ve)
export interface Printer<T = any> {
  // ...
+ preprocess?:
+   | ((ast: T, options: ParserOptions<T>) => T | Promise<T>)
+   | undefined;
}
Add missing getVisitorKeys method type definition for Printer (#​15125 by @​auvred)
const printer: Printer = {
  print: () => [],
  getVisitorKeys(node, nonTraversableKeys) {
    return ["body"];
  },
};
Add typing to support readonly array properties of AST Node (#​15127 by @​auvred)
// Input
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

// Prettier 3.0.0
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
//                  ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)

// Prettier 3.0.1
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
Add space before unary minus followed by a function call (#​15129 by @​pamelalozano)
// Input
div {
  margin: - func();
}

// Prettier 3.0.0
div {
  margin: -func();
}

// Prettier 3.0.1
div {
  margin: - func();
}

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports