* Add changelog and changelog automation
First, update the version in our setup.cfg and changelog:
invoke prepare <version>
Then, hand edit and commit, added any release notes, etc. Tag manually or:
invoke release <version>
Finally, push up your changes.
This:
* Uses setup.cfg instead of setup.py
* Parses setup.cfg for version
* Updates setup.cfg on release prepare task
* Show our release version in our footer
* Uses invoke for task execution
* Uses a node library to hit GitHub and fetch the changelog
* Imports this into our existing changelog
* Fix style with autolint
* Lint fixes
* Add eslint using the airbnb config.
In an effort to make the JS consistent, this adds an ESLint gulp task. ESLint
is *very* configurable, and has no defaults. Instead, this reaches for
airbnb's legacy config (which covers ES5), which is one of the most popular
configurations. As a last step, it turns off all of the rules which currently
fail. We can turn them on piecemeal, or override the airbnb style to use a
different format.
Rules to prioritize (as they likely indicate bugs):
* "array-callback-return": "off",
* "eqeqeq": "off",
* "guard-for-in": "off",
* "no-inner-declarations": "off",
* "no-loop-func": "off",
* "no-mixed-operators": "off",
* "no-undef": "off",
* "no-use-before-define": "off",
* "one-var": "off",
* Lint frontend in Travis.
This adds an ESLint step to the CI service so we prevent unlinted code from
making its way in.
* Create an ESLint tox env.
By adding a tox env for eslint, we allow users to run it locally as part of
tox runs.
Thanks for the suggestion @ericholscher!
* Fix tox call to gulp lint task
* Docs!
* Updated gulpfile, ported changes to corporate gulpfile back here. Changes here include:
* New browserify syntax, dropped banned gulp-browserify module
* Broke out jquery and knockout to standalone vendor packages. Client libraries were bundled with these before. Now, templates that include the client libraries are also responsible for including vendor dependencies
* Vendor libraries are passed through Browserify to provide both global window access as normal, and access to the module via require
* Ported better structure and better watch file support
* Added minifying to javascript and vendor javascript
* Regenerated javascript libraries as minified files
* Added readthedocs/static/vendor path for checked in vendor files
* Adds static file dir for generic readthedocs/static path
* Replaces google CDN jquery with vendored jquery, still v2.0.3
* Pinned bower jquery dependency at 2.0.3