Hi All, The front-end working group at edX has recently launched several initiatives to bring modernity and consistency to how our community builds user interfaces and writes front-end code. Yesterday we released version 1.0 of eslint-config-edx to NPM <https://www.npmjs.com/package/eslint-config-edx>, which will bring further consistency and quality to edX JavaScript.
The project has two goals: 1) Create a specific, thorough and well-documented style guide for how JavaScript at edX should be written 2) Provide tools to promote that style during development and in continuous integration. To meet these goals, edX has adopted a style guide for JavaScript based on the Airbnb JavaScript Style Guide for ES5 <https://github.com/airbnb/javascript/blob/master/es5/README.md>, with several extensions and customizations documented here <https://github.com/edx/eslint-config-edx/blob/master/README.md#the-config>. These stylistic rules have been packaged up into a configuration for the tool ESLint, which we'll be installing into all edX JavaScript repos over the coming weeks. Contributors can start practicing this style today - smaller JavaScript projects like the Pattern Library and the UI Toolkit will begin enforcing this style next week, and over time it will become the standard for all JavaScript contributions to larger repos like edx-platform. Please let me know if you have questions or feedback - we expect the style guide to evolve as we undertake more projects to modernize JavaScript at edX and add more contributors to the front-end community. Thanks, P.S. If you're interested in the discussions that led to the adoption of this particular style, see this pull request <https://github.com/edx/eslint-config-edx/pull/1> and the #hack-eslint channel <https://openedx.slack.com/messages/hack-eslint/> in the Open edX Slack team. -- You received this message because you are subscribed to the Google Groups "General Open edX discussion" group. To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/3853bb80-182a-417a-a2ca-8c66049fe1e2%40googlegroups.com.
