Skip to content

Two TS linting errors in main.ts #34267

Description

@hb20007

Command

new

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

No response

Description

ng new generates boilerplate that contains two linting errors. They appear when linting with type information:

<path>\src\main.ts
  6:11  error  Prefer the safe `: unknown` for a `catch` callback variable                                                         @typescript-eslint/use-unknown-in-catch-callback-variable
  6:19  error  Returning a void expression from an arrow function shorthand is forbidden. Please add braces to the arrow function  @typescript-eslint/no-confusing-void-expression

The two issues can be fixed by changing the offending code to:

bootstrapApplication(App, appConfig).catch((err: unknown) => {
  console.error(err);
});

See the ts-eslint doc pages for no-confusing-void-expression and use-unknown-in-catch-callback-variable.

Minimal Reproduction

  1. Generate a new project with ng new.
  2. Run ng add @angular-eslint/schematics to add eslint.
  3. In eslint.config.js, change tseslintConfigs.recommended to tseslint.configs.strictTypeChecked.
  4. Add languageOptions.parserOptions as described in the ts-eslint docs.
  5. Run ng lint.

Exception or Error


Your Environment

Angular CLI       : 22.0.1
Angular           : 22.0.1
Node.js           : 26.9.0
Package Manager   : npm 11.16.0
Operating System  : win32 x64

Anything else relevant?

TS 7.1 is expected to bring a faster typed linting API, so typed linting will become even more common.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions