Na początek wyjaśnienie dla tych, którzy nie znają Javy w wersji script. npm (node package manager) - to menadżer pakietów dla środowiska node.js. Używany nie tylko dla aplikacji napisanych w node, ale też jako zamiennik dla popularnego we front-endzie Bowera.
TL;DR 1. Do właścicieli NPM zgłaszają się pracownicy jakiejś firmy ponieważ jeden z modułów narusza rzekomo prawa autorskie (chodzi o zbieżność nazw - nazwa modułu jest taka sama jak nazwa ich aplikacji).
Bo model NPM i RubyGems to jest rak. Ktos to zrobił dla zabawy, a miliony wykopowych programistów porobiło na tym aplikacje od ktorych dzialania zalezy czy ich rodziny maja co do garnka wlożyć.
Pokazuje to jak niedojrzałym narzędziem jest NPM. Firma kik chciała wrzucić swoją bibliotekę o takiej samej nazwie, więc NPM wywaliło to co było pod dotychczasową. A jakby kik tam rzeczywiście coś innego wrzuciło to jakby developerzy mieli na to patrzeć? Nagle im ktoś podmienił bibliotekę? No dziecinada po prostu...
Szkoda też, że nie wzięli przykładu z Javy. Dużo starszy język (nie mówiąc już o NodeJS), a konwencja nazywania pakietów znacznie zmniejsza ryzyko
1. Prawnicy: "kik" to nasze słowo, a ty sobie go używasz za darmo. Zmień bo pozew. 2. Developer: no chyba nie. 3. Prawnicy (do npm): "kik" to nasze słowo. Wyjebcie taki pakiet z repozytoriów bo pozew 4. NPM: A, jak pozew to dobra, wyrzucamy
@olewales: Właśnie mnie zastanawia jakim oni urwa prawem sobie zwyczajnie cofnęli jego cofnięcie. Gość wziął SWÓJ urwa kod i poszedł do domu. Nie działa innym, TOUGH BRO. Trzeba było zastanowić się co się robi. Ale nie przychodzi smutny pan reprezentujący Ważną Spółkę(tm) i wszyscy padają na kolana.
Język programowania w którym nie ma podstawowych funkcji do operacji na stringach i od jakiejś kilkulinijkowej prostej funkcji napisanej przez jakiegoś randomowego kolesia zależą tysiące projektów jest gównem.
@tomaszk-poz @m_bielawski wszystko się ładnie zipuje do kilkunastu MB. To jest żaden koszt. Zysk jest przy deploy na produkcje gdyż pomijam czasochłonny krok npm install, który ściąga pół internetu i zamiast tego robie unzipa. Priorytetem jest odporność i niezależność od zewnętrznych zależności. Klienta nie będzie obchodziło że nie możesz po kilku latach zbudować jego aplikacji bo jakiś tam moduł przestał istnieć itp. Ty masz zrobić zmianę w apce i nie
@tomaszk-poz: nie ma co dyskutować czy to śmietnik czy nie. Cały internet to śmietnik a jednak tu jesteś ;) Masz lepszą alternatywę na npm? Ja chciałem tylko podpowiedzieć jak można się zabezpieczyć i spać spokojnie ;)
@mswykop: "Masz lepszą alternatywę na npm?" Mam, nie używać node. "Ja chciałem tylko podpowiedzieć jak można się zabezpieczyć i spać spokojnie ;)" Zipując nie możesz spać spokojnie. Zmieni się wersja node i przestanie dzialac. Tak miałem jak wrocilem do projektu - musialem wszystko usunąć z node_modules i tak był problem, skonczylo sie na aktualizji node i ponownej instalacji.
Jak zabezpieczyć się przed padnięciem repozytoriów NPM? Zipujesz sobie node_modules przy każdym release i dodajesz zipa do repo. Jak padnie NPM zawsze zbudujesz swoją aplikację ze swojego zipa. Proste ;)
Komentarze (130)
najlepsze
TL;DR
1. Do właścicieli NPM zgłaszają się pracownicy jakiejś firmy ponieważ jeden z modułów narusza rzekomo prawa autorskie (chodzi o zbieżność nazw - nazwa modułu jest taka sama jak nazwa ich aplikacji).
@rozdajozadarmo: (╯°□°)╯︵ ┻━┻
@kakaduupg: A wiesz jak najłatwiej nauczyć się Javy?
1. Naucz się JavaScriptu.
2. Oducz się Scriptu.
3. Umiesz Javę.
4. 15k netto
Szkoda też, że nie wzięli przykładu z Javy. Dużo starszy język (nie mówiąc już o NodeJS), a konwencja nazywania pakietów znacznie zmniejsza ryzyko
@matips: I Java i JavaScript powstały w mniej więcej tym samym czasie
1. Prawnicy: "kik" to nasze słowo, a ty sobie go używasz za darmo. Zmień bo pozew.
2. Developer: no chyba nie.
3. Prawnicy (do npm): "kik" to nasze słowo. Wyjebcie taki pakiet z repozytoriów bo pozew
4. NPM: A, jak pozew to dobra, wyrzucamy
Ale nie przychodzi smutny pan reprezentujący Ważną Spółkę(tm) i wszyscy padają na kolana.
Do webowych appek jest w zasadzie tylko js :) Sam w nim robię sporo rzeczy. Nie zmienia to faktu że jest gównem :)
Masz lepszą alternatywę na npm?
Ja chciałem tylko podpowiedzieć jak można się zabezpieczyć i spać spokojnie ;)
Mam, nie używać node.
"Ja chciałem tylko podpowiedzieć jak można się zabezpieczyć i spać spokojnie ;)"
Zipując nie możesz spać spokojnie. Zmieni się wersja node i przestanie dzialac. Tak miałem jak wrocilem do projektu - musialem wszystko usunąć z node_modules i tak był problem, skonczylo sie na aktualizji node i ponownej instalacji.
Komentarz usunięty przez moderatora