{"push_id":730416510,"size":3,"distinct_size":3,"ref":"refs/heads/improved-build-tools","head":"f8af4d6567d474e9aa2b765f7de7bc439c9701fd","before":"5f6b03e4f6f68844f9292dc3097cac04abe2fc71","commits":[{"sha":"8ba73cb4de7cad6ef080daf741bb6b1ec829f8b1","author":{"email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robwu.nl","name":"Rob Wu"},"message":"Improve getWorkerSrcFiles (builder.js)\n\nIt took a while to figure out why adding comments in worker_loader.js\ncaused the build to fail, because getWorkerSrcFiles did not print an\nerror message when it failed to parse the file. These issues have been\nresolved as follows:\n\n- Leading comments are stripped.\n- The trailing comma is removed from the array.\n- Errors are detected and useful error messages are printed.","distinct":true,"url":"https://api.github.com/repos/Rob--W/pdf.js/commits/8ba73cb4de7cad6ef080daf741bb6b1ec829f8b1"},{"sha":"1d4e450a79418ad791b43293ad8e7a90063e9122","author":{"email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robwu.nl","name":"Rob Wu"},"message":"make.js: Less greedy comment stripping\n\nThe previous regex was too greedy, it stripped a significant amount of\ncode when I put another file after core/murmurhash3.js. This was caused\nby the fact that the license header in murmurhash3.js does not contain\n\"Mozilla Foundation\", so the regex continued to match until my new file\n(which had the standard license header containing \"Mozilla Foundation\").","distinct":true,"url":"https://api.github.com/repos/Rob--W/pdf.js/commits/1d4e450a79418ad791b43293ad8e7a90063e9122"},{"sha":"f8af4d6567d474e9aa2b765f7de7bc439c9701fd","author":{"email":"7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@robwu.nl","name":"Rob Wu"},"message":"Fix preprocessor: nesting, error & tests\n\nFeatures / bug fixes in the preprocessor:\n\n- Add word boundary after regex for preprocessor token matching.\n  Previously, when you mistakenly used \"#ifdef\" instead of \"#if\", the\n  line would be parsed as a preprocessor directive (because \"#ifdef\"\n  starts with \"#if\"), but without condition (because \"def\" does not\n  start with a space). Consequently, the condition would always be false\n  and anything between \"#ifdef\" and \"#endif\" would not be included.\n\n- Add validation and error reporting everywhere, to aid debugging.\n\n- Support nested comments (by accounting for the whole stack of\n  conditions, instead of only the current one).\n\n- Add #elif preprocessor command. Could be used as follows:\n  //#if !FEATURE_ENABLED\n  //#error FEATURE_ENABLED must be set\n  //#endif\n\n- Add #error preprocessor command.\n\n- Add end-of-line word boundary after \"-->\" in the comment trimmer.\n  Otherwise the pattern would also match \"-->\" in the middle of a line,\n  and incorrectly convert something like \"while(i-->0)\" to \"while(i0)\".\n\nCode health:\n\n- Add unit tests for the preprocessor (run external/builder/test.js).\n\n- Fix broken link to MDN (resolved to DXR).\n\n- Refactor to use STATE_* names instead of magic numbers (the original\n  meaning of the numbers is preserved, with one exception).\n\n- State 3 has been split in two states, to distinguish between being in\n  an #if and #else. This is needed to ensure that #else cannot be\n  started without an #if.","distinct":true,"url":"https://api.github.com/repos/Rob--W/pdf.js/commits/f8af4d6567d474e9aa2b765f7de7bc439c9701fd"}]}