Clarity Regarding the Migration of Codebase to ES6

Hey everyone!

There was some uncertainty regarding the migration of the codebase to ES6, as pointed out by @limzykenneth here.

This has been listed as a project idea under the GSoC project list, but there hasn’t been a discussion about what features to migrate and about the possible use of Babel for backwards compatibility.

@outofambit and @stalgiag since your fellowship to bring p5.js to 1.0 includes this migration, could you brief us regarding what changes and standards should be observed while making the update.

Here are the list of ES6 feature changes I think should be incorporated:

  • var to let, const
  • Arrow functions
  • Class declaration

Other possible features that could be incorporated:

  • New Math, Number, Array and String libraries
  • Enhanced Object Literals
  • Promises
  • Destructuring

I’d love to hear from you guys as to what should be worked upon. I have been using p5.js since quite a long time, and in the past couple of weeks I have explored the code base to estimate the extent of changes required. Based on your recommendations I plan to submit a proposal for GSoC on this project.


@outofambit has just started to look at incorporating babel into a new build system based on Parcel:


Hi @JaiKotia,

Thanks for your interest! After some further thought, we’ve decided to remove the ES6 migration as a project idea. We felt that the scope of it wasn’t right for Google Summer of Code, and the nature of the task might not provide enough opportunity for a student to learn through doing, and feel fully empowered to make their own decisions in their project.

I apologize for any confusion this may cause or time already spent on this. You are of course welcome to still propose this project or any other idea not on the list, but we will be hesitant to make this into a GSOC project for the reasons described above. Hopefully you can find another project on the list that interests you.




Thanks for letting me know it isn’t under consideration. Since I am now quite familiar with the p5.js codebase, I will look to work on another proposed project.