Skip to content

moduleResolution "bundler" breaks type inference in RxJS 7.4.0 #30893

@john8329

Description

@john8329

Which @angular/* package(s) are the source of the bug?

upgrade

Is this a regression?

Yes

Description

After upgrading to Angular 19, one of the migrations was to set "moduleResolution": "bundler", in tsconfig.json. This broke basic type inference in all RxJS Observables. The only reasonable solution I found was to upgrade to the unsupported version "rxjs": "~7.5.0",. Perhaps Angular should recommend that in the documentation?

Oddly I didn't find anything related to this anywhere. I can reproduce this systematically just by changing rxjs' version. Perhaps it could be also due to some other setting in tsconfig, so I'm adding it too.
Thanks

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw


Please provide the environment you discovered this bug in (run ng version)

Angular CLI: 19.2.15
Node: 22.15.0
Package Manager: yarn 4.6.0
OS: darwin arm64

Angular: 19.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router, service-worker

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1802.20
@angular-devkit/core         18.2.20
@angular-devkit/schematics   19.2.15
@angular/build               19.2.15
@angular/cdk                 18.2.14
@angular/cli                 19.2.15
@schematics/angular          19.2.15
rxjs                         7.4.0
typescript                   5.8.3
zone.js                      0.15.1

Anything else?

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitReturns": true,
    "esModuleInterop": true,
    "noImplicitAny": false,
    "noFallthroughCasesInSwitch": false,
    "sourceMap": true,
    "declaration": false,
    "experimentalDecorators": true,
    "inlineSources": true,
    "resolveJsonModule": true,
    "moduleResolution": "bundler",
    "importHelpers": true,
    "target": "ES2022",
    "module": "esnext",
    "lib": [
      "ES2022",
      "dom"
    ],
    "paths": {},
    "useDefineForClassFields": false
  },
  "exclude": [
    "**/*.spec.ts",
    "src/**/*.e2e.ts"
  ],
  "angularCompilerOptions": {
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true,
    "strictTemplates": true,
    "trace": false
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions