question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

HELP WANTED: ES6 Conversion Effort

See original GitHub issue

Hello pixi devs!

Thanks to this PR #2936 (shoutout to @leonardo-silva!) we have begun an effort to convert the code-base of Pixi.js to ES6. The purpose of this upgrade is to future-proof as well as make Pixi.js more maintainable. While the source will be ES6, we will continue to build to ES5-compatible JavaScript using Babel. But hopefully in the future we’ll be able to provide an ES6+ build.

Usually these types of changes are very challenging and difficult to pull off because of how distruptive they are to existing PRs and development, so ideally we’d like to get to stability as quickly as possible. So, we need your help!

There are a couple things that would be really useful if you’re looking to help:

  • We have setup a dev-es6 branch and welcome PRs to that branch for those proficient with ES6. Particularly, looking for additional PRs to add more use of const, fat arrows functions, and static getters.
  • We need help performance testing the Babel build to make sure we have not compromised any of the amazing Pixi-speed we have all come to love.
  • We could use help smoke-testing the latest build on this branch (see below for build links). Please add this to your v4 projects and post if you find any issues.
  • We could use help smoke-testing the documentation to make sure jsdoc still plays well with ES6 (see link below)

ES6 Builds http://s3-eu-west-1.amazonaws.com/pixi.js/dev-es6/pixi.js http://s3-eu-west-1.amazonaws.com/pixi.js/dev-es6/pixi.min.js

Documentation http://s3-eu-west-1.amazonaws.com/pixi.js/dev-es6/docs/index.html

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Reactions:2
  • Comments:43 (32 by maintainers)

github_iconTop GitHub Comments

2reactions
endelcommented, Sep 20, 2016

I’ll suggest to you guys to consider using TypeScript as part of this major rewrite/adaptation. Just some points about TypeScript:

  • Using type system in JavaScript will become the new standard, it’s just a matter of time.
  • It IS JavaScript. No difference in syntax besides the type system.
  • Improves code quality. You’ll possibly find a considerable amount of code that needs to be slightly restructured to match the types in the right places.
  • Increase pull-request quality check - if there’s some type issue, the patch simply cannot be merged.

I know this is not an easy chore, but I believe it can bring major benefits for the code base and the community. Cheers!

2reactions
bigtimebuddycommented, Sep 15, 2016

Thanks @englercj. Good list.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How do I disable: [js] File is a CommonJS module
[js] File is a CommonJS module; it may be converted to an ES6. I can't find it in settings. Help appreciated as this...
Read more >
HELP WANTED: ES6 Conversion Effort · Issue #2949 - GitHub
Hello pixi devs! Thanks to this PR #2936 (shoutout to @leonardo-silva!) we have begun an effort to convert the code-base of Pixi.js to...
Read more >
Introduction to commonly used ES6 features - Zell Liew
In this article, I want to share with you eight ES6 features I use daily as a developer to help you ease into...
Read more >
ES6 In Depth: Modules - the Web developer blog
Let's talk about export first. Everything declared inside a module is local to the module, by default. If you want something declared in...
Read more >
Javascript Class: Difference between ES5 and ES6 Classes
Now we all know that if we want to extend the property, we can use prototype . So in this example, this helps...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found