hex, rebar and make part of mix. You can find do_mix, do_make, do_rebar, 
do_rebar3 in lib/mix/lib/mix/tasks/deps.compile.ex. 
And I can answer for you question "why would we have npm?"... Why not?

npm have problem with deps, deps in deps, locks and cache deps tree.
bower sovle this problems using flat deps tree, and have simple ovveride 
mechanism(use newerest version).
npm try solve problems with shrinkwrap and caching modules(all this 
solution ugly).
bower depricated.

mix have all mechanism for work with deps: versioning, local deps, lock, 
and other.
mix don't have good api to extended managers, thats all.

четверг, 8 июня 2017 г., 11:53:13 UTC+3 пользователь Michał Muskała написал:
>
> Even hex itself is not part of elixir core or mix, why would we have npm?
>
> Michał.
>
> On 8 Jun 2017, 10:21 +0200, Aleksandr Pavliutin <[email protected] 
> <javascript:>>, wrote:
>
> As I undestand, mix part of Elixir *core*. Without mix you can't build 
> application more difficult than "hello world". 
>
> I don't agree with Justin, this functionality not for third party 
> libraries, because mix have 90% for work with npm.
> I can undestand this position if I propose make rust projects with mix 
> using cargo or something like this.
>
> Most of all phoenix projects have package.json and default build 
> instrustion "mix deps.get && npm install".
> It would be great if all npm deps and builds store in main tree (deps and 
> _build/[MIX_ENV] folders). All brunch scripts would be more simple,
> because they work with one dir in all projects.
>
> Mix have buildin functionality in core for make c/c++ projects and erlang 
> with rebar. And some erlang developers use mix for build they projects 
> instead rebar.
>
> четверг, 8 июня 2017 г., 1:57:46 UTC+3 пользователь José Valim написал:
>
>> What Justin Wood said: this definitely does not belong in Elixir *core*. 
>> This is a mailing list about the Elixir language and standard library.
>>
>>
>>
>> *José Valim*
>> www.plataformatec.com.br
>> Skype: jv.ptec
>> Founder and Director of R&D
>>
>> On Thu, Jun 8, 2017 at 12:43 AM, Justin Wood <[email protected]> wrote:
>>
>>> I think this functionality would be good for a third party library. Not 
>>> all Elixir applications would have use for something like this. 
>>>
>>> On Jun 7, 2017 6:41 PM, "Aleksandr Pavliutin" <[email protected]> 
>>> wrote:
>>>
>>>> It would be great, if I can manage node deps with mix. 
>>>>
>>>> As I understand, logic same as for hex repo:
>>>> - fetch need files from repo(github) using package.json config instead 
>>>> mix.exs, package.exs or rebar.config;
>>>> - fetch dependencies for package using MIX_ENV;
>>>> - save package, write metadata, lock and other;
>>>> - run npm build and install scripts if need with NODE_ENV=production(if 
>>>> MIX_ENV == prod) or NODE_ENV = develompert if (MIX_ENV == dev or MIX_ENV 
>>>> == 
>>>> test);
>>>> - make symlinks to executable files if need;
>>>>
>>>> I think problem only in semvers, they use caret ^ for versions, oftem 
>>>> this behaviour brakes build.
>>>> Bower, npm don't have override or lock mechanism for fix this behaviour.
>>>> Yarn try solve this problems, but many packages can't build(some issues 
>>>> open more than year), now they have 783 open issues.
>>>>
>>>> I think need simple functionality:
>>>> npm.docs - open npmjs.com/package/[PACKAGE] 
>>>> <http://npmjs.com/package/%5BPACKAGE%5D>
>>>> npm.info - print info
>>>> npm.outdated - print outdated packages
>>>> npm.search - search package
>>>>
>>>> May be good have many repos, and tools for manage npm repos.
>>>> And I think don't need functionality for publishes packages in npm repo 
>>>> with mix.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "elixir-lang-core" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/elixir-lang-core/f6fac075-949a-45d5-9781-4f8077fb364b%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/elixir-lang-core/f6fac075-949a-45d5-9781-4f8077fb364b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google 
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/CAFsaqD_722qJj-YUoyo26sPLTSWaxX72X9sPJkoWzMZAu0%2BoWg%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAFsaqD_722qJj-YUoyo26sPLTSWaxX72X9sPJkoWzMZAu0%2BoWg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>>  
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups 
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/elixir-lang-core/21b8086b-a244-4343-9612-d2bab78fdef5%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/elixir-lang-core/21b8086b-a244-4343-9612-d2bab78fdef5%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/4e8f0ad0-0f23-4bf8-9f90-64dea2f2e8d1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to