[openstack-dev] [horizon] Javascript development improvement

Maxime Vidori maxime.vidori at enovance.com
Fri Nov 22 13:49:47 UTC 2013

>There is at least one bug open against Ubuntu[1], asking to install
>python-lesscpy as well, as customers "often" need to re-create or change
>This would imply nodejs in a production environment, when going back to

As long as the css will be the only one included into the package, we cannot run into this issue. If someone wants to modify the less file he could compile it and just copy paste the result into the proper directory.

>It seems a bit crazy to me to introduce NodeJS as a dependency just for
>the sake of an easy way to run jslint. There are other options
>available that run without NodeJS as a dependency.

Sadly, the only solutions which try to implement jslint in pure python are in alpha or abandoned. If you have a python library which has the same quality as jslint (which is written by Douglas Crockford himself), I will be glad to take a look at it.

>There are more implications to running NodeJS even only for
>development. It will likely have an impact on our infrastructure as
>well, since we'll want these checks running on patches up for
>review. Then if it's there for development it increases the risk it
>will creep in as a dependency for our runtime.

That is a good point, but Selenium also provides external dependencies, like a browser to run into. I do not really know the infrastructure used by jenkins and how we can integrate our solution into, but I do not think it is impossible (I have never got any trouble with the installation of node with the sources in any distro). 

>As for Selenium, are you talking about rewriting our existing Selenium
>tests in Javascript? If so I am opposed to this. The strength of our
>community is in Python, if we want to encourage people to write more
>tests we should make it easy for them to do so.

Currently we have two Selenium tests in pure python, and all the others are running in a page with qUnit, which is a javascript unit testing framework.

Lastly, we will start using angularjs as a front-end framework, it provides an advanced testing framework which allows us to get rid of selenium.

More information about the OpenStack-dev mailing list