This repository was archived by the owner on Feb 12, 2022. It is now read-only.
Tags: facebookarchive/prepack
Tags
Weekly release v0.2.54 Summary: * Fix referentialization of optimized functions * Fix serialization issues for nested optimized functions * Model aliasing effects for array loop operators * Fix dependency issues with cyclic prototype dependencies * Fix problem where a bind call can use a variable before its definition * Speed up visitor by skipping redundant generator scopes Reviewed By: trueadm Differential Revision: D10191866 fbshipit-source-id: 669d6c7a49f10f3222c3dd56537e0f76a4e9d2c6
New Prepack Version v0.2.53 Summary: New Prepack version: - Bugfixes - User-level stack overflows no longer crash prepack - Website shows warnings when Prepack produces diagnostics Reviewed By: gaearon Differential Revision: D9927380 fbshipit-source-id: 519d7f04b65228ba78d2febc5309492ff8315a4e
Weekly release v0.2.51 Summary: - Fixed bugs that could cause generated code to throw - Improved evaluation of abstract conditionals - Added CLI options --warnaserror, --diagnosticaserror, --nodiagnostic - Added full support for React.Children.map mock - Support constructors that return an object but also throw Reviewed By: yinghuitan Differential Revision: D9660870 fbshipit-source-id: 49674fae56538809f6f962e49291be77f3617d2c
Weekly release v0.2.50 Summary: 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 Reviewed By: hermanventer Differential Revision: D9597756 fbshipit-source-id: 6009ddb70f8b68151bf26ac8c15320213f67dcfc
Weekly release v0.2.49 Summary: Fixes #2419 #2386 #2439 #2447 #2432 #2437 #2442 * Fix havoced binding not in optimized function * Allow arrays with widened numeric properties to update index properties * Fix nested for statement bailout with nested for-in * Don’t record modified bindings for immutable bindings when havocing Reviewed By: trueadm, sebmarkbage Differential Revision: D9456957 fbshipit-source-id: f266b8cc73012b9c721f0f9eebd48347bf0e37ae
Weekly release v0.2.48: Fuzz tester and join logic refactor Summary: 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 Reviewed By: cblappert Differential Revision: D9349841 fbshipit-source-id: 74a16dbb015777d59d23fdfde77abbe2489c292a
Weekly release v0.2.47 Summary: Weekly release v0.2.47: - 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 Reviewed By: cblappert Differential Revision: D9230689 fbshipit-source-id: 2094183fe4183089dfa584b865c9997147475e45
Prepack weekly release v0.2.46 Summary: - Bugfixes, refactors - extended use of simplification to prepack more code - improved shape modeling - Added ability to materialize objects without havocing - new `--reproUnconditionally` and `--reproOnFatal` options in Prepack - creates zip file with all files needed to debug the failure - creates `repro.sh` script that can open Nuclide debugger, pre-populating the original arguments causing the failure Reviewed By: NTillmann Differential Revision: D9101750 fbshipit-source-id: c7a2a7fc1c7814f02937f786df01ec3cb8effe4e
Repro option creates package with sourcefiles, debugger startup script ( #2289) Summary: Release Notes: - Created DebugReproManager to capture all sourcefiles touched by Prepack (to include minimal subset of useful sourcefiles in the debug package) - `--repro` splits into two: `--reproUnconditionally` which will create a debug package _regardless_ of Prepack's success/failure, and `--reproOnFatal`, which will _only_ create a debug package if Prepack outputs a `FatalError`. - The debug package now includes all relevant sourcefiles (except for node modules), a copy of the version of Prepack (lib) that was used when the package was created, and a script to `yarn install` the relevant modules for the included version of Prepack, then start the Nuclide Prepack debugger with the proper parameters for files in the debug package (including original prepack arguments). This is in addition to the original input files. - The impact of having the `DebugReproManager` on in `--reproOnFatal` mode all the time is negligible, as show in the table below. This flag will be always be enabled on Sandcastle builds so that failures are more easily debugged. - The time difference between no repro flag and `--reproOnFatal` seems like it can be written off as simple variance between runs. The larger increase when actually creating the zip comes from reading and zipping the files, which takes time proportional how many files are touched. - SourceMapManager was refactored to not use `Invariant` or `SourceFile`s. This is so that `DebugReproManager` import it without increasing the flow cycle, and allows the `DebugReproManager` to be passed from Prepack to the CLI to create the repro package. - The repro option introduces a potential for a subtle race condition that is addressed as follows: - The last `if (!success && reproMode === "none") process.exit(1);` must check reproMode because `generateDebugRepro` involves an async process (directory zipping). If there is an ongoing repro and the process exits, the repro may terminate prematurely, causing no repro to be generated. Instead, this only triggers if there is no repro -- if there is, the `generateDebugRepro` function will handle process exiting if it needs to. Usage: ```node [prepack] [files to prepack] --reproOnFatal /Absolute/path/to/repro/bundle.zip --debugBuckRoot /buck/root``` or ```node [prepack] [files to prepack] --reproUnconditionally /Absolute/path/to/repro/bundle.zip --debugBuckRoot /buck/root``` Demo: https://www.dropbox.com/s/p62ves2p55fyyl7/--repro%20annotated%20demo.mp4?dl=0 Pull Request resolved: #2289 Differential Revision: D9002841 Pulled By: caiismyname fbshipit-source-id: 623b362f963095f1cd8163684fd6e76596e7c4fc
Weekly release v0.2.44: Function argument modeling Summary: - Support modeling of shapes of optimized function arguments - fix test262 to fail CircleCI test if not enough tests pass - upgrades Prepack to use Babel 7.0.0-beta.53 - Nuclide compatibility fix Reviewed By: gaearon Differential Revision: D8892151 fbshipit-source-id: 8f1397d25d26e822709ed53c8e6d37055fe396ec
PreviousNext