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

update JavaScript library practices #84

Closed
7 tasks done
sheppard opened this issue Mar 29, 2017 · 1 comment
Closed
7 tasks done

update JavaScript library practices #84

sheppard opened this issue Mar 29, 2017 · 1 comment

Comments

@sheppard
Copy link
Member

sheppard commented Mar 29, 2017

After the 1.0 release, it may be time to revisit a number of decisions related to how wq.apps's JavaScript dependencies are handled. The advantage of the existing "Python-focused" workflow is that it doesn't require npm, and thanks to AMD it works in the browser without building (though see wq/wq-django-template#21). However, these days more and more projects and build tools are moving to npm anyway, and the lack of integration is somewhat inconvenient for experienced JavaScript users.

The post-1.0 decisions include:

The big question is what to do with wq start and the the build system: currently this is all Python except for the r.js optimizer. If wq.app ends up requiring npm it might make sense to move the entire scaffolding tool and build process to npm/JavaScript as well (#2). Another possibility would be to support a dual workflow:

  • Python-focused users could install wq.app from a PyPI package which would (still) include all JavaScript dependencies within the package. This version of wq.app could still have end-users import wq/app through AMD and build with r.js. Or we could vendor in rollup/babel instead.
  • JavaScript-focused users could install individual wq micromodules from npm. This version would be based on UMD and/or ES6 modules loaded however end-users want to load them (but with a set of default recommendations).
@sheppard
Copy link
Member Author

This is superseded by #111, which assumes the dual workflow option.

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

No branches or pull requests

1 participant