airflow-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Verdan Mahmood <verdan.mahm...@gmail.com>
Subject Re: Airflow's JS code (and dependencies) manageable via npm and webpack
Date Mon, 23 Jul 2018 06:57:41 GMT
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 <
maximebeauchemin@gmail.com> wrote:

> Glad to see this is happening!
>
> Max
>
> On Mon, Jul 9, 2018 at 6:37 AM Ash Berlin-Taylor <
> ash_airflowlist@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.mahmood@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
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message