{"action":"closed","issue":{"url":"https://api.github.com/repos/ReactiveX/rxjs/issues/3024","repository_url":"https://api.github.com/repos/ReactiveX/rxjs","labels_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/3024/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/3024/comments","events_url":"https://api.github.com/repos/ReactiveX/rxjs/issues/3024/events","html_url":"https://github.com/ReactiveX/rxjs/issues/3024","id":269775745,"number":3024,"title":"Named import of `let` is called `letProto` in CJS/ESM but `letBind` in UMD builds","user":{"login":"jayphelps","id":762949,"avatar_url":"https://avatars1.githubusercontent.com/u/762949?v=4","gravatar_id":"","url":"https://api.github.com/users/jayphelps","html_url":"https://github.com/jayphelps","followers_url":"https://api.github.com/users/jayphelps/followers","following_url":"https://api.github.com/users/jayphelps/following{/other_user}","gists_url":"https://api.github.com/users/jayphelps/gists{/gist_id}","starred_url":"https://api.github.com/users/jayphelps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayphelps/subscriptions","organizations_url":"https://api.github.com/users/jayphelps/orgs","repos_url":"https://api.github.com/users/jayphelps/repos","events_url":"https://api.github.com/users/jayphelps/events{/privacy}","received_events_url":"https://api.github.com/users/jayphelps/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-10-30T22:31:19Z","updated_at":"2018-03-22T05:18:03Z","closed_at":"2018-03-22T05:18:02Z","author_association":"MEMBER","body":"https://github.com/ReactiveX/rxjs/blob/c7cfe444642407f3227a09a0cdf38fd495b867e1/src/add/operator/let.ts#L3-L6\r\n\r\nSince the name of the import itself `letProto` is different than what's on the prototype `letBind`, you cannot resolve `letProto` correctly with a UMD build. e.g. redux-observable wanted to use `letProto` internally, but when I build a UMD of redux-observable the `letProto` resolution fails as described.\r\n\r\nThis process of mapping ESM path -> prototype is done by [webpack-rxjs-externals](https://github.com/jayphelps/webpack-rxjs-externals/blob/ef6a41ab5537c0ff4a44c4d2192a1ead7e7045e7/index.js#L2-L9)\r\n\r\nThis seems like a case where, while this is a bug, people likely rely on these names as they are so changing them would break things. However, perhaps adding `Observable.prototype.letProto` would be an OK compromise for v5 since its additive?"}}
{"actor":{"display_login":"benlesh"}}