Heads-up!! This frontend change has been merged in master branch recently. This will impact the users working on Airflow RBAC UI only. That means:
*If you are a contributor/developer of Apache Airflow:* You'll need to install and build the frontend packages if you want to run the web UI. Please make sure to read the new section, "Setting up the node / npm javascript environment" <https://github.com/apache/incubator-airflow/blob/master/CONTRIBUTING.md#setting-up-the-node--npm-javascript-environment-only-for-www_rbac> in CONTRIBUTING.md *If you are using Apache Airflow in your production environment:* Nothing will impact you, as every new build of Apache Airflow will come up with pre-built dependencies. Please let me know if you have any questions. Thank you Best, *Verdan Mahmood* On Sun, Jul 15, 2018 at 6:52 PM Maxime Beauchemin < maximebeauche...@gmail.com> wrote: > Glad to see this is happening! > > Max > > On Mon, Jul 9, 2018 at 6:37 AM Ash Berlin-Taylor < > ash_airflowl...@firemirror.com> wrote: > > > Great! Thanks for doing this. I've left some review comments on your PR. > > > > -ash > > > > > On 9 Jul 2018, at 11:45, Verdan Mahmood <verdan.mahm...@gmail.com> > > wrote: > > > > > > Hey Guys, > > > > > > In an effort to simplify the JS dependencies of Airflow > > > > > > , > > > I've > > > introduce > > > d > > > npm and webpack for the package management. For now, it only implements > > > this in the www_rbac version of the web server. > > > > > > > > > Pull Request: https://github.com/apache/incubator-airflow/pull/3572 > > > > > > The problem with the > > > existing > > > frontend ( > > > JS > > > ) code of Airflow is that most of the custom JS is written > > > with > > > in the html files, using the Flask's (Jinja) variables in that JS. The > > next > > > step of this effort would be to extract that custom > > > JS > > > code in separate JS files > > > , > > > use the dependencies in those files using require or import > > > and introduce the JS automated test suite eventually. > > > (At the moment, I'm simply using the CopyWebPackPlugin to copy the > > required > > > dependencies for use) > > > . > > > > > > There are also some dependencies which are directly modified in the > > codebase > > > or are outdated > > > . I couldn't found the > > > correct > > > npm versions of those libraries. (dagre-d3.js and gantt-chart-d3v2.js). > > > Apparently dagre-d3.js that we are using is one of the gist or is very > > old > > > version > > > not supported with webpack 4 > > > , while the gantt-chart-d3v2 has been modified according to Airflow's > > > requirements > > > I believe > > > . > > > Used the existing libraries for now. > > > > > > I am currently working in a separate branch to upgrade the DagreD3 > > > library, and updating the custom JS related to DagreD3 accordingly. > > > > > > This PR also introduces the pypi_push.sh > > > < > > > https://github.com/apache/incubator-airflow/pull/3572/files#diff-8fae684cdcc8cc8df2232c8df16f64cb > > > > > > script that will generate all the JS statics before creating and > > uploading > > > the package. > > > > > > Please let me know if you guys have any questions or suggestions and > I'd > > > be happy to answer that. > > > > > > Best, > > > *Verdan Mahmood* > > > (+31) 655 576 560 > > > > >