-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Milestone
Description
There's several changes we need to make to our build tooling:
- Currently we're on TSDX 0.11, which is outdated. Also, we're using Babel 7.7.4.
- However, TSDX apparently doesn't work well enough for generating multiple entry points, which is something we're going to need for RTK Query support. RTKQ's repo already is just using plain Rollup: https://github.com/rtk-incubator/rtk-query/blob/next/rollup.config.js , and we're anticipating needing to replace our current TSDX setup with that instead
- We don't actually have support for optional chaining turned on, as I found out when I tried to use it and that threw an error
- I'd like to see if we can start applying the principles from "ship modern JS" at https://web.dev/publish-modern-javascript/ . In particular, https://web.dev/publish-modern-javascript/#modern-with-legacy-fallback-and-esm-bundler-optimizations looks like the combo of settings we would want to use
Dropping TSDX may also be a prerequisite for enabling shipping extraction of error messages into error codes in a prod build, per reduxjs/redux#3920 (comment) .
Sorta related to this, I note that there's a few places in our codebase where we use for(const x of y)
, which seems like it expands a bit when transpiled. We could try to micro-optimize those, or we could potentially just improve the build tooling and ship more modern JS that doesn't back-compile that syntax.
Metadata
Metadata
Assignees
Labels
No labels