A JavaScript bundle optimizer.
Highlights: Make simplification more robust when complexity limits are reached reduces loop iteration counter to 6 before bailing out We weren’t using the correct initializerAstNodeName in two places Tease apart expressions vs. statements for operation descriptors Simplify equality expressions where types are known Refactor AbstractObjectValue to use evaluateWithAbstractConditional Allow invalid render return values in the React reconciler update Babel 7 to stable release Speed up simplifier by using an implication cache per path branch Add basic support for throws in React
Fixes #2419 #2386 #2439 #2447 #2432 #2437 #2442
Fixes #2151 #2222 #2279 #2393 #2399 #2404 #2411 #2414 #2415
Added a fuzz testing tool
Added test cases
Turn crash in JSON.stringify into a diagnostic
Adds a arrayNestedOptimizedFunctionsEnabled
flag to enable nested optimized functions derived from Array.prototype methods (like map
) and Array.from
Refactor assignment on partial or possibly deleted property
Rewrote the joining logic to always do a full join at every join point
Removed last remnants of delayUnsupportedRequires
- Many bug fixes
- Progress in support for nested optimized functions
- Fixing source map support
- Improved support for abstract behavior in switch statements
- Reduced memory usage of Prepack
--reproUnconditionally
and --reproOnFatal
options in Prepack
repro.sh
script that can open Nuclide debugger, pre-populating the original arguments causing the failure__optimizeReactComponentTree