並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 113件

新着順 人気順

yarnの検索結果1 - 40 件 / 113件

yarnに関するエントリは113件あります。 npmjavascriptnode.js などが関連タグです。 人気エントリには 『colorsなどのnpmパッケージに悪意あるコードが含まれている問題について』などがあります。
  • colorsなどのnpmパッケージに悪意あるコードが含まれている問題について

    追記: 2022年1月11日 2:29 JSTにDoS脆弱性としてセキュリティアドバイザーが出されて、悪意あるバージョン(1.4.1や1.4.2)はnpmからunpublishされ、npmの最新は安全なバージョンである1.4.0へと変更されました。 Infinite loop causing Denial of Service in colors · GHSA-5rqg-jm4f-cqx7 · GitHub Advisory Database 2022-01-08 に colors というnpmパッケージにDoS攻撃のコードが含まれたバージョンが1.4.44-liberty-2として公開されました。 GitHub: https://github.com/Marak/colors.js npm: https://www.npmjs.com/package/colors 問題についてのIssu

      colorsなどのnpmパッケージに悪意あるコードが含まれている問題について
    • 大企業は無償利用せず金銭的支援を行えと警告したのに改めないので作者がついに激怒、毎週2000万回以上ダウンロードされるcolors.jsとfaker.jsを破壊し使用不能に

      人気オープンソースライブラリ「colors.js」と「faker.js」の開発者であるMarak氏が、これらのnpmライブラリを意図的に破壊しました。colors.jsおよびfaker.jsに依存しているプロジェクトは多数存在しているため、その影響が懸念されています。 Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/ Open source developer corrupts widely-used libraries, affecting tons of projects

        大企業は無償利用せず金銭的支援を行えと警告したのに改めないので作者がついに激怒、毎週2000万回以上ダウンロードされるcolors.jsとfaker.jsを破壊し使用不能に
      • npm, yarn による zero install 戦略 - from scratch

        jsconf.eu 2019 に行ってきました。 特に npm や yarn の今後の話とそもそも Registry をどうしていくか、の話があったのでお知らせします。 そもそも Registry をどうしていくかについては次のエントリで話します。 tink: A Next Generation Package Manager npm の次のコマンドラインツールである tink が紹介されていました。 github.com presentation: github.com video: www.youtube.com そもそも npm の仕組み ローカル依存ファイルを読む (package.json, package-lock.json, shrinkwrap.json) 存在しないパッケージのメタデータをfetchする 木構造を計算して、実行する(npm v3 以降だとflattenする

          npm, yarn による zero install 戦略 - from scratch
        • Next.js + Electron がとても簡単になっていた

          Next.js + Electron を使えばめちゃくちゃ簡単にデスクトップアプリを作れるという記事です。 デスクトップアプリケーションをWeb技術で作成するElectronを、むちゃくちゃ久々にやってみたら、とても簡単になっていた React のフレームワークである Next.js もバージョン9.xになってから劇的に良くなり続けていて、どんどん触りやすくなっています ちなみに Next.js は非公式な日本語翻訳が進んでいるようです。 9割くらい翻訳が完了しているようですが、気になる方は、このサイトの「翻訳プロジェクトについて」をご覧ください。 セットアップする # npmの場合 $ npx create-next-app --example with-electron-typescript hoge $ cd hoge $ npm run build $ npm run start

            Next.js + Electron がとても簡単になっていた
          • 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
            • 俺の webpack.config.js-20200503 - mizchi's blog

              基本思想 とにかく薄く。必要なものだけ。基本は ts-loader を transpileOnly: true で使うだけ。最悪これだけでいい。型チェックはIDEか yarn tsc -p . --noEmit でやる。 CRA や parcel は使わない。暗黙な振る舞いが多すぎるので。一切勉強したくない人はいれていいと思うが、その場合 eject しない、dist ディレクトリをそのまま使うこと前提。 style-loader/css-loader は外部CSSを読むときに設定する worker-plugin はなくてもいいけど、 worker もビルドしたいことが多いので、入れていることが多い html-webpack-plugin と webpack-dev-server 組み合わせると、他と組み合わせずに完結して動く。このHTMLを本番で使わずとも、デバッグで使ってることが多いの

                俺の webpack.config.js-20200503 - mizchi's blog
              • jsライブラリ選定はopenbaseが超絶便利 - Qiita

                openbaseとは https://openbase.io Find and compare open-source packages with user reviews, categorization, and unparalleled insights about packages' popularity, reliability, activity, and more. 手を抜いてdeeplでw ユーザーレビュー、カテゴリ分け、パッケージの人気、信頼性、アクティビティなどについての他の追随を許さない洞察力で、オープンソースパッケージを見つけて比較してください。 現在、多くのプログラミング言語はパッケージマネージャがあって、何らかの方法でパッケージについての情報を取得することができると思います。 パッケージの選び方 自分の場合はjs系が殆どなので、ライブラリを選ぶ方法は以下のような感

                  jsライブラリ選定はopenbaseが超絶便利 - Qiita
                • Webフロントエンド開発(2021)の見取り図をつくりたい

                  本業はiOS開発なのですが、6月頃から個人開発でWebフロントを触っています。 Webフロントに入門するときに、開発の前提知識・専門用語が多すぎて、脳が処理しきれない状態になりました。 これでも数年前のより混沌としてた時期よりは安定してきているように思うんですが、それでもやはりカオス感は否めませんでした。 Webフロントエンド開発の見取り図があればいいのにと思ったので、自分でちょっとつくってみようと思いました。 個別の技術要素の情報は豊富にある(ありすぎると言ってもいいかもしれません)んですが、全体像がよくわからないので、 たとえば「TypeScriptで開発した方がいいのか?」とか、「Babelとかwebpackってインストールしなきゃいけないの?」とか、 そういう素朴な疑問が学習進めて行っても、なかなか解消できなかったので、いい感じのざっくり感でまとめられたらと思います。 この記事で全

                    Webフロントエンド開発(2021)の見取り図をつくりたい
                  • 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 の栄枯盛衰
                    • corepack is 何?

                      追記: 2023-11-19 corepack v0.20.0 にて、CLI のコマンド体系が一新されて多少わかりやすくなりました (PR#291)。新しいコマンドは README を参照。 追記: 2022-02-03 Node.js v14.19.0 に corepack が標準バンドルされました。 corepack がバンドルされていない Node.js v12 系は 2022-04-30 に EOL を迎えるので、あと 3 ヶ月もすればアクティブな Node.js 環境には必ず corepack が揃っているという状態になりますね。引き続き experimental ステータスのままではありますが。 追記: 2021-09-08 Node.js v16.9.0 で corepack が標準バンドルされました。まだ experimental 扱いですが。 デフォルトでは yarn も

                        corepack is 何?
                      • JavaScript Package Manager 2019

                        Node学園で発表した JavaScript Package Manager の話です。

                          JavaScript Package Manager 2019
                        • 1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも

                          パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を含む1000以上のプロジェクトで採用されています。そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。 Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js · Issue #536 · faisalman/u

                            1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも
                          • npmとyarnの脆弱性とpostinstall - Cybozu Inside Out | サイボウズエンジニアのブログ

                            フロントエンドエキスパートチームの小林(@koba04)です。 先日、npmから脆弱性についての発表がありました。 調べていく中でいくつか思うところがあったので解説も兼ねて書いていきたいと思います。 The npm Blog — Binary Planting with the npm CLI npmの利用者としてやるべきことは、 npmのバージョンを6.13.4以上にあげる yarnのバージョンを1.21.1以上にあげる です。 npmのバージョンが6.13.4になったNodeもv8, v10, v12, v13系でそれぞれリリースされたので、そちらを利用することも可能です (yarnのバージョンは別途あげる必要があります)。 nodejs.org npmによる発表では、今回発表された脆弱性は2件あるため、それぞれ個別に考えます。 binに任意のパスを指定出来る件 npmパッケージはpa

                              npmとyarnの脆弱性とpostinstall - Cybozu Inside Out | サイボウズエンジニアのブログ
                            • Introducing Yarn 2 ! 🧶🌟

                              Hi everyone! After exactly 365 days of very intensive development, I'm extremely happy to unveil the first stable release of Yarn 2. In this post I will explain what this release will mean for our community. Buckle up! If you're interested to know more about what will happen to Yarn 1, keep reading as we detail our plans later down this post: Future Plans. If you just want to start right now with

                                Introducing Yarn 2 ! 🧶🌟
                              • モダン JavaScript プログラミングを始めるために知っておきたい技術セット - Qiita

                                元々は社内向けとして書いたものですが、転載許可が出たので Qiita 向けに加筆・修正した文章です。 僕は普段ペチパーバックエンド領域を担当することが多いのですが、フロントエンド領域を含めて社内の技術アップデートを一緒に頑張っていきたい、という思いから書きました。 なんせペチパーバックエンドエンジニアの拙い知識なので一部情報が古かったり間違っているかもしれません。 フロントエンドガチ勢の皆様、間違い等ございましたら温かく指摘して頂ければと思います。 前書き JavaScript は一応書けるけど、将来心配。なんかすごく進化してるって聞くけど、調べてみても訳が分からない。 僕も勉強し始めは同じことを何度も思いました。 そこで、僕の仕事環境を想定し、導入すべきツールを役割ごとに選定してみました。 上から順に読んで、インストールして、使えるようになるとそれなりにモダンなフロントエンドの知識を手に

                                  モダン JavaScript プログラミングを始めるために知っておきたい技術セット - Qiita
                                • Volta - The Hassle-Free JavaScript Tool Manager

                                  ⚡ Fast Install and run any JS tool quickly and seamlessly! Volta is built in Rust and ships as a snappy static binary. ⚡ Reliable Ensure everyone in your project has the same tools—without interfering with their workflow. ⚡ Universal No matter the package manager, Node runtime, or OS, one command is all you need: volta install.

                                  • package.json dependencies メンテの仕方 最短ルート - Qiita

                                    package.json の dependencies を最新に保って脆弱性を解消するために、どこから手を付ければいいのか。 「半年前に npm install で追加したっきり。パッケージのアップデートなんて考えたことなかった」という人や「GitHub から security alert が届いてるけども見て見ぬふりをしている」という人向けに、package.json の dependencies をメンテ方法について個人の考えを書いてみます。 Node.js を使っている人にはおなじみ package.json。 package.json の中で一番よく見るのが dependencies(個人の感想、次点で scripts)。 そして、依存パッケージが着々とバージョンアップしていくにも関わらず放置されてしまって後々問題になりがちなのも dependencies 。 npm instal

                                      package.json dependencies メンテの仕方 最短ルート - Qiita
                                    • npm v7の主な変更点まとめ

                                      こんにちは@watildeです。趣味でnpmへのコミットをたまにしているのですが、最近はNode.js側に比重を置いているのでv7のキャッチアップに少し遅れてしまいました。キャッチアップついでに自分なりに情報をまとめたので、v7における代表的な新機能と破壊的変更について、GitHubの記事よりも少し詳しめに紹介と解説を行ってみます。なるべく参考リンクを付けているので、詳細が気になった際はリンクから一次情報に飛んで読んでみてください。 また、情報に誤りがあった場合はTwitterにて教えていただけると助かります。 背景 npmチームより、2020/10/13にnpmの新しいメジャーアップデートであるところのv7の公式リリースが発表されました。8月からbeta版のリリースを繰り返していましたが、2ヶ月かけて内部的なリファクタリングとスモークテストを繰り返して今回の発表に至ったのかと思います。ま

                                        npm v7の主な変更点まとめ
                                      • yarn v2にまつわる誤解 | Wantedly Engineer Blog

                                        現在WantedlyではNode.jsのパッケージ管理にyarn v1を使っています。現在私は開発者体験の改善を目指してyarn v2への移行を検討しているのですが、その過程でyarn v2が誤解されがちだと感じるようになりました。そこで社内への情報提供も兼ねて、いくつか誤解されがちだと思われる点を紹介したいと思います。 (わかりやすさのためにyarn v2と呼んでいますが、 yarn v3以降も含みます。これらはメジャーバージョンアップではあるもののyarn v1→v2のようにアーキテクチャが刷新されるわけではないからです) ポイント1: yarnをv2にするのにPnPは必須ではないyarn PnPはyarn v2の目玉機能で、パッケージをnode_modules以下に展開せずに仮想化してロードできるようにするというものです。node_modulesの展開作業が不要になるほか、依存関係の

                                          yarn v2にまつわる誤解 | Wantedly Engineer Blog
                                        • yarn v3 の独自機能を避けつつ yarn v1 から v3 へのアップグレードをする

                                          yarn v3 が出ました。詳しい解説は譲るとして、esbuild integration や パフォーマンス向上が目玉です。 Yarn 3.0 🚀🤖 Performances, ESBuild, Better Patches, ... - DEV Community 流石に v1 はもう古いが、 v2 からの独自路線は受け付けがたい…という立場なのですが(yarn オリジナル作者の sebmck も難色を示しています)、今回は yarn 特有の機能をできるだけ避けて、できるだけ npm や pnpm 等と互換な部分だけで yarn v3 を使います。なので pnp も使いません。eslint や vscode の typescript 等でハマりどころが多すぎます。 ゼロインストールも否定派です。git blob objects のサイズが爆発して仕事にならなくなったことがあります。

                                            yarn v3 の独自機能を避けつつ yarn v1 から v3 へのアップグレードをする
                                          • フロントエンドのモノレポ構成はスケーリングの夢を見るか | サイボウズ フロントエンドエキスパートチーム

                                            それっぽいタイトルを付けましたが特に意味はないです。 workspace を使ったコマンドを最適化して実行する Turborepo についてのお話で Turborepo を軽く触ってみた際にnpx create-turbo@latestで作られる構成がとてもわかりやすく、プロダクトの初期段階からモノレポを採用するのは選択肢の 1 つとしていいのでは、と思い続編を書きました。 前回と同じくサンプルのリポジトリはこちらになります。 https://github.com/nus3/p-turborepo/tree/main/yarn 概要 モノレポを採用することで、同一リポジトリ内で自作した汎用的なライブラリやコンポーネントを複数のアプリケーションで使いまわせる モノレポの規模が大きくなってきた場合には、モノレポ内のパッケージを npm に公開することでアプリケーションとパッケージを非同期に開発

                                              フロントエンドのモノレポ構成はスケーリングの夢を見るか | サイボウズ フロントエンドエキスパートチーム
                                            • package.json やロックファイルによるパッケージの依存関係の管理 - 30歳からのプログラミング

                                              この記事では、npm installやnpm ciを実行したときにどのようにパッケージがインストールされるのか、依存パッケージにバージョンのコンフリクトが発生した際にどのように処理されるのか、などを見ていく。必要に応じて Yarn での挙動にも触れる。 動作確認に使った npm のバージョンは6.14.5。Yarn は1.22.4。 特に npm はバージョンによって動作が大きく異なるので、注意する。 package-lock.json によるバージョンの固定 package.jsonだけではインストールするパッケージのバージョンを固定できず、package-lock.json(Yarn の場合はyarn.lock)によってバージョンを固定する。 多くの人が知っている話ではあるが、重要な機能なので改めて触れておく。 package.jsonのdependenciesやdevDependen

                                                package.json やロックファイルによるパッケージの依存関係の管理 - 30歳からのプログラミング
                                              • 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
                                                • LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                  こんにちは、フロントエンドエキスパートチームの小林(@koba04)です。 本記事では、Lerna と Yarn Workspaces を使った Monorepo 管理について解説します。 Monorepoとは 本記事では、単一のリポジトリで複数のモジュールやパッケージ(今回の場合は npm パッケージ)を管理する手法を Monorepo と呼んでいます。 有名なところだと、Babel や Jest、Create React App などが後述する Lerna を使い複数パッケージを単一のリポジトリで管理しています。 他にも React も Lerna は使っていませんが単一リポジトリで複数パッケージを管理しています。 また、上記のようなライブラリ以外にも企業で利用している npm パッケージを Monorepo として管理している例もあります。下記は Shopify の例です。 pack

                                                    LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                  • 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 の特徴
                                                    • Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想 - Qiita

                                                      Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想 berry(yarn v2) がそろそろリリースということで、使い込んでみた。その感想や yak-shaving などについて。 このリポジトリ https://github.com/mizchi/berry-typescript-project 日本語での網羅的な解説はこちらの記事がくわしい https://qiita.com/dojineko/items/6f65fde3c47aed8b6318 本記事は pnp の仕組みと webpack, jest, typescript を設定する泥臭い話がメイン。 使ってみた感想 npm とは完全に別系統に進化しつつある。互換があんまりない。 今対応するのは時期尚早でアーリーアダプターだけでよい berry 自体が typ

                                                        Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想 - Qiita
                                                      • Rome, a new JavaScript Toolchain - JASON Format

                                                        Sebastian McKenzie, the original creator of Yarn and Babel and a member of the React Native team at Facebook, has been working on an “all-in-one” solution for JavaScript and TypeScript development. The Rome project, a reference to “all roads lead to Rome”, was made public on Feb 26th 2020. What is Rome? Rome is a from-scratch implementation of a complete JavaScript toolchain. It compiles and bundl

                                                        • Webサービス開発でのmonorepo環境(Turborepo, nx)

                                                          Webサービス開発の文脈で、モノレポ環境を作る方法について整理しました。 ※バックエンドもフロントエンドも全てTypeScriptで開発している前提 この記事を書いた背景 世間で言われる「モノレポ」がどのように達成されているのか知らなかった 参考記事を読んでると実現方法が異なっていたり、運用のイメージが見えなかったり、ベストプラクティスが分かりづらかった Turborepoのようなモノレポツールを導入すれば解決しそうだが、このツールが何をしてくれるのか理解できなかった モノレポ何も分からない………になった この記事ではモノレポに関連する仕組みを1つ1つ丁寧に把握し、最終的に理想的なモノレポ環境を実現することを目指します。 モノレポとは? まずは用語の整理から。 モノレポを素直に訳せば「1つのリポジトリ」という意味でしかなく、1つのリポジトリで開発していればそれは「モノレポ」と呼べそうです。

                                                            Webサービス開発でのmonorepo環境(Turborepo, nx)
                                                          • 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について | サイボウズ フロントエンドエキスパートチーム
                                                              • Node.js プロジェクトの依存パッケージ更新戦略 | DevelopersIO

                                                                また、チルダ ~ U+007E を付与することも可能で、その場合は「マイナーバージョンが同じである現在の最新バージョンをインストールしなさい」という指定です。マイナーバージョンの指定がない場合、つまり ~1 などはメジャーバージョンが同じである最新バージョンを指します。 その他にもバージョン指定の方法はありますが、この 2 種類を知っていれば問題ありません。 バージョン固定の必要性 特に気にしない場合、インストールされるパッケージのバージョンに幅が出てきてしまうわけです。これではチームメンバー間で異なるバージョンがインストールされる可能性があり、メンバーによって挙動が異なってしまうかもしれません。 これを防ぐ仕組みとして、 npm では package-lock.json が、 yarn では yarn.lock が提供されています。 それぞれ、 npm install もしくは yarn

                                                                  Node.js プロジェクトの依存パッケージ更新戦略 | DevelopersIO
                                                                • 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実装を書いた
                                                                  • yarn whyコマンドを駆使してGitHubセキュリティアラートに対応する

                                                                    Tweet yarn whyコマンドを駆使してGitHubセキュリティアラートに対応する 色々と教えてもらったので自分の備忘録としてブログにしておきます。 GitHubにはセキュリティアラートという機能があります。 この機能はリポジトリ内の依存ライブラリに脆弱性が発見された場合、アラートを投げてくれるというものです。 リポジトリの設定から機能を有効にしておくだけで、依存ライブラリの脆弱性を自動で検知してくれます。 JavaScriptの場合は定期的にリポジトリ内のpackage.jsonとlockファイルがチェックされれます。 packaeg.jsonやlockファイルの中のライブラリに脆弱性がないかを脆弱性データベースに問い合わせ、脆弱性が検知されたらアラートが発行されます。 ここで重要なことはpackage.jsonだけでなく、lockファイルも確認しているということです。 これはすな

                                                                      yarn whyコマンドを駆使してGitHubセキュリティアラートに対応する
                                                                    • Vercel の monorepo にWebフロントすべてを移行した - Hello Tech

                                                                      uiu です。ハローには創業時に入社し、エンジニアとしてAutoReserveの開発にゼロから関わってきました。現在はバックエンドをメインに担当していますが、領域横断的に開発することを得意としています。 2022年の初めに AutoReserve にあるWebフロントエンドをすべて Vercel に移行しました。 Vercel に移行するのと同時に Turborepo を導入しました。現在、4サービスのWebフロントエンドを monorepo として運用しています。 AutoReserve は、AIが代わりに電話してくれる飲食店向け予約グルメアプリです。iOS / Android アプリ、 Web アプリを提供しています。 また、セルフオーダーシステム AutoReserve Order を提供しており、レストランすべての業務をサポートできるプラットフォームを目指しています。 背景 Aut

                                                                        Vercel の monorepo にWebフロントすべてを移行した - Hello Tech
                                                                      • package.json の resolutions を使って依存パッケージのバージョンを指定する - 30歳からのプログラミング

                                                                        package.jsonのresolutionsフィールドを使うことで、依存ツリーの深い部分にあるパッケージのバージョンを固定することが可能になる。 現在のところ Yarn でのみ使える機能だが、サードパーティが公開しているライブラリを使うことで npm でも使えるようになる。 動作確認に使った npm のバージョンは6.14.5。Yarn は1.22.4。 後述するnpm-force-resolutionsについては、0.0.3を使っている。 npm や Yarn でパッケージをインストールすると、指定したパッケージだけでなく、そのパッケージが依存しているパッケージもインストールされる。 そうしてインストールされたパッケージが他のパッケージに依存していれば、そのパッケージもインストールされ、それが繰り返されていく。 この仕組みについては、以下の記事で詳しく触れた。 numb86-tech

                                                                          package.json の resolutions を使って依存パッケージのバージョンを指定する - 30歳からのプログラミング
                                                                        • 雰囲気でパッケージマネージャーを作ろう

                                                                          概要 本記事では、 npm や yarn などの、Node.js におけるパッケージマネージャーを自作することで、その仕組みや挙動の理解を深めようという取り組みを整理した記事になります。 想定読者は以下を満たす人です。 普段 npm や yarn などのパッケージマネージャを使用している package.json 内の dependencies devDependencies ぐらいはわかる npm リポジトリの構成や、パッケージインストールの仕組みとか全然わからんけど、興味がないこともない TypeScript のコードをまぁまぁ読み書きできる 筆者自身も上記のレベルのため、パッケージマネージャに詳しい方が見たら鼻で笑うレベルの内容でもあるので、どうぞお手柔らかにお願いします。 注意事項 本記事ではソースコードを断片的に記載していますが、ハンズオン形式にはなっていないため、コードの全容に

                                                                            雰囲気でパッケージマネージャーを作ろう
                                                                          • 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
                                                                            • Poetryをサクッと使い始めてみる - Qiita

                                                                              はじめに 以前、pyenvとpyenv-virtualenvの自分流使い方という記事を書きました。その終わりの部分で「pyenv-virtualenv+pipをpoetryで置き換えられるんじゃないかな」と書いていたのですが、実際に試してみた結果をご紹介したいと思います。結論から言うと、pyenv-virtualenvとpipは使わなくなりました(笑) Poetryとは PoetryはPythonのパッケージマネージャの一つです。v1.0になったのが2019年末なのでまだまだ新しいツールです。pipと同じようにパッケージをpypiなどからダウンロードしてきてインストールすることができますが、それに加えて次のようなこともできます。 パッケージ管理ファイルの生成・変更 インストールされているパッケージのアップデート プロジェクトごとの仮想環境のセットアップ などなど... 他の言語だと、npm

                                                                                Poetryをサクッと使い始めてみる - Qiita
                                                                              • YarnをYarn 2(berry)にアップグレードした話|holly(ホリー)

                                                                                stand.fm でエンジニアをしている三堀です。 弊社では、stand.fm という 音声配信プラットフォームを開発しているのですが、JavaScriptのパッケージマネージャーとして利用しているYarnのバージョンを2にアップグレードしたので、その際の手順やハマった点、アップグレードによって何が改善されたかなどを紹介していこうと思います。これからアップグレードする方の参考になれば幸いです。 YarnとはYarnとはfacebook発祥のJavaScriptのパッケージマネージャーです。(現在はコミュニティに委譲しているそうです) 弊社では、このYarnを利用してモノレポによるプロジェクト管理をしています。また、workspacesという機能を使って、プロジェクト全体における依存関係の管理を行っています。 stand.fmでのyarn workspacesを用いたモノレポ構成イメージ s

                                                                                  YarnをYarn 2(berry)にアップグレードした話|holly(ホリー)
                                                                                • Yarn 3.0 🚀🤖 Performances, ESBuild, Better Patches, ...

                                                                                  Yarn 3.0 🚀🤖 Performances, ESBuild, Better Patches, ... Hello! Long time no see! Back in December, we decided to start working on our next major release, the 3.0. It took a bit of time to do everything we intended to do, but here we are! So let's talk a bit about what it changes, and what it brings. Note that these are only the highlights, the full changelog is much more comprehensive. And if you

                                                                                    Yarn 3.0 🚀🤖 Performances, ESBuild, Better Patches, ...

                                                                                  新着記事