[openstack-dev] [Horizon] the future of angularjs development in Horizon
martin at geisler.net
Thu Nov 13 08:49:14 UTC 2014
Matthias Runge <mrunge at redhat.com> writes:
> On Wed, Nov 12, 2014 at 08:35:18AM -0500, Monty Taylor wrote:
>> Just for the record, I believe that we should chose the tools that
>> make sense for making our software, as long as it's not physically
>> impossible for them to be packaged. This means we should absolutely
>> not use things that require multiple versions of node to be needed.
>> The nodejs that's in trusty is new enough to work with all of the
>> distros yet, it should be fine.
> Agreed. We're in the position to describe or define, what we'd like to
> use or to see in the future. That may require us to create required
> You're not concerned about node.js? Most probably, since you're not
> distributing it. Looking at the changelog, I'm a bit worried:
Grunt/Gulp, bower, ... as the default infrastructure tools.
Not using them or putting effort into creating alternatives would be
working against that community and I would say it's wasted effort. That
effort could be put to better use in the core OpenStack code.
I haven't cared much about Node itself, it's just a VM that runs my
the security and robustness becomes critical.
I find npm and bower alright -- they do their job just fine. The
"semantic versioning" craze is strange to me, but you can avoid it by
fully specifying the versions you depend on.
I find Grunt and Gulp to be overrated. My very simple Gruntfile now
has about 170 lines of JSON to configure the simple tasks. For a "copy
this to that" task, the JSON format is fine, but for more complex tasks
with several steps it feels forced. I mean, I need to copy files in
several tasks, so I end up with
in one part of the Gruntfile and then
many lines away. There's nothing to connect the two pieces of
configuration than a third task that runs both.
The whole multi-task idea also seems strange to me. It feels like an
idea that felt nice when the system was small and now the entire system
is built around it. As an example, running 'grunt copy' by itself is
useless when the two copy targets are small parts of bigger tasks.
About Gulp... I don't get it and I don't buy it :) The implication that
using streams will make your build fast is at best an
over-simplification. While streaming data is cool, elevating this single
idea to the fundamental building block in a simple task runner seems
It forces you into a pattern and you end up writing code looking like:
That might look cute for a minimal example like this, but I bet it'll
make things harder than they should be in the future. As in, how can I
inject more files into the stream conditionally? How do I read an
I would know how to do this.
(Here I would apparently use gulp-if together with something called a
lazypipe and I would still need to somehow insert the extra files in the
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 818 bytes
Desc: not available
More information about the OpenStack-dev