cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitry Blotsky <dblot...@microsoft.com>
Subject Re: [DISCUSS] CLI Templates
Date Tue, 08 Dec 2015 04:05:27 GMT
Thanks for the summary, Carlos! Sorry, I hadn’t read the whole thread when I sent my question.
I read up after your email, and I have a better grasp on it now. My new questions are below.

1. What is the `cordova create` command then doing if it’s copying (potentially) the whole
app it’s trying to create? The `--copy-from` flag creates fresh copies of Cordova-specific
files and only copies the `www` folder, which is app-agnostic anyway.
2. Isn’t the new flag basically the same as an invocation of `cp` or `git clone`? And if
we’re going into the realm of examining the template and “filling in” potentially missing
files, isn’t that a logical nightmare since there are so many possible things that could
be missing in an app?

Kindly,
Dmitry

> On Dec 5, 2015, at 7:00 AM, Carlos Santana <csantana23@gmail.com> wrote:
> 
> The email thread has the details but in summary:
> It doesn't handle npm and git as source
> It doesn't copy everything
> By adding npm and git having the flag copy-from it's confusing.
> 
> On Fri, Dec 4, 2015 at 9:04 PM Dmitry Blotsky <dblotsky@microsoft.com>
> wrote:
> 
>> Hey folks. Sorry I'm late to the party, but why is `--copy-from` not
>> sufficient?
>> 
>> Kindly,
>> Dmitry
>> 
>> -----Original Message-----
>> From: Carlos Santana [mailto:csantana23@gmail.com]
>> Sent: Friday, December 4, 2015 10:09 AM
>> To: dev@cordova.apache.org
>> Subject: Re: [DISCUSS] CLI Templates
>> 
>> Michael we will love to hear your feedback, and we can improve on top of
>> what's initially there.
>> 
>> 
>> On Fri, Dec 4, 2015 at 1:04 PM Carlos Santana <csantana23@gmail.com>
>> wrote:
>> 
>>> Michael
>>> Links to PRs where available for a while on the proposal.
>>> 
>>> https://github.com/apache/cordova-lib/pull/339
>>> https://github.com/apache/cordova-cli/pull/226
>>> 
>>> 
>>> On Fri, Dec 4, 2015 at 11:33 AM Michael Brooks
>>> <michael@michaelbrooks.ca>
>>> wrote:
>>> 
>>>> I'd love to see a pull request rather than a straight up merge, since
>>>> the template discussion was more involved. Also, I'm really looking
>>>> forward to seeing your work on this!
>>>> 
>>>> On Thu, Dec 3, 2015 at 9:47 AM, Carlos Santana <csantana23@gmail.com>
>>>> wrote:
>>>> 
>>>>> I will be working later today with James from my team on merging
>>>>> initial implementation of --template. it will update a few repos
>>>>> (cli, lib, doc)
>>>>> 
>>>>> Anyone oppose?
>>>>> 
>>>>> 
>>>>> On Fri, Nov 13, 2015 at 1:50 PM Carlos Santana
>>>>> <csantana23@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> alias, deprecate and later remove
>>>>>> 
>>>>>> On Fri, Nov 13, 2015 at 1:49 PM Carlos Santana
>>>>>> <csantana23@gmail.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> I agree, --template is the new --copy-from :-)
>>>>>>> 
>>>>>>> 
>>>>>>> On Fri, Nov 13, 2015 at 1:48 PM Shazron <shazron@gmail.com>
wrote:
>>>>>>> 
>>>>>>>> Well, we could deprecate --copy-from, and alias --template
to it.
>>>> But
>>>>>>>> we shouldn't have both, it should just be one implementation.
>>>>>>>> 
>>>>>>>> On Fri, Nov 13, 2015 at 10:45 AM, Carlos Santana <
>>>> csantana23@gmail.com
>>>>>> 
>>>>>>>> wrote:
>>>>>>>>> In some way we we are enhancing --copy-from
>>>>>>>>> 
>>>>>>>>> I'm OK to the copy blindly even plugins and platforms,
I was
>>>> trying
>>>>> to
>>>>>>>>> avoid people creating templates when is not need it if
they
>>>> already
>>>>>>>> have
>>>>>>>>> platforms and plugins
>>>>>>>>> But I'm OK if we want to allow it, but I would not documented
>>>>>>>>> :-)
>>>> it
>>>>>>>> just
>>>>>>>>> happens to work
>>>>>>>>> 
>>>>>>>>> but I don't like the "--copy-from" name, I want to use
>>>> "--template"
>>>>>>>> that
>>>>>>>>> takes path, giturl, and npm name
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Fri, Nov 13, 2015 at 1:41 PM Carlos Santana <
>>>> csantana23@gmail.com
>>>>>> 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> What dynamic nature you want ?
>>>>>>>>>> 
>>>>>>>>>> I think using yeoman is bad idea, we tried at work
at is a
>>>>>>>>>> huge
>>>>>>>> dependency
>>>>>>>>>> in terms of foot print and number of dependencies.
>>>>>>>>>> We then learned that just using the inquirer npm
package
>>>>>>>>>> gave us
>>>>> what
>>>>>>>> we
>>>>>>>>>> wanted to create an interactive experience in the
CLI
>>>>>>>>>> 
>>>>>>>>>> At least the first implementation I want to keep
it simple,
>>>>>>>>>> but
>>>> you
>>>>>>>>>> brought a good point about dynamic.
>>>>>>>>>> 
>>>>>>>>>> I will update proposal, add that if user passed any
of the
>>>> optional
>>>>>>>>>> arguments for create like app-id, app-name, or app-version
>>>>>>>>>> they
>>>>>>>> replace the
>>>>>>>>>> ones in the template.
>>>>>>>>>> 
>>>>>>>>>> I will double check with James to see if already
implemented
>>>> this in
>>>>>>>> his
>>>>>>>>>> current PR, if not then will added.
>>>>>>>>>> 
>>>>>>>>>> It terms of dynamic I think after we get the first
>>>>>>>>>> implementation
>>>>>>>> out, I
>>>>>>>>>> would like to enhance on top of it with allowing
the
>>>>>>>>>> template to
>>>>> have
>>>>>>>>>> scripts that can run
>>>>>>>>>> like before_create and after_create, then the template
can
>>>> specify
>>>>>>>> this in
>>>>>>>>>> the scripts object of the package.json and cordova
cli just
>> runs.
>>>>>>>> This way
>>>>>>>>>> template owner can run what ever they want even inquirer
to
>>>>>>>>>> ask
>>>>>>>> questions
>>>>>>>>>> to user for additional things to setup with the template.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> [1]:
>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%
>>>>>>>>>> 2f%2fwww.npmjs.com%2fpackage%2finquirer&data=01%7c01%7cdblot
>>>>>>>>>> sky%40microsoft.com%7c9fb3634d35ba45cd7a7508d2fcd60177%7c72f
>>>>>>>>>> 988bf86f141af91ab2d7cd011db47%7c1&sdata=cGhgCrxXQToX3DsPn2Om
>>>>>>>>>> UCsTQtcWl11IjuPpgRdFlco%3d
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Thu, Nov 12, 2015 at 1:56 PM Parashuram N <
>>>>> panarasi@microsoft.com>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> ReactNative init does use yeoman - that is a
good idea !!
>>>> However,
>>>>>>>> does
>>>>>>>>>>> that mean that we need to depend on Yeoman also
? Does it
>>>>>>>>>>> make
>>>>> sense
>>>>>>>> to
>>>>>>>>>>> simply have a separate yeoman generator ?
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On 11/12/15, 10:10 AM, "Gorkem Ercan"
>>>>>>>>>>> <gorkem.ercan@gmail.com>
>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> How about adding support for some more dynamic
generation.
>>>>>>>>>>>> Can we add yeoman as an option something
like $cordova
>>>>>>>>>>>> create
>>>>> myApp
>>>>>>>>>>>> --template=yo:m
>>>>>>>>>>>> to invoke the generator m ?
>>>>>>>>>>>> --
>>>>>>>>>>>> Gorkem
>>>>>>>>>>>> 
>>>>>>>>>>>> On 10 Nov 2015, at 19:52, Carlos Santana
wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> Parashuram
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I would say that if they have "platforms"
and "plugins"
>>>>>>>>>>>>> it's
>>>> not
>>>>>>>>>>>>> consider a
>>>>>>>>>>>>> template, its consider a cordova project
ready to be use
>>>>>>>>>>>>> no
>>>> need
>>>>>>>> to
>>>>>>>>>>>>> run
>>>>>>>>>>>>> create on it.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> As far as cp-from, it's doesn't copy
much only www and
>>>>>>>> config.xml, I
>>>>>>>>>>>>> didn't
>>>>>>>>>>>>> want to change it's behavior for backwards
>>>>>>>>>>>>> compatibility. I
>>>>> think
>>>>>>>> it
>>>>>>>>>>>>> will
>>>>>>>>>>>>> be good to mark it deprecated for a certain
period of
>>>>>>>>>>>>> time,
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> +1 for deprecating the copy-from.
>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Nov 10, 2015 at 5:19 PM Parashuram
N <
>>>>>>>> panarasi@microsoft.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Yes, they would. However, there could
be cases where
>>>>>>>>>>>>>> folks
>>>>> would
>>>>>>>> like
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> have templates that have changes
stuff in platforms, or
>>>> added
>>>>>>>> custom
>>>>>>>>>>>>>> plugins or hooks. I think that instead
of adding extra
>>>>>>>>>>>>>> code
>>>> to
>>>>>>>>>>>>>> prevent all
>>>>>>>>>>>>>> these things, we keep things simple,
and copy over
>>>> everything.
>>>>>>>> The
>>>>>>>>>>>>>> templates can then decide what they
want to do, and
>>>>>>>>>>>>>> most of
>>>>> them
>>>>>>>> will
>>>>>>>>>>>>>> not
>>>>>>>>>>>>>> bundle plugins or platforms.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>> From: Steven Gill [mailto:stevengill97@gmail.com]
>>>>>>>>>>>>>> Sent: Tuesday, November 10, 2015
2:16 PM
>>>>>>>>>>>>>> To: dev@cordova.apache.org
>>>>>>>>>>>>>> Subject: Re: [DISCUSS] CLI Templates
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> If the plugins and platforms are
listed in config.xml,
>>>> wouldn't
>>>>>>>> they
>>>>>>>>>>>>>> just
>>>>>>>>>>>>>> get fetched on prepare?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Tue, Nov 10, 2015 at 2:09 PM,
Parashuram N
>>>>>>>>>>>>>> <panarasi@microsoft.com>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I think it should copy platform
and plugins folders,
>>>>>>>>>>>>>>> if
>>>> those
>>>>>>>> are a
>>>>>>>>>>>>>>> part of the template. I think
the guidance should be
>>>>>>>>>>>>>>> that
>>>> most
>>>>>>>>>>>>>>> templates should not include
a platform or a plugin
>>>>>>>>>>>>>>> folder,
>>>>> but
>>>>>>>> if
>>>>>>>>>>>>>>> they do - for reasons like custom
plugins, etc, then
>>>>>>>>>>>>>>> we
>>>> should
>>>>>>>> let
>>>>>>>>>>>>>>> that happen. The only enhancement
from --copy-from
>>>>>>>>>>>>>>> would be
>>>>>>>> that we
>>>>>>>>>>>>>>> also
>>>>>>>>>>>>>> support npm and git URLs.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>>> From: Carlos Santana [mailto:csantana23@gmail.com]
>>>>>>>>>>>>>>> Sent: Tuesday, November 10, 2015
1:26 PM
>>>>>>>>>>>>>>> To: dev@cordova.apache.org
>>>>>>>>>>>>>>> Subject: Re: [DISCUSS] CLI Templates
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Parashuram
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> The template doesn't any special
structure, the
>>>>>>>>>>>>>>> current
>>>> hello
>>>>>>>> app in
>>>>>>>>>>>>>>> npm is already a template
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Will add comment in PR about
having fixtures in tests
>>>>>>>>>>>>>>> for
>>>>>>>> different
>>>>>>>>>>>>>>> uses cases with different type
of templates
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> The code copies everything except
plugins and
>>>>>>>>>>>>>>> platforms
>>>>>>>> directories,
>>>>>>>>>>>>>>> maybe it needs some comments
to make it more clear
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> It should copy dot files like
.gitignore,
>>>>>>>>>>>>>>> .editorconfig,
>>>>>>>> .bowerrc
>>>>>>>>>>>>>>> Very
>>>>>>>>>>>>>>> important at least for me .gitignore,
it helps when
>>>>>>>>>>>>>>> folks
>>>> ask
>>>>> if
>>>>>>>>>>>>>>> they
>>>>>>>>>>>>>>> should ignore platforms and plugins
from source
>>>>>>>>>>>>>>> control and
>>>>> the
>>>>>>>>>>>>>>> answer
>>>>>>>>>>>>>>> is always YES. If they are asking
then it means they
>>>>>>>>>>>>>>> need
>>>> the
>>>>>>>>>>>>>>> advise.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On Tue, Nov 10, 2015 at 3:27
PM Parashuram N
>>>>>>>>>>>>>>> <panarasi@microsoft.com>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> +1 to the proposal.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Is there a structure of a
sample template ? Also, the
>>>>>>>>>>>>>>>> code
>>>>>>>> seems to
>>>>>>>>>>>>>>>> copy everything from npm
or the gitURL, though in the
>>>>> proposal
>>>>>>>> you
>>>>>>>>>>>>>>>> say that dot file and hooks/platforms
should not be
>>>> copies.
>>>>>>>> Should
>>>>>>>>>>>>>>>> we talk about that in the
proposal too ?
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>>>> From: Raymond Camden [mailto:raymondcamden@gmail.com]
>>>>>>>>>>>>>>>> Sent: Tuesday, November 10,
2015 12:01 PM
>>>>>>>>>>>>>>>> To: dev@cordova.apache.org
>>>>>>>>>>>>>>>> Subject: Re: [DISCUSS] CLI
Templates
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Yeah, nothing to add here
but +1.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Oh, the only thing I'd add
is that I wish there was a
>>>>>>>>>>>>>>>> way
>>>> to
>>>>>>>>>>>>>>>> *permanently* set a template.
I hate the default
>>>>>>>>>>>>>>>> Cordova
>>>>>>>> template
>>>>>>>>>>>>>>>> (sorry
>>>>>>>>>>>>>>>> ;) and would love to make
the CLI always use my own
>>>>> particular
>>>>>>>>>>>>>> template.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On Tue, Nov 10, 2015 at 1:52
PM, Ryan J. Salva
>>>>>>>>>>>>>>>> <rsalva@microsoft.com>
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>> I love it!
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> rjs
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Ryan J. Salva  |  Principal
Program Manager Lead
>>>>>>>>>>>>>>>>> Visual
>>>>> Studio
>>>>>>>>>>>>>>>>> Tools for Apache Cordova
rsalva@microsoft.com
>>>>>>>>>>>>>>>>> 206 612 5079 mobile
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>>>>> From: Carlos Santana
[mailto:csantana23@gmail.com]
>>>>>>>>>>>>>>>>> Sent: Tuesday, November
10, 2015 7:49 PM
>>>>>>>>>>>>>>>>> To: dev@cordova.apache.org
>>>>>>>>>>>>>>>>> Subject: [DISCUSS] CLI
Templates
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> From the Face2Face meeting
updating the cordova cli
>>>>>>>>>>>>>>>>> to
>>>> work
>>>>>>>> with
>>>>>>>>>>>>>>>>> templates sounded like
a good feature to add to the
>>>>>>>>>>>>>>>>> CLI
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> I finally got around
to this and created the
>>>>>>>>>>>>>>>>> proposal and
>>>>> got
>>>>>>>>>>>>>>>>> James
>>>>>>>>>>>>>>>> Dubee from our team to take
a stab at implementation.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> CLI-Template proposal
[1]
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> [1]:
>>>>>>>>>>>>>>>>> 
>>>>>>>> https://github.com/cordova/cordova-discuss/blob/master/proposal
>>>>>>>> s/C
>>>>>>>>>>>>>>>>> LI
>>>>>>>>>>>>>>>>> -T
>>>>>>>>>>>>>>>>> 
>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=emplates.md&
>>>>>>>> dat
>>>>>>>>>>>>>>>>> a=
>>>>>>>>>>>>>>>>> 01%7c01%7cpanarasi%40microsoft.com
>>>>>>>> %7ce586e8f64dae4418c1b708d2ea158
>>>>>>>>>>>>>>>>> 9e
>>>>>>>>>>>>>>>>> 
>>>>>>>> d%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=kctEUezjtECUIvZQ
>>>>>>>> cih
>>>>>>>>>>>>>>>>> bu
>>>>>>>>>>>>>>>>> uydWn7HfTJO8c7W0LTz98U%3d
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> --Carlos
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> 
>>>>>>>> ===============================================================
>>>>>>>> =====
>>>>>>>>>>>>>>>> == ===== Raymond Camden,
Developer Advocate for
>>>> MobileFirst
>>>>> at
>>>>>>>> IBM
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Email : raymondcamden@gmail.com
Blog :
>>>>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>> https://na01.safelinks.protection.outlook.com/?url=www.raymondcamde
>>>>> n
>>>>>>>>>>>>>>>> .c
>>>>>>>>>>>>>>>> om&data=01%7c01%7cpanarasi%40microsoft.com
>>>>>>>>>>> %7c92e5feab0e524d2dbc8008d
>>>>>>>>>>>>>>>> 2e
>>>>>>>>>>>>>>>> 
>>>>>>>> a09af88%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=xMtq2oC%2b
>>>>>>>> %2b%2
>>>>>>>>>>>>>>>> fB
>>>>>>>>>>>>>>>> bNlOcIKlStSkgUUuiGDKbq7KuNMHLiVU%3d
>>>>>>>>>>>>>>>> Twitter: raymondcamden
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>> ---------------------------------------------------------------
>>>>>>>> -----
>>>>>>>>>>>>>>>> - To unsubscribe, e-mail:
>>>> dev-unsubscribe@cordova.apache.org
>>>>>>>>>>>>>>>> For additional commands,
e-mail:
>>>> dev-help@cordova.apache.org
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>> ---------------------------------------------------------------
>>>>>>>> -----
>>>>>>>>>>>>>>>> - To unsubscribe, e-mail:
>>>> dev-unsubscribe@cordova.apache.org
>>>>>>>>>>>>>>>> For additional commands,
e-mail:
>>>> dev-help@cordova.apache.org
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>> 
>>>>> --------------------------------------------------------------------
>>>>> -
>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>> dev-help@cordova.apache.org
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@cordova.apache.org
>>>>>>>> 
>>>>>>>> 
>>>>> 
>>>> 
>>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org
Mime
View raw message