Prepack Versions Save

A JavaScript bundle optimizer.

v0.2.43

5 years ago

stop abstract loops from getting stuck in infinite loops when body contains a return, throw or break completion Object.assign should no longer lose values when snapshotting in certain cases Allow optimize to work in conditional contexts Move abstract Object.assign temporals into a helper function new color scheme for the website Add ability to rewrite generated code via global.output adds an optimization to Object.assign that attempts to merge calls together where possible Added --expectedCounts parameter to test262-runner so that success can depend on the value of the time-out and the version of the test suite that is used. Updated the test262 submodule to latest version

v0.2.42

5 years ago

Improved source location information Only havoc abstract value args when really necessary Debugger recognizes sourcemaps and opens the correct file/line when debugging in Nuclide. Make React tests fast Special case an expression simplification for Instant Render Fix temporal assignments to intrinsics that happen inside non deterministic loops Enhanced handling of Array.map applied to abstract arrays Support dynamic invariants via __assume We got a logo! Add React Native mocks to Prepack

v0.2.41

5 years ago
  • Bugfixes
  • Improve switch evaluation performance
  • Don't emit unnecessary calls

v0.2.40

5 years ago

Lots of bug fixes

v0.2.39

5 years ago
  • Perf improvements
  • Bugfixes
  • Rest syntax support (abstract interpreter support pending)
  • Debugger improvements
  • Migrate to CircleCI 2.0
  • Added support for && and || logical abstract value unfolding

v0.2.38

6 years ago
  • Adds __describe that can pretty print abstract values to assist debugging
  • Implemented step out feature in debugger

v0.2.36

6 years ago

Fixing havocing of bindings. adds support for ReactDOM.createPortal inlining Stop using joinEffectsAndPromoteNested opt out of optimizing a React component in a tree with __doNotRender if left and right in createFromConditionalOp are equal, do early return all serializer tests now get linted via ESlint for correct output all globals emitted reference the global identifier Support for --delayInitializations for optimized functions Fix abstract values not being coerced into strings for the Error constructor

v0.2.35

6 years ago

Support switch statements where the switch value is abstract and one or more cases throw. Fixed bug with implicitly converting unknown values to Object. The React reconciler now throw a FatalError upon encountering side-effects in a render. Fix while and for loops with unlabeled breaks Removing --simpleClosures option. Improve code generation in presence of exceptions. Default to StrictMode when mixed StrictMode is serialized between function entries. Better debug logging with --debugScopes Allocate by using new Array(n). Fix problems with duplicated and missing statements. Do not generate code for unreachable global code statements. Simplify the ToObject serialization output. Serialization outputFixes an issue with getOwnPropertyDescriptor when dealing with a native prototype function. More compact code generation by avoiding introducing local variables for abstract values when possible. Fixes problem with result of Array.filter (and similar) applied to arrays with unknown properties. Adds support for spread syntax. Speeding up Prepack by 22%, saving 8% memory. Add reading wiki link to places. Make some files flow strict. Better crash logging. Provide error feedback when timing out. Implement const/let pattern declarations. Adds support for more console methods. More simplification rules. Stop the prototype cycle check if an object (e.g. proxy) uses non-ordinary prototype methods. Fix numerous problems with code ordering.

Issues fixed: #415 #927 #1017 #1285 #1765 #1812 #1821 #1830 #1838 #1841 #1842 #1845 #1856 #1857 #1865 #1866 #1869 #1870 #1871 #1883 #1890 #1906 #1914 #1924 #1930 #1931 #1935 #1952 #1953 #1957

v0.2.34

6 years ago

Summary: Allow break/continue to be guarded by abstract conditions inside loops Collect fine-grained statistics on memory usage Resolves issues with outer declarations moving into nested scopes Fixes simplification bug involving comparisons with NaN Support temporal assignment to object properties using unknown property names Support multiple assignments to unknown properties in optimized functions Adds ReactDOM mocks to fb-www compatibility mode Adds pure scope support for abstract arguments with UpdateExpression Fixed code duplication bug 10% memory savings when running Prepack

Lots of bug fixes, especially around optimized functions.

v0.2.33

6 years ago
  • test-react now gets run before test-serializer-with-coverage on the CI
  • fixes a regression where on* events would not be stripped in React firstRender mode
  • Use 66% less memory, run 42% faster