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:47:52 GMT
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