{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2725","repository_url":"https://api.github.com/repos/ReactiveX/rxjs","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2725/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2725/comments","events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2725/events","html_url":"https://github.com/ReactiveX/rxjs/issues/2725","id":240839840,"number":2725,"title":"Export IScheduler, Scheduler, and TeardownLogic in the Rx module","user":{"login":"Nava2","id":302365,"avatar_url":"https://avatars2.githubusercontent.com/u/302365?v=3","gravatar_id":"","url":"https://api.github.com/users/Nava2","html_url":"https://github.com/Nava2","followers_url":"https://api.github.com/users/Nava2/followers","following_url":"https://api.github.com/users/Nava2/following{/other_user}","gists_url":"https://api.github.com/users/Nava2/gists{/gist_id}","starred_url":"https://api.github.com/users/Nava2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nava2/subscriptions","organizations_url":"https://api.github.com/users/Nava2/orgs","repos_url":"https://api.github.com/users/Nava2/repos","events_url":"https://api.github.com/users/Nava2/events{/privacy}","received_events_url":"https://api.github.com/users/Nava2/received_events","type":"User","site_admin":false},"labels":[{"id":542825173,"url":"https://api.github.com/repos/ReactiveX/rxjs/labels/status:%20more%20information%20needed","name":"status: more information needed","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-07-06T04:13:20Z","updated_at":"2017-07-06T04:26:23Z","closed_at":null,"body":"**RxJS version:** 5.4.1\r\n\r\n**Code to reproduce:**\r\n\r\n```typescript\r\nimport { IScheduler, TeardownLogic, Scheduler } from '@reactivex/rxjs';\r\n```\r\n\r\n**Expected behavior:**\r\n\r\nCompiles when importing from the module, `@reactivex/rxjs`.\r\n\r\n**Actual behavior:**\r\n\r\nDoes not compile as the symbols are not exported in `Rx.ts`. \r\n\r\n**Additional information:**\r\n\r\nCurrently, the only way to use the `IScheduler` (or `Scheduler`, `TeardownLogic`, etc.) is to import it via the full `dist` modules, i.e. `@reactivex/rxjs/dist/cjs/Scheduler`. The problem with this is that IDEs and users can get confused and accidentally import `src` directories which causes issues with compilation around duplicate types as the compiler finds multiple names for the same type.\r\n\r\nUltimately, this comes down to an \"ergonomics\" concern and it seems strange to _not_ export these types. \r\n\r\nI tried searching for issues surrounding the justification for what types are exported and what aren't, I didn't find any discussions. If there are known/discussed justifications, please point me to them! "},"comment":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/comments/313291860","html_url":"https://github.com/ReactiveX/rxjs/issues/2725#issuecomment-313291860","issue_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/2725","id":313291860,"user":{"login":"Nava2","id":302365,"avatar_url":"https://avatars2.githubusercontent.com/u/302365?v=3","gravatar_id":"","url":"https://api.github.com/users/Nava2","html_url":"https://github.com/Nava2","followers_url":"https://api.github.com/users/Nava2/followers","following_url":"https://api.github.com/users/Nava2/following{/other_user}","gists_url":"https://api.github.com/users/Nava2/gists{/gist_id}","starred_url":"https://api.github.com/users/Nava2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nava2/subscriptions","organizations_url":"https://api.github.com/users/Nava2/orgs","repos_url":"https://api.github.com/users/Nava2/repos","events_url":"https://api.github.com/users/Nava2/events{/privacy}","received_events_url":"https://api.github.com/users/Nava2/received_events","type":"User","site_admin":false},"created_at":"2017-07-06T04:26:23Z","updated_at":"2017-07-06T04:26:23Z","body":"> Currently our scoped package @reactivex/rxjs intended to be fully-fledged package, which include all possible builds so for some editors, or some configuration would be possibly confused. In normal cases, using CJS package rxjs should be sufficient - which shouldn't have these kind of errors.\r\n\r\nAre you implying that I should be using a different npm package? Though, the mentioned types are not exported [here](https://github.com/ReactiveX/rxjs/blob/master/src/Rx.ts) -- implying they will not be present in any configuration. "}}
{"actor":{"display_login":"Nava2"}}