Under the Hood: The JavaScript SDK – The use of polyfills
Nov 20, 2012Øyvind Sean Kinsey

Summary
This post details Meta's approach to handling JavaScript cross-browser compatibility for its SDK by transpiling ES5 code to ES3, thereby avoiding the use of traditional polyfills. It explains the risks associated with polyfills modifying the global runtime and introduces a source transformation process using jsgrep's 'jspatch' to convert ES5 features into calls to a custom 'ES5' function. This function acts as a proxy, ensuring that ES5 features are safely invoked without polluting the global scope or altering built-in objects, thus maintaining compatibility with older browsers and third-party pages.