Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A larger app example #43

Open
paulirish opened this issue Feb 9, 2016 · 7 comments
Open

A larger app example #43

paulirish opened this issue Feb 9, 2016 · 7 comments

Comments

@paulirish
Copy link
Contributor

A few conversations have concluded that this project would benefit from also testing an app that's larger than TodoMVC.

We are looking for an opensource webapp authored in vanilla ES6 with ES6 modules.

If anyone has any suggestions, please drop a comment.

@paulirish
Copy link
Contributor Author

cc @guybedford - I feel like if anything, the SystemJS community may have a good candidate or two.

@nstepien
Copy link
Contributor

nstepien commented Feb 9, 2016

This has potential to become the h5bp of ES2015+.

@samccone
Copy link
Owner

samccone commented Feb 9, 2016

@nolanlawson do you know off of the top of your head if pouchdb would work? But that might not be what we want since it is not a real "app"

@nolanlawson
Copy link

Yeah, PouchDB is not really an "app" per se, so may be a bad choice. However, I'd be happy to convert pokedex.org's code to ES6 modules and test it out. A tool like cjs-to-es6 could also potentially be used to upgrade just about any CommonJS codebase.

@samccone
Copy link
Owner

samccone commented Feb 9, 2016

pokedex would be a pretty good candidate.. The Marionette v3 branch is all written with es6... but again a lib not really an app.

I think we would have to do quite a bit of work to get pokedex to actually work with property mangling.. but... willing to help :)

cbe3996

@paulfalgout
Copy link
Contributor

I definitely see value in trying a larger project that includes some external dependencies, but I think we should leave property mangling out of it. Granted I'm sure it's something you could consider from a library perspective, but that seems like a lofty requirement for any sort of standard project, and so I think it just skews the results away from most people's reality.

@elibdev
Copy link

elibdev commented Apr 9, 2016

The way I understand it, one of the awesomest things about tree shaking / dead code elimination is that you can import just a few functions from a library and instead of including the whole dependency, the compiler will include only the functions you imported.

This is a big win for the simple reason that you can include a large library as a dependency, and only the parts of it that you use will end up in the compiled Javascript.

If one of the intentions of including a larger app is to demonstrate this ability, maybe even just adding some library dependency to the TodoMVC app and importing one function from the library would do it. Any build process that use tree shaking will include only that one function in the compiled output, while build processes that don't will just include the whole thing. For a big dependency, the difference should be dramatic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants