cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: PROPOSAL: node.js all the script things
Date Thu, 29 Aug 2013 14:51:36 GMT
I will note that I haven't actually looked at your scripts. If you want an
actual code review though, you should create a review request on
reviews.apache.org.


On Thu, Aug 29, 2013 at 10:47 AM, Andrew Grieve <agrieve@chromium.org>wrote:

> We managed to figure out how to get our .js files executable with node on
> windows/mac/linux without .bat files:
>
> https://github.com/MobileChromeApps/mobile-chrome-apps/blob/master/mca.js
>
> It's ugly, but works :).
>
> For the EMFILE problem, the real solution is to not use shelljs. I did add
> a work-around to coho to up the ulimit and re-launch, but I think we should
> really just not use shelljs as a better solution.
>
> For node_modules - I think we should just check them in. This is what's
> recommended by the npm faq, and eliminates the problem of "when do I need
> to run npm install" (on upgrade, what if it fails, etc.)
>
>
>
>
> On Mon, Aug 26, 2013 at 7:40 PM, Jeffrey Heifetz <jheifetz@blackberry.com>wrote:
>
>> We've been doing all our scripts in node and have yet to find a better
>> route than ".bat" scripts that call in. So I'm interested if anyone knows
>> of one.
>>
>> Sent from my BlackBerry 10 smartphone on the Rogers network.
>> From: Benn Mapes
>> Sent: Monday, August 26, 2013 5:53 PM
>> To: dev@cordova.apache.org
>> Reply To: dev@cordova.apache.org
>> Subject: Re: PROPOSAL: node.js all the script things
>>
>>
>> Ok, I'm pushing up these changes to the android master branch.
>>
>> The only problem I see arising is the fact that you need a 'node' prefix
>> before any of the commands on windows. This will break the CLI for android
>> on windows (maybe plugman too), unless we update the tooling to require
>> the
>> node modules instead.
>>
>> I added .bat files (which I really didn't want to) to account for this
>> discrepancy as a temporary solution, but I think we should figure out a
>> better way to do this in the future.
>>
>> Please log any bugs you find with the scripts and assign them to me. I
>> know
>> if one with the ulimit in the terminal being set too low, still gotta
>> figure this one out, it usually errors when waiting for the emulator
>> unless
>> you set your ulimit higher.
>>
>> ~Benn
>>
>>
>> On Mon, Aug 19, 2013 at 2:32 PM, Benn Mapes <benn.mapes@gmail.com> wrote:
>>
>> > Ok, I've started with the node tooling for android and put it up on
>> github.
>> > https://github.com/bennmapes/cordova-android/tree/node-toolin
>> >
>> > If someone can take a look at it and maybe add some suggestions that
>> would
>> > be awesome. I added a project.properties file to the root/bin folder so
>> you
>> > can `cd` into that folder and run npm install to get the node modules (I
>> > only used shell js, and the node_modules folder gets copied to each
>> created
>> > project).
>> >
>> > I ran into a ulimit problem when waiting for the android emulator, I
>> know
>> > Andrew solved this for the coho script but I wasn't able to get it
>> working
>> > on this one so maybe you could shed some light?
>> >
>> > Because you can't have executable (at least not that I know of) node
>> > scripts in windows you need to call it with a node prefix. Such as `node
>> > bin\create asdf`
>> >
>> > I can also push this branch up to apache if people want it up there, I
>> > didn't want to clutter the repo.
>> >
>> > Cheers,
>> > ~Benn
>> >
>> >
>> > On Mon, Aug 12, 2013 at 1:02 PM, Filip Maj <fil@adobe.com> wrote:
>> >
>> >> An unofficial tally of opinion so far:
>> >>
>> >> Android only: Jesse, Anis, Andrew, Lorin
>> >> All: Fil, Frank Henning, Matt Lantz
>> >>
>> >> Benn's vote counts as "do android now/soon, with all eventually".
>> >>
>> >> So putting effort into this venture for Android seems to be supported
>> for
>> >> now.
>> >>
>> >> If anyone is interested in kicking that off, it's filed as CB-3542 [1].
>> >>
>> >> [1] https://issues.apache.org/jira/browse/CB-3542
>> >>
>> >>
>> >> On 8/12/13 12:26 PM, "Jesse" <purplecabbage@gmail.com> wrote:
>> >>
>> >> >The question is not _are_ there benefit, but what value do that they
>> >> >bring,
>> >> >versus the effort to do it?
>> >> >In my opinion rewriting it presents a greater risk than (for example)
>> >> >having a Log utility function duplicated across files, as it will
>> _never_
>> >> >change.
>> >> >To me this is a case of knowing what and when to optimize.
>> >> >
>> >> >We've already talked about this too much, so I will go with whatever
>> the
>> >> >consensus is.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >@purplecabbage
>> >> >risingj.com
>> >> >
>> >> >
>> >> >On Mon, Aug 12, 2013 at 11:58 AM, Filip Maj <fil@adobe.com> wrote:
>> >> >
>> >> >> One thing about the windows sets of scripts (Jscript-based) is
that
>> it
>> >> >>is
>> >> >> a primitive scripting language. From what I can tell (please
>> correct me
>> >> >>if
>> >> >> I'm wrong) there's no concept of modules, so code re-use is a
>> problem,
>> >> >> which leads us to roll with copy-paste jobs such as the Log function
>> >> [1]
>> >> >> [2] [3] and the exec function [4] [5].
>> >> >>
>> >> >> I agree forging ahead and rewriting a bunch of stuff just for the
>> sake
>> >> >>of
>> >> >> consistency is make-work, but there _are_ benefits that would come
>> out
>> >> >>of
>> >> >> these efforts.
>> >> >>
>> >> >> [1]
>> >> >>
>> >> >>
>> >>
>> https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordova/li
>> >> >>b/
>> >> >> deploy.js#L72
>> >> >> [2]
>> >> >>
>> >> >>
>> >>
>> https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordova/li
>> >> >>b/
>> >> >> clean.js#L39
>> >> >> [3]
>> >> >>
>> >> >>
>> >>
>> https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordova/li
>> >> >>b/
>> >> >> build.js#L44
>> >> >> [4]
>> >> >>
>> >> >>
>> >>
>> https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordova/li
>> >> >>b/
>> >> >> deploy.js#L94
>> >> >> [5]
>> >> >>
>> >> >>
>> >>
>> https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordova/li
>> >> >>b/
>> >> >> build.js#L54
>> >> >>
>> >> >> On 8/12/13 10:18 AM, "Benn Mapes" <benn.mapes@gmail.com>
wrote:
>> >> >>
>> >> >> >+1 to this thread.
>> >> >> >
>> >> >> >I say we work on BB/Android first but it would be nice to have
all
>> the
>> >> >> >tooling eventually in node (for consistency/maintainability).
For
>> the
>> >> >> >windows tooling, it's mostly in JScript at the moment anyways
so
>> the
>> >> >>code
>> >> >> >could pretty much stay the same by just updating a few of the
basic
>> >> >> >functions such as logging, exec, and read/write.
>> >> >> >
>> >> >> >
>> >> >> >On Mon, Aug 12, 2013 at 9:11 AM, Lorin Beer
>> >> >> ><lorin.beer.dev@gmail.com>wrote:
>> >> >> >
>> >> >> >> this conversation has been continuing on and offline around
the
>> >> >> >> watercooler.
>> >> >> >>
>> >> >> >> +1 for Jesse's concern.
>> >> >> >>
>> >> >> >> There is absolutely no value in throwing out working bat
scripts
>> and
>> >> >> >> rewriting them in node. It's makework.
>> >> >> >>
>> >> >> >> For BB10, the scripts were written in node in the first
place,
>> and
>> >> >> >>bash/bat
>> >> >> >> scripts invoke the node scripts. The inverse would be
fine for
>> >> WP7/8.
>> >> >> >>Node
>> >> >> >> alias invokes bat script.
>> >> >> >>
>> >> >> >>
>> >> >> >> On Wed, Aug 7, 2013 at 12:51 PM, Jesse <purplecabbage@gmail.com>
>> >> >>wrote:
>> >> >> >>
>> >> >> >> > No, I have not yet seen it, sounds sweet, and I applaud
your
>> >> >> >>commitment.
>> >> >> >> > The comment was based on historical data; I am still
optimistic
>> >> for
>> >> >> >>the
>> >> >> >> > future.
>> >> >> >> > You will of course need to upgrade/downgrade to Windows
8 to
>> >> >> >>develop/test
>> >> >> >> > for Windows 8, or Windows Phone 8.
>> >> >> >> >
>> >> >> >> > @purplecabbage
>> >> >> >> > risingj.com
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > On Wed, Aug 7, 2013 at 12:14 PM, Filip Maj <fil@adobe.com>
>> wrote:
>> >> >> >> >
>> >> >> >> > > I resent that comment about lack of Windows
testing! Have you
>> >> >>seen
>> >> >> >>my
>> >> >> >> > > sweet swivel-monitor laptop that I have Windows
7 on?
>> >> >> >> > >
>> >> >> >> > > On 8/7/13 12:11 PM, "Jesse" <purplecabbage@gmail.com>
wrote:
>> >> >> >> > >
>> >> >> >> > > >Well, given that only Benn, and myself have
contributed to
>> the
>> >> >> >>windows
>> >> >> >> > 8,
>> >> >> >> > > >and windows phone platform scripts, and
no one else even
>> seems
>> >> >> >>willing
>> >> >> >> > to
>> >> >> >> > > >test the windows phone platform, it seems
unfair to suggest
>> we
>> >> >> >>throw
>> >> >> >> > away
>> >> >> >> > > >working code, and rewrite it just for fun.
>> >> >> >> > > >
>> >> >> >> > > >Having a dependency on node is not a big
deal, it is the 30+
>> >> >>other
>> >> >> >>npm
>> >> >> >> > > >libraries that always seem to come along,
each with varying
>> >> >>support
>> >> >> >> for
>> >> >> >> > > >windows, that I have issues with.
>> >> >> >> > > >
>> >> >> >> > > >I will consider writing you a node callable
facade, that
>> still
>> >> >> >>calls
>> >> >> >> the
>> >> >> >> > > >.bat and wsh files behind the scenes.
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > >@purplecabbage
>> >> >> >> > > >risingj.com
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > > >On Wed, Aug 7, 2013 at 11:40 AM, Steven
Gill
>> >> >> >><stevengill97@gmail.com>
>> >> >> >> > > >wrote:
>> >> >> >> > > >
>> >> >> >> > > >> To install any plugins you at least
need plugman which
>> >> >>requires
>> >> >> >> node.
>> >> >> >> > > >>Our
>> >> >> >> > > >> users are most likely going to have
to install node as a
>> >> >> >>dependency
>> >> >> >> at
>> >> >> >> > > >>some
>> >> >> >> > > >> point. I don't see why having it as
a dependency for
>> platform
>> >> >> >> > libraries
>> >> >> >> > > >>is
>> >> >> >> > > >> such a big deal.
>> >> >> >> > > >>
>> >> >> >> > > >>
>> >> >> >> > > >> On Wed, Aug 7, 2013 at 11:34 AM, M.
Lantz
>> >> >><mattlantz@gmail.com>
>> >> >> >> > wrote:
>> >> >> >> > > >>
>> >> >> >> > > >> > +1
>> >> >> >> > > >> >
>> >> >> >> > > >> > Agreed I pretty much only use
Cordova cli at this stage
>> to
>> >> >>make
>> >> >> >> apps
>> >> >> >> > > >>and
>> >> >> >> > > >> > as such don't have any issues
keeping my node up to
>> date or
>> >> >> >> relying
>> >> >> >> > > >>on is
>> >> >> >> > > >> > as a dependency.
>> >> >> >> > > >> >
>> >> >> >> > > >> > M. Lantz
>> >> >> >> > > >> >
>> >> >> >> > > >> > On 2013-08-07, at 1:07 PM, Frank
Hennig <
>> >> >> >> fhe.development@gmail.com>
>> >> >> >> > > >> wrote:
>> >> >> >> > > >> >
>> >> >> >> > > >> > > +1 for all platforms
>> >> >> >> > > >> > >
>> >> >> >> > > >> > > I think it's not really an
completely new dependency.
>> >> Some
>> >> >> >> > > >>components
>> >> >> >> > > >> > actually depends on node.js like
cordova-cli and
>> plugman.
>> >> >>Many
>> >> >> >> > > >>developers
>> >> >> >> > > >> > of cordova app's actually using
grunt or bower and other
>> >> >>node
>> >> >> >> > related
>> >> >> >> > > >> stuff
>> >> >> >> > > >> > to lint or to test their html
and js code.
>> >> >> >> > > >> > >
>> >> >> >> > > >> > > A consistent tool and script
language it's easier to
>> >> >> >>maintain an
>> >> >> >> > to
>> >> >> >> > > >> > debug.
>> >> >> >> > > >> > >
>> >> >> >> > > >> > >
>> >> >> >> > > >> > > On Aug 7, 2013, at 12:14
AM, Filip Maj wrote:
>> >> >> >> > > >> > >
>> >> >> >> > > >> > >> I would like to introduce
node.js as a dependency for
>> >> the
>> >> >> >> > platform
>> >> >> >> > > >> > >> libraries, so that the
platform scripts (bin/create,
>> >> >> >> cordova/run,
>> >> >> >> > > >>etc)
>> >> >> >> > > >> > are
>> >> >> >> > > >> > >> written in node.
>> >> >> >> > > >> > >>
>> >> >> >> > > >> > >> Pros:
>> >> >> >> > > >> > >> - For multi-OS platforms
(Android, BlackBerry), this
>> >> >>reduces
>> >> >> >> > > >>committer
>> >> >> >> > > >> > >> cognitive load as the
scripts do not need to be
>> authored
>> >> >>in
>> >> >> >>two
>> >> >> >> > > >> > different
>> >> >> >> > > >> > >> script languages (I.e.
Shell for unix-y Oses, Wscript
>> >> for
>> >> >> >> > Windows)
>> >> >> >> > > >> > >> - consistency in tool/script
language. Cordova-js,
>> coho,
>> >> >>cli
>> >> >> >> and
>> >> >> >> > > >> plugman
>> >> >> >> > > >> > >> are all written on top
of node.js.
>> >> >> >> > > >> > >>
>> >> >> >> > > >> > >> Cons:
>> >> >> >> > > >> > >> - Introducing a new dependency
>> >> >> >> > > >> > >>
>> >> >> >> > > >> > >> NB: This is separate
from platform-spec; I would
>> like to
>> >> >>see
>> >> >> >> > > >> > platform-spec
>> >> >> >> > > >> > >> created/used regardless
of the outcome of this
>> thread.
>> >> >> >> > > >> > >
>> >> >> >> > > >> >
>> >> >> >> > > >>
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> >
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> This transmission (including any attachments) may contain confidential
>> information, privileged material (including material protected by the
>> solicitor-client or other applicable privileges), or constitute non-public
>> information. Any use of this information by anyone other than the intended
>> recipient is prohibited. If you have received this transmission in error,
>> please immediately reply to the sender and delete this information from
>> your system. Use, dissemination, distribution, or reproduction of this
>> transmission by unintended recipients is not authorized and may be unlawful.
>>
>
>

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