並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 34 件 / 34件

新着順 人気順

pnpmの検索結果1 - 34 件 / 34件

  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

      node_modulesの問題点とその歴史 npm, yarnとpnpm
    • yarn と npm の栄枯盛衰

      yarn と npm の栄枯盛衰2021 年 8 月に yarn の v3 がリリースされました。2020 年の同月あたりに yarn v2 がリリースされたので、約 1 年ぶりのメジャーバージョンアップになります。 v1 → v2 のパラダイムシフトは強烈でしたが、 v2 → v3 は berry というパッケージ名は相変わらずで、 v2 の正統なバージョンアップでありちょっとだけ物足りなさを感じてます。 Get Started なにはともあれ、とりあえずは触ってみましょうか。 Node.js ≥ 16.10 であれば、 Corepack を使って以下のコマンドで yarn v3 をインストールできます。 $ corepack enable $ corepack prepare yarn@3.0.0 --activate # yarn.lock や README.md が生成される $

        yarn と npm の栄枯盛衰
      • なんでbun installは速いのか?

        ⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster. https://bun.sh/docs/cli/install という記述を見かけて直感的に、そうはならんやろと思ったものの実際にベンチマークをしているのでどういうことなのかを気になって調べた。 A global install cache. bun installを実行すると ~/.bun/install/cache/ 以下にnpmレジストリからダウンロードされたファイルの実体が展開されキャッシュされる(--cache-dirでパスを変更できる)。 キャッシュにはパッケージのバージョンごとのディレクトリとlatestのシンボリックリンクがある。こ

          なんでbun installは速いのか?
        • npmとyarnとpnpmの違い2021

          (Last Update: 2022/02/03) npm と yarn(v1) と pnpm (とyarn v2)の違いについて記述します。 Versions npm Yarn pnpm 各パッケージの特徴 npm npmはnpm社が提供する、JavaScriptパッケージマネージャーです。 npmというコマンドラインで動作するプログラムでパッケージを管理できます。いわばnpm公式のパッケージマネージャーとなります。 Windows等でインストールするとNode.jsに同梱されています。 Yarn Yarnはnpmより後発のJavaScriptパッケージマネージャーです。 元々、npmにはインストール時のパッケージバージョンの非再現性やパフォーマンス上の問題、セキュリティの問題が山積しており、それを解決するために開発がスタートしました。 いわば、サードパーティのnpmということになります

            npmとyarnとpnpmの違い2021
          • pnpm の特徴

            $ pnpm install express Packages: +57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: ~/Library/pnpm/store/v3 Virtual store is at: node_modules/.pnpm Progress: resolved 61, reused 0, downloaded 57, added 57, done dependencies: + express 4.18.1 ディスク容量が節約された node_modules 「Packa

              pnpm の特徴
            • corepack でモジュールごとに npm クライアントを指定する

              tl;dr node 14.19.0 で npm のバージョンを明示的に切り替える corepack が入った package.json の packageManager フィールドで npm 自体のバージョンや yarn の使用するバージョンを指定できる 詳しくは https://zenn.dev/teppeis/articles/2021-05-corepack 現状の npm-cli 自体が corepack に対応してないので、有効にしたければ npm コマンド自体を corepack に移す必要がある 現時点で packageManager を指定するだけだとまだ他の環境で有効にならないが、将来的に npm と node の corepack 対応が行き渡った時点で段階的に有効になる。 もっと詳しく # 手元の node を v14.19.0 以上に更新する # 自分は nvm

                corepack でモジュールごとに npm クライアントを指定する
              • workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム

                今年からフロントエンドエキスパートチームでは活動内容の一つである探求の一環として、メンバーが気になった技術に対して、気軽に触ってみる会をしています。次の画像は筆者が Slack で、気軽に触ってみる会の開催を宣言してる時のものです。 今回は去年の 12 月に Vercel に買収されたニュースがあった Turborepo を気軽に触ってみました。 個人的には 1 人で調べるときよりも複数人でわいわい調べた方が、その技術や関連する周辺知識の話を色んな人の観点で深掘ってできて、とても有意義な時間でした。 概要 Turborepo はモノレポのためのビルドシステムで次のような特徴があります。 Yarn, npm, pnpm の workspaces に対応してるリポジトリに対して簡単に導入できる workspace 内のコマンドの依存関係をシンプルに設定してくれる Turborepo で実行する

                  workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム
                • npm/yarn/pnpm/bunを同じコマンドで扱える ni のzsh実装を書いた

                  niという npm/yarn/pnpm/bun を同じコマンドでインストール/アンストールコマンドを実行できるツールがあります。 antfu/ni: 💡 Use the right package manager 仕組み的には、各パッケージのロックファイルやCorepackで決められたpackageManagerフィールドの値から、どのパッケージマネージャを使うかを判断しています。 たとえば、package-lock.jsonがあるプロジェクトなら npm を使ってるので、niコマンドは npm のコマンドを実行します。 また、packageManagerフィールドがyarn@<version>になっている場合は、niコマンドは yarn コマンドを実行します。 なぜこういうツールが必要になるかというと、npm や yarn などのパッケージマネージャは、それぞれのパッケージマネージャの

                    npm/yarn/pnpm/bunを同じコマンドで扱える ni のzsh実装を書いた
                  • GitHub - teableio/teable: ✨ The Next Gen Airtable Alternative: No-Code Postgres

                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                      GitHub - teableio/teable: ✨ The Next Gen Airtable Alternative: No-Code Postgres
                    • YARN vs NPM (vs pnpm) in 2019: comparison and verdict

                      YARN vs NPM (vs pnpm) in 2019: comparison and verdict A comparative analysis of the most used package managers for JavaScript and Node.js and what to use in 2019 In this article I'll talk about Yarn and NPM, arguably the most popular JavaScript package managers available as of today, with the precise intent of compare their respective features and explain what I'm (mostly) using nowadays and why:

                        YARN vs NPM (vs pnpm) in 2019: comparison and verdict
                      • pnpm workspace実践ノウハウ

                        ~ 秋のエンジニア大交流会 & LT会!!~( https://devguil.connpass.com/event/290596/ )で発表したセッションのスライドです。 サンプルリポジトリ: https://github.com/MH4GF/pnpm-workspace-knowhow-sample

                          pnpm workspace実践ノウハウ
                        • Fast, disk space efficient package manager | pnpm

                          EfficientFiles inside node_modules are cloned or hard linked from a single content-addressable storage Supports monorepospnpm has built-in support for multiple packages in a repository Strictpnpm creates a non-flat node_modules by default, so code has no access to arbitrary packages

                            Fast, disk space efficient package manager | pnpm
                          • 2023-10-10のJS: Rollup 4.0.0、Viteの今後(Rustify Vite)、pnpm v8.9.0

                            JSer.info #664 - Rollup 4.0.0がリリースされました。 Release v4.0.0 · rollup/rollup Node.js 14/16のサポート終了、Acornの代わりにSWCをパーサに使うように変更されています。 SWC利用に伴うオプションの削除や非推奨なオプションの削除などが含まれています。 Viteの現在と今後についてがViteConfで発表されています。 動画: https://viteconf.org/23/replay/vite_keynote スライド: State of Vite (ViteConf 2023) ViteはDevビルドにesbuild、ProdビルドにRollupを使うためビルド結果に差異が出やすいなどの問題があります。 そのため、Rollup互換を意識したRolldownというBundlerをRustで開発するという話。

                              2023-10-10のJS: Rollup 4.0.0、Viteの今後(Rustify Vite)、pnpm v8.9.0
                            • pnpm 9.5 でリリースされた Catalogs 機能を使ってモノレポ内の依存パッケージのバージョンを揃える

                              Catalogs を使うモチベーション Catalogs のメリットについては、ドキュメントではざっくり以下の3点が挙げられています。 単一バージョンを維持できることで、パッケージの重複によるバグの発生を防ぐ pnpm-workspace.yml を編集するだけで依存関係のアップグレードが完了する 依存関係アップグレード時に package.json を編集しなくてよくなり、git でのコンフリクトを避けられる 筆者の環境では特に1つ目の、「パッケージの重複によるバグを防ぐ」というのが大きなモチベーションとなりました。 モノレポと共通パッケージとパッケージ重複 筆者の環境では一部の Web Frontend もモノレポで運用しており、そのなかで一部の共通実装はモノレポ内パッケージとして切り出されています。以下は架空の例ですが、おおまかにこのような構造となっています。 たとえば各 webap

                                pnpm 9.5 でリリースされた Catalogs 機能を使ってモノレポ内の依存パッケージのバージョンを揃える
                              • pnpm で monorepo プロジェクトを構築する

                                これはなに pnpm をベースにして実践的な monorepo プロジェクトを構築するまでの手順をまとめたものです。アプリケーション開発の実務では長らく yarn を常用してきましたが、極端に攻めたアプローチをしなければ pnpm でも十分に実務に耐えられると実感しました。筆者が実務で求める要件は大まかに以下のとおりです。 monorepo をサポートしている プロジェクトルートからサブパッケージの npm scripts を直接実行できる GitHub Action / CircleCI が動作する Renovate のサポート対象に含まれる 本稿では備忘録代わりとしてその内容をご紹介します。 pnpm とは yarn 同様、npm の代替として開発されているサードパーティのパッケージマネージャーです。インストールの速さと(ディスクスペースの)効率性に主眼を置いています。 Next.js

                                  pnpm で monorepo プロジェクトを構築する
                                • まだyarnやnpmやpnpmの打ち間違いで消耗してるの?

                                  まだパッケージマネージャーの打ち間違いで消耗してるの? 初手煽りタイトル失礼します。よだかと申します。 僕はフリーランスでいくつかプロジェクトをやらせてもらっているのですが、プロジェクトごとにパッケージマネージャーが違ったりします。 これがかなり辛く、yarnのプロジェクトでnpm installしてpackage-lock.jsonを生成してしまったり、npmのプロジェクトでyarn installしてyarn.lockを生成してしまったり。。 果ては、yarn devなのか、npm run devなのか、など気をつけないいけないことがかなり多いです。 そこで今回ご紹介したいのがniというツールです。 niについて niについて説明するために、READMEを見てみましょう。 まずは一行目です。 npm i in a yarn project, again? F**k! とても強い思いから

                                    まだyarnやnpmやpnpmの打ち間違いで消耗してるの?
                                  • Rush

                                    Rush makes life easier for JavaScript developers who build and publish many packages from a common Git repo. If you're looking to break up your giant application into smaller pieces, and you already realized why it doesn't work to put each package in a separate repo... then Rush is for you! The Rush differenceThese days many different tools can run "npm install" and "npm run build" in 20 different

                                      Rush
                                    • npm と yarn と pnpm 比較(2021年4月版) - Qiita

                                      3者の公式 概要 3者ともJavascriptのパッケージマネージャー。 npm はNode.jsをインストールすれば一緒にインストールされる。 yarn: npmと互換性があり、npmで使用していたプロジェクト設定ファイル(package.json)がそのまま使える。 pnpm: 同じくnpmと互換性があり、ディスクスペースの使用量と速度が大幅に改善されている。 先に npmとyarnとpnpmの違い2021 からわかりやすい結論。 筆者のおすすめ 初心者、もしくは複数人開発であればnpm をおすすめします。 標準ツールのため、Nodeと一緒に複数人でバージョンを揃えやすい nodeを入れれば追加でのインストールが不要 標準ツールのため、信頼性があり、ドキュメントも多い 現在はインストールがそこまで遅くはない 開発でパッケージマネージャーを触ることは最初期や機能追加以外は少ない 個人開発

                                        npm と yarn と pnpm 比較(2021年4月版) - Qiita
                                      • GitHub - antfu/ni: 💡 Use the right package manager

                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                          GitHub - antfu/ni: 💡 Use the right package manager
                                        • monorepo内でのパッケージのバージョンを1つだけに統一するOne Version Ruleをpnpm catalogで実装する - newmo 技術ブログ

                                          newmoでは、フロントエンド、バックエンド、iOSやAndroidなどのモバイルアプリをすべて同じリポジトリで管理するmonorepoを採用しています。 monorepoを採用することで、アプリケーション間で共通のコードを共有することができたり、CIの管理が楽になったり、他のチームのコードを見るのにわざわざリポジトリをcloneする必要がなくなります。 また、monorepoを採用することで、アプリケーションが利用しているパッケージ(ライブラリやツール)のバージョンを1つだけにするOne Version Ruleが実装できます。 One Version Rule One Version Ruleは、monorepo内のパッケージのパッケージのバージョンを1つだけにするルールです。 The One Version Rule  |  Google Open Source One Versio

                                            monorepo内でのパッケージのバージョンを1つだけに統一するOne Version Ruleをpnpm catalogで実装する - newmo 技術ブログ
                                          • pnpm - npmの高速化と容量削減を実現

                                            npmは優れたパッケージ管理システムですが、使っていると速度が遅くてストレスを感じることがあります。その挙げ句にエラーが出たら目も当てられません。それを解決するためにyarnも作られていますが、まだ機能的に十分でないこともあります。 そこで使ってみたいのがpnpmです。高速かつディスクスペースを低減してくれるnpmです。 pnpmの使い方 標準のnpmでインストールした場合。 pnpmを使った場合。3MBくらい小さくなっています。 pnpmでは複数のモジュールを平行してビルドする方式をとっており、高速化を実現しています。依存関係をフラット化することで余計なものをインストールせず、ディスク容量をセーブしています。 pnpm/pnpm: Fast, disk space efficient npm installs

                                              pnpm - npmの高速化と容量削減を実現
                                            • GitHub - nachoaldamav/ultra: JavaScript package manager

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - nachoaldamav/ultra: JavaScript package manager
                                              • pnpm

                                                pnpm - Fast, disk space efficient package manager

                                                  pnpm
                                                • GitHub - pnpm/pacquet: experimental package manager for node.js

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - pnpm/pacquet: experimental package manager for node.js
                                                  • zenn-editor の Monorepo 環境を pnpm + Turborepo + lerna-lite で構築した話

                                                    この記事について みなさん、こんちにちは。 好きな絶滅動物はアルゲンタヴィス。uttk です。 先日、zenn-editor の Monorepo 構成を Lerna から pnpm + Turborepo + lerna-lite に変えたので、この記事でその構成について解説していこうと思います 💪 なんで、その構成? zenn-editor では Lerna を使って Monorepo 環境を構築していましたが、実際に Lerna を使っている部分はビルド時とリリース時のみで、ほとんどの機能を使用していませんでした。また、yarn workspace も併用していたため、違う Monorepo ツールが二つ存在していて、それぞれの役割が( 個人的に )分かりにくい状況でした。 そのため、Lerna を使わずに pnpm が提供している workspace 機能に寄せる形で構築した結果

                                                      zenn-editor の Monorepo 環境を pnpm + Turborepo + lerna-lite で構築した話
                                                    • pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket

                                                      Security News pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers pnpm 9.5 introduces a Catalogs feature, enabling shareable dependency version specifiers, reducing merge conflicts and improving support for monorepos. pnpm is eight years into its unique approach to package management, and continues to gain traction, especially among those who need efficiency and support for monor

                                                        pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket
                                                      • フラットな node_modules が唯一の方法ではありません | pnpm

                                                        pnpm の新規ユーザーから、pnpm が生成する node_modules の奇妙な構造についてよく聞かれます。 なぜ平坦な構造を使用しないのでしょうか。 依存のさらにその依存はどこにあるのでしょうか。 この記事では、npm や Yarn の生成するフラットな node_modules に馴染みのある読者を想定しています。 npm が v3 からフラットな node_modules を採用する必要があった理由については、 なぜ pnpm が必要なのでしょうか (英語) を参照してください。 では、なぜ pnpm は通常とは異なる構造の node_modules を使用するのでしょう。 試しに 2 つのディレクトリを作成して、片方には npm add express を、もう一方には pnpm add express を実行してみてください。 npm の方のディレクトリにある node_m

                                                          フラットな node_modules が唯一の方法ではありません | pnpm
                                                        • Release v8.0.0 · pnpm/pnpm

                                                          We are excited to announce the latest release of pnpm! To install it, check the installation page. Major Changes Node.js 14 Support Discontinued If you still require Node.js 14, don't worry. We ship pnpm bundled with Node.js. This means that regardless of which Node.js version you've installed, pnpm will operate using the necessary Node.js runtime. For this to work you need to install pnpm either

                                                            Release v8.0.0 · pnpm/pnpm
                                                          • Release pnpm 9.6 · pnpm/pnpm

                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                              Release pnpm 9.6 · pnpm/pnpm
                                                            • Node.js 向けパッケージマネージャ兼ワークスペース管理ツール pnpm を箇条書きで解説

                                                              対象読者 pnpm を使ってみたい方、興味がある方、入門したい方。 npm、 yarn や lerna よりもワークスペース管理をもっと簡単にしたい方。 npm、 yarn のインストール速度が遅く感じる、もしくは容量を多く取られて困ると感じている方。 前提知識 npm もしくは yarn のパッケージマネージャとしての基本的な使い方 pnpm とは yarn や lerna のような npm の代替ツールです。 組み込みでワークスペース (モノリシックリポジトリ) へのサポートがあります。 よりシンプルな方法でのサポートをしており、やりたいことを実現する方法が非常に明快で、大きな特徴です。 (個人的) lerna などでは package.json に書かれた scripts を npm, yarn, lerna のどれから起動させればよいのかわかりにくいと感じていました。こういった悩み

                                                                Node.js 向けパッケージマネージャ兼ワークスペース管理ツール pnpm を箇条書きで解説
                                                              • npm/yarnの不足点とpnpmの解決法 - ミツモア Tech blog

                                                                ※ こちらはミツモアAdvent Calendar 2021の6日目の記事です。 こんにちはミツモアで エンジニアの邢(@keidarcy)です。 ミツモアは「リモートワークが増えてエアコンを綺麗にしたい」「引っ越しで出た不用品を回収してもらいたい」といった生活のあらゆるシーンであなたにぴったりの専門家を無料で探せるサービスですので、ぜひ気軽に使ってみてください! meetsmore.com pnpmとは pnpm 公式サイトによると、pnpmはperformant npmを表しています。 pnpm Fast, disk space efficient package manager なので、pnpmはnpm/yarn同じような存在です。現在(2021年12月)、たくさんメジャーのオープンソースプロジェクト(vue、prisma...)は pnpmを使用しています。本文はnpm/yarnの

                                                                  npm/yarnの不足点とpnpmの解決法 - ミツモア Tech blog
                                                                • Monorepoで異なるバージョンのReactを使う方法 | neko-note′

                                                                  前置きこの記事を書こうと思った背景カミナシさんの「フロントエンドの Monorepo をやめてリポジトリ分割したワケ」に (Monorepo 構成で複数の React を共存させることができないため *1) の記載があり、いやいやそんなことないですよ?っていうのとMonorepoだとできないんだっていうふうに誤解してほしくないので、一応ネット上にできるよっていう記事を残しておきたかったので書こうと思いました。 この記事を書いてる時点でわかるとは思うのですが、結論としてはもちろんMonorepoでも異なるバージョンのReactは共存できます。 注釈先のReactのドキュメントの話は1つのビルド単位内で複数のバージョンが存在できないという話だと思うので、そのあたりの認識を間違えたんじゃないかなとも個人的には推察してます。 あとMonorepoをやめたところに関してはその組織の話で外部からとやか

                                                                    Monorepoで異なるバージョンのReactを使う方法 | neko-note′
                                                                  • yarnからpnpmへ移行する

                                                                    yarnからpnpmへ移行する理由 yarnをv1からberryに移行した当初も pnpm の存在は認知していましたが、シンボリックリンクを使う関係で動かないパッケージがいくつかあったので、当時は berry を使う選択をしていました。 しかし、最近利用者が増えてきてシンボリックリンクに対応したパッケージが増えてきたのと、 Next.jsを開発しているVercelもpnpmを支援しているというのもあり、この度乗り換えることにしてみました。 pnpm のセットアップ インストール方法は色々ありますが、Node.jsのv16.9.0以降とv14.19.0以降には corepack が同梱されているため、管理のしやすさから corepack を使ってインストールします。 まず、package.json に以下の記述を追加します。

                                                                      yarnからpnpmへ移行する
                                                                    • Release pnpm 9.7 · pnpm/pnpm

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        Release pnpm 9.7 · pnpm/pnpm
                                                                      1