rxjs
rxjs copied to clipboard
RxJS 7 Modules/Types/Package Structure Epic
There's been a smattering of issues around our package structure, locating types, pulling in the proper versions, etc.
- [ ] Ensure ESM users are getting ES2015/ESM build (must be 8.x)
- [ ] Ensure CJS users are getting CJS build
- [ ] Ensure those that want ES5 (whomever they are?) are getting ES5 build (not supported in 8.x)
- [ ] Ensure it works with the latest Angular-CLI
- [ ] Ensure it works with the latest Create React App
- [ ] Ensure it works with Vite/Vue builds
- [ ] Ensure it works generally with Rollup/Webpack
- [ ] (Somehow) ensure it works with Stackblitz
- [ ] Make sure people don't end up with two versions of RxJS in mixed environments, if possible. (e.g.
import { Observable as Observable1 } from 'rxjs'; require('rxjs').Observable === Observable1) Again, I'm not even sure this is possible - [ ] Figure out some sort of way to test this in CI so it doesn't happen again.
- [ ] Figure out if there are any Electron issues
Related Issues:
- #6321 ESM version is never used
- #6786 Make sure whatever we output from Nx/whatever for 8.x meets the above requirements.
One relevant link from the other issue is a link to possible solutions for module resolution and how to set up the package.json.
This relates a bit to work that @samccone did for us in #6192. So I'd love your input, too Sam.
Core Team Meeting: (low attendance) - We may have to wait for v8. Would like to move to package that only includes ESM and CJS. (Getting rid of UMD and ESM5)
@kwonoj suggests maybe publish "Real ESM" modules in another package. @benlesh says we should publish the current "Sorta ESM" (ala what Rollup/Webpack/etc leverage) and CJS in the rxjs module, but drop UMD and ESM5 dead weight in version 8.