rxjs icon indicating copy to clipboard operation
rxjs copied to clipboard

RxJS 7 Modules/Types/Package Structure Epic

Open benlesh opened this issue 4 years ago • 2 comments

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.

benlesh avatar Aug 09 '21 16:08 benlesh

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.

benlesh avatar Aug 09 '21 16:08 benlesh

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.

benlesh avatar Aug 11 '21 20:08 benlesh