Meeting Notes 2021-11-16 #858
afoxman
started this conversation in
Bundle Working Group
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Meeting Notes
Recording is posted to our Teams channel
Docs: Metro as a web bundler
Stripe is polishing the underlying code, and will then work on writing and upstreaming documentation.
Hash-based Metro module IDs
AirBNB wants to upstream, but no news yet.
Docs: Using the metro cache with S3
Microsoft to connect with AirBNB/Stripe to understand the system and document it.
Haste-map replacement experiments
Meta is incorporating plans into their roadmap.
Bundle-size reduction using tree-shaking and bundle-splitting
Callstack is using ESBuild with Webpack. Bundle-size redution compared to Webpack, but not vs. ESBuild standalone.
AirBNB experimented with Web tree-shaking and came close (70-80%) of the small bundle size produced by Webpack.
Expo for Web: ship as ES modules, then transpile for Expo. Expo uses Webpack which tree-shakes best with package.json fields like sideEffects. If Hermes had ES module support, it could improve tree-shaking.
Meta (Facebook) explored adding a module system to Hermes vs. currently using a polyfill to create a bundle. Investigating ideas around JS to JS transpilation and whole-program optimization.
require() cycle detection in Metro
PR is in progress (external author).
Bundle output formats: ES modules, Hermes byte-code, etc.
Meta: In the Web space, ES module production makes sense. In the react-native space, producing Hermes bytecode is the path forward. Still early days.
Metro: Roadmap
Most near-term work will be internal, and will lead to published work in the future. Working to align with React on a multi-platform framework.
Improve Metro docs and cleaning up code. Includes deep-dive articles on topics like module resolution and configuation options.
Interested in optimizing startup - decoupling Haste to eliminate crawl.
Node 17 "exports" and package.json visibility
Will have an impact on tools/projects which do module resolution. Developer community doesn't seem too happy with the whole thing.
Bug: nodejs/node#33460
Docs: https://nodejs.org/api/packages.html#conditional-exports
Beta Was this translation helpful? Give feedback.
All reactions