Most important contributions to third-parties Open Source projects
browserslist
features
istanbul-js
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.
libWebrtc
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.
node.js
static builds test
node-canvas
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.
node-webrtc
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
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
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: