Przejdź do treści
100% lokalnie

Konwerter npm ⇄ yarn ⇄ pnpm

Konwertuj polecenie npm, yarn, pnpm, bun lub deno na odpowiadające polecenie w innym menedżerze pakietów.

Wejście
Wynik

Konwerter npm ⇄ yarn ⇄ pnpm

Wklej polecenie menedżera pakietów, a to narzędzie przepisze je dla npm, Yarn classic, Yarn berry, pnpm, Bun lub Deno. Gdy przechodzisz projekt, podążasz za README napisanym dla innego narzędzia, lub masz odruchowo przyzwyczajone próbowanie innego menedżera — polecenie, które masz, nie jest tym, które potrzebujesz, i to konwertuje je natychmiast zamiast ręcznie szukać równoważnej flagi.

Menedżer źródłowy można automatycznie rozpoznać z samego polecenia lub ustawić jawnie (przydatne, jeśli chcesz, aby wiersze z innych menedżerów były oznaczone zamiast cichego pominięcia). Menedżer docelowy to jeden z npm, Yarn classic, Yarn berry, pnpm, Bun lub Deno. Polecenia install, add i remove niosą swoje flagi prawidłowo — npm --save-dev stanie się Yarn --dev, pnpm --save-exact lub Bun --dev, a zwykły npm ci stanie się install z --frozen-lockfile lub --immutable dla Yarn berry. Polecenia run-script i ich argumenty końcowe po -- są również zachowywane. Włącz "zachowaj flagi bez odpowiednika" aby zachować nierozpoznaną flagę dosłownie na wyjściu zamiast jej pominięcia, i "ostrzegaj o flagach bez odpowiednika" aby otrzymać linię komentarza # wskazującą dokładnie która flaga lub polecenie nie ma bezpośredniej równowartości — usunięcie globalnego add w Yarn berry to jeden z takich przypadków.

Domyślnie konwertuje się tylko pierwsze polecenie na wejściu; włączenie trybu wsadowego konwertuje każdy wiersz naraz, co jest przydatne przy tłumaczeniu całego skryptu instalacji. Wiersze, które wyglądają jak polecenie menedżera pakietów, są w trybie wsadowym przenoszone bez zmian (z ostrzeżeniem, jeśli włączone), lub tworzą błąd w trybie jednego polecenia. Obsługiwane są końce wierszy Windows i Unix.

Wszystko działa lokalnie w twojej przeglądarce — żadne polecenie ani nazwa pakietu nie jest nigdy wysyłane nigdzie. Skopiuj wynik, pobierz go jako plik .txt lub wyślij go z powrotem na wejście aby konwertować ponownie dla trzeciego menedżera.

Częste pytania

Które polecenia są obsługiwane?
Instalacja wszystkich zależności (w tym npm ci i instalacji z frozen-lockfile), dodawanie pakietów (z flagami --save-dev/--dev, --save-exact/--exact i globalnymi flagami), usuwanie pakietów i uruchamianie skryptów z package.json z dodatkowymi argumentami po --. Deno jest obsługiwane w obie strony: pakiet staje się npm:chalk, instalacja globalna to deno install --global, a skrypt to deno task.
Co się stanie z flagami bez odpowiednika w menedżerze docelowym?
Jeśli "zachowaj flagi" jest włączone, jest zachowywane dosłownie na końcu linii wyjściowej; jeśli "ostrzegaj o flagach" jest włączone, otrzymasz również linię komentarza # wskazującą dokładnie która flaga nie ma odpowiednika, taką jak usunięcie globalnego add w Yarn berry.
Czy rozpoznaje, z którego menedżera pochodzi polecenie wejściowe?
Tak, domyślnie. Możesz również jawnie wybrać menedżer źródłowy, w takim przypadku wiersz napisany dla innego menedżera będzie oznaczony zamiast być konwertowany.
Czy mogę konwertować cały skrypt instalacji naraz?
Włącz tryb wsadowy aby konwertować każdy wiersz wejścia niezależnie; bez niego konwertuje się tylko pierwsze polecenie.
Czy moje polecenie lub lista pakietów jest wysyłana gdziekolwiek?
Nie. Konwersja działa całkowicie w twojej przeglądarce — nic, co tu wkleisz, nie jest wysyłane na serwer.