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
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ć.
Nie robie przesadnie duzo w JS, ale co to #!$%@? jest? To normalne, ze funkcja na 3 linijki to osobny modul npm? xD Nikt jeszcze nie wpadl na to, zeby zebrac to do kupy czy jest to tak swietnie pomyslane, ze nieuzywane funkcje zjadaja zasoby i trzeba sie tak rozdrabniac?
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 5: Developer: (╯°□°)╯︵┻━┻ To ja #!$%@? 6. NPM. Ups, parę rzeczy się
@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.
@Ginden: "napisać o tym np. do Facebooka, Google, Intela, Apple, Yahoo, Microsoftu?" słabo, bardzo słabo :-D. Javascript przezywa renesans tylko i wyłącznie bo w przeglądarkach nie ma innego mechanizmu do wprowadzenia mechanizmów programowania . Oczywiście, że marnują pieniądze,, każdy wymyśla jakieś obejścia, Google Angular 1 a w 2 wszystko zmienili + Dart jako kolejna proteza, Intel zajmuje się JS? hehe gdzie? Apple ma js gleboko w d., on propaguje natywne aplikacje
@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 przejmować się
@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
@rozdajozadarmo: (╯°□°)╯︵ ┻━┻
@kakaduupg: A wiesz jak najłatwiej nauczyć się Javy?
1. Naucz się JavaScriptu.
2. Oducz się Scriptu.
3. Umiesz Javę.
4. 15k netto na rękę.
5. Ironia - polecam zapoznać się z terminem, bo wbrew nazwie nie jest to magiczna kraina gdzie żelazka trafiają po śmierci.
Nie robie przesadnie duzo w JS, ale co to #!$%@? jest? To normalne, ze funkcja na 3 linijki to osobny modul npm? xD
Nikt jeszcze nie wpadl na to, zeby zebrac to do kupy czy jest to tak swietnie pomyslane, ze nieuzywane funkcje zjadaja zasoby i trzeba sie tak rozdrabniac?
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
5: Developer: (╯°□°)╯︵ ┻━┻ To ja #!$%@?
6. NPM. Ups, parę rzeczy się
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 :)
Javascript przezywa renesans tylko i wyłącznie bo w przeglądarkach nie ma innego mechanizmu do wprowadzenia mechanizmów programowania . Oczywiście, że marnują pieniądze,, każdy wymyśla jakieś obejścia, Google Angular 1 a w 2 wszystko zmienili + Dart jako kolejna proteza, Intel zajmuje się JS? hehe gdzie? Apple ma js gleboko w d., on propaguje natywne aplikacje
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