Open Source contributions

Most important contributions to third-parties Open Source projects




istanbul-js is a code coverage tool that’s being used internally by Jest testing framework, developed by Facebook and the current de-facto standard for Node.js, React and Javascript projects. Its default text output format was too much limited when showing the number of code coverage missing lines, so I refactored it to reduce the number of decoration characters and auto-adjust to the width of the terminal by default, in addition of grouping ranges of consecutive missing lines to be able to show more of them.


Google implementation of WebRTC spec, used in Chrome browser and Android, between others. In this one, I added support for the removeTrack event in the Java bindings, to allow dynamic removal of video and audio tracks from PeerConnection objects in Android applications.

This contribution was sponsored by Atos Research & Innovation.


static builds test


As part of the development of NodeOS to provide it some basic graphic capabilities, I added support for configurable backends on node-canvas, with the intention of being able to draw directly on the Linux FbDev framebuffer device instead of just only in memory, in addition to X11 and Windows GDI (Win32 API). Backends support has been already accepted in upstream code, while FbDev, X11 and Win32 code are still pending of approval. In the future, I plan to add support for other graphic systems like accelerated Linux DRM/KMS or macOS Quartz.

This project was later being sponsored by Ventrata to add improve FbDev backend adding support for double-buffering, VSync and 24bits color mode, and easing the path to add new screen based backends.


As a WebRTC pioneer since 2012 with ShareIt!, I’ve been contributing to other projects, specially using node-webrtc as a building block for Node.js applications, where I’ve worked to improve the APIs compatibility with browsers in addition to maintenance tasks.


num2words is a Python library that provides word captions of numerals for multiple languages and dialects. As part of my work at qvantel, not only I added support for algerian french (where numerals are based on increments of 100, instead of increments of 20 as speaked in France) but also added support for their coins scheme, and refactor support of generic french language to simplify it and add make it easier to add support for other dialects like swiss french, that give me some compliments both from library owner and my superiors for the clean work I did and how much easy and streamlined it was now to use and improve the library itself.


redux-offline provides helper functions to allow to operate with network requests with redux state container. I have been using it in almost all my React Native projects, and my contributions includes support for async dispatching to control when failed requests are due to expired tokens (and being able to re-new them and re-do the request without lossing the session), or allow to make use of multiple queues of parallel network operations with different protocols in a single application, without blocks between them. Thanks to these changes, I’ve been given administratotive permissions on the project itself.

You can find more info about redux-offline in Redux-offline in Node.js

re-start (AKA ReactNative Everywhere)

re-start is a wrapper for React Native that provides configuration to add support for web platform in addition to standard Android and iOS platforms, all of them by using a single code base. I added support for Electron and Windows, thanks to it I got to be administrator of the project, and future plans include add support for macOS applications, and a rework of the project from being a React Native template to be a CLI tool capable of enable support for the additional platforms to any other already available React Native current project.

You can find more info about re-start in What’s re-start?

React Native Spain @ F8 Madrid, Madrid 3th May 2018: “re-start: write once, run everywhere” por Jesús Leganés-Combarro