DailyJS

JavaScript Survey 2012, Gitgraph, ES6 Proxies

2012-12-07 00:00:00 +0000 by Alex R. Young

JavaScript Survey 2012: RFC

I'm currently researching the next JavaScript Developer Survey. I'd like feedback on questions. If there's anything you'd strongly like to see in the survey, please contact me and I'll see if I can incorporate it.

Previous surveys can be found here:

In general, the surveys try to determine:

It's not necessarily used to design content for DailyJS -- the results are shared with the community benefit everyone.

Gitgraph

Gitgraph (GitHub: bitpshr / Gitgraph, License: WTFPL) by Paul Bouchon is a Canvas-based GitHub participation graph library. It's based around a constructor function that accepts arguments for things like GitHub username, width, height, and colours:

var graph = new Gitgraph({
    user        : 'nex3',                // any github username
    repo        : 'sass',                // name of repo
    domNode     : document.body,         // (optional) DOM node to attach to
    width       : 800,                   // (optional) graph width
    height      : 300,                   // (optional) graph height
    allColor    : "rgb(202, 202, 202)",  // (optional) color of user's participation
    userColor   : "rgb(51, 102, 153)",   // (optional) color of total participation
    background  : "white",               // (optional) background styles
    showName    : true                   // (optional) show or hide name of user / repo
});

The author wrote some background on it in GitHub Graphs Fo' Errbody, because he had to wrap missing API functionality with a proxy.

Multiple Inheritance in ES6 with Proxies

Multiple Inheritance in ES6 with Proxies is an introduction to ES6 proxies by Jussi Kalliokoski. The author's example uses EventEmitter, which I find useful because multiple inheritance with EventEmitter is something I've seen typically implemented using a for loop to copy properties.

The Proxy solution isn't far off that approach and requires more code, but it's worth reading if you're struggling to understand proxies.