Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Symbol-observable version upgrade causes typing mismatch with rxjs "unique symbol" #20248

Closed
1 of 15 tasks
saltmade opened this issue Mar 11, 2021 · 5 comments
Closed
1 of 15 tasks
Labels
needs: more info Reporter must clarify the issue

Comments

@saltmade
Copy link

saltmade commented Mar 11, 2021

🐞 Bug report

Command (mark with an x)

  • new
  • build
  • serve
  • test
  • e2e
  • generate
  • add
  • update
  • lint
  • extract-i18n
  • run
  • config
  • help
  • version
  • doc

Is this a regression?

Yes, the previous version in which this bug was not present was: 11.0.7

Description

Symbol-observable changed their observable typing to unique symbol in 3.0.0, and rxjs does the same in their 7.0.0.beta9 but angular-cli uses 6.6.6. ReactiveX/rxjs#5919

I can't see how, but this problem seems nondeterministic. We don't see it every time we do run new then build, but occasionally.

🔬 Minimal Reproduction

ng new AngularDemo -g --directory . --force --routing --package-manager=yarn
ng build

🔥 Exception or Error

ng build fails with:


Error: node_modules/symbol-observable/index.d.ts:6:14 - error TS2717: Subsequent property declarations must have the same type.  Property 'observable' must be of type 'symbol', but here has type 'unique symbol'.

6     readonly observable: unique symbol;
               ~~~~~~~~~~

  node_modules/rxjs/internal/symbol/observable.d.ts:4:18
    4         readonly observable: symbol;
                       ~~~~~~~~~~
    'observable' was also declared here.



🌍 Your Environment




Angular CLI: 11.2.1
Node: 12.21.0
OS: linux x64

Angular:
...
Ivy Workspace:

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1102.1 (cli-only)
@angular-devkit/core         11.2.1 (cli-only)
@angular-devkit/schematics   11.2.1 (cli-only)
@schematics/angular          11.2.1 (cli-only)
@schematics/update           0.1102.1 (cli-only)

Anything else relevant?

@alan-agius4
Copy link
Collaborator

Hi @saltdotac,

I am not sure how to replicate the reported bug above.

It is also strange to why symbol-observable is being included as part of your application compilation. Can you run npm ls symbol-observable?

It does appear that the RxJs team are considering rolling back this change as per ReactiveX/rxjs#5919 (comment)

@alan-agius4 alan-agius4 added the needs: more info Reporter must clarify the issue label Mar 11, 2021
@saltmade
Copy link
Author

saltmade commented Mar 11, 2021

@alan-agius4 Here's what I get back from ls:

angular-demo@0.0.0 /home/jeff.heaton@q2ebanking.com/sdkteam/customer/test
└─┬ @angular/cli@11.2.4
  └── symbol-observable@3.0.0

Also to clarify our new step is ng new AngularDemo -g --directory . --force --routing --package-manager=yarn

@alan-agius4
Copy link
Collaborator

This is strange because in our CI and locally we run hundreds of ng new and ng build on daily basis and we don't encounter this issue.

@saltdotac, maybe you can share the project that encounter the problem? As, it is also strange that you are not getting the error constantly as type error like this should either happen always or never.

@alan-agius4
Copy link
Collaborator

I'm sorry, but we can't reproduce the problem following the instructions you provided.
Remember that we have a large number of issues to resolve, and have only a limited amount of time to reproduce your issue.
Short, explicit instructions make it much more likely we'll be able to reproduce the problem so we can fix it.

If the problem persists, please open a new issue following our submission guidelines.

A good way to make a minimal repro is to create a new app via ng new repro-app and add the minimum possible code to show the problem. Then you can push this repository to github and link it here.

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Apr 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs: more info Reporter must clarify the issue
Projects
None yet
Development

No branches or pull requests

2 participants