Sick of boring JavaScript newsletters?Bytes is a JavaScript newsletter you'll actually enjoy reading. Delivered every Monday, for free.
Sick of boring JavaScript newsletters?Bytes is a JavaScript newsletter you'll actually enjoy reading. Delivered every Monday, for free.
概要 本記事では、 npm や yarn などの、Node.js におけるパッケージマネージャーを自作することで、その仕組みや挙動の理解を深めようという取り組みを整理した記事になります。 想定読者は以下を満たす人です。 普段 npm や yarn などのパッケージマネージャを使用している package.json 内の dependencies devDependencies ぐらいはわかる npm リポジトリの構成や、パッケージインストールの仕組みとか全然わからんけど、興味がないこともない TypeScript のコードをまぁまぁ読み書きできる 筆者自身も上記のレベルのため、パッケージマネージャに詳しい方が見たら鼻で笑うレベルの内容でもあるので、どうぞお手柔らかにお願いします。 注意事項 本記事ではソースコードを断片的に記載していますが、ハンズオン形式にはなっていないため、コードの全容に
Nodeのパッケージマネージャーであるnpmにはnpxというコマンドが同梱されています。これまであまり使ってこなかったのですが、調べてみたらとても便利なコマンドだったので使い方などをお届けします。 こんにちは。サービスグループの武田です。 Nodeは現代のフロントエンド開発にはなくてはならない存在となりました。またクラスメソッド社内で静かなブームとなっているAWS CDKでの開発もNodeを利用します。そのCDKプロジェクトのひな型を作成する際に、npxコマンドを使用している例をよく見かけたのですが、そういえばこのコマンドよく知らないな?ということで調べてみました。 検証環境 次の環境で検証しています。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.5 BuildVersion: 18F132 $ node -v v10.16.
利用しているライブラリのアップデートは常に行いたいが、中々コストの掛かる作業でもある。その時にテストが通ったらOK・型検証が通ったらOKみたいなライブラリ(例: TypeScriptなら @types/系やjestなど)なら人間の目を通さずに自動でPullRequestをマージしてくれたら、その分コストが減り、人間の目が必要な作業を行う時間が増える。 そこでRenovateを使って上記のようなことをやってみたのでメモしておく。 出来たもの https://github.com/shibayu36/typescript-cli-project/pull/10 のように、Renovateのbotが勝手にPRを作り、勝手にApproveし、テストが通ったら(GitHubのchecksが通ったら)勝手にマージしてくれるようになった。 実現するためにやること Renovateを有効にして、自動マージ
宣伝: YouTubeで初心者向けの配信をしています。よかったら覗いていってね😉 概要あなたは普段、何気なく npm install を使っていることでしょう。 しかし、 npm install が何をしているのか、実は誤解している人も多いと思います。 記事のタイトルは釣りではないので、どんな時に npm install は問題を起こすのか、説明できない人は以下を読み進めてください。これは多くの開発者が無意識に無視している、とても重要な事項だと思っています。 なお、npm 4.x系以下の方は本記事の対象ではありません。 追記: 強めに書きすぎて誤解を招く部分があったので何度か修正しています。 参考資料:npm installnpm ci npm はパッケージマネージャです。パッケージマネージャは、開発に必要なパッケージ(ライブラリとか、プラグインとか色々)を管理するためのツールです。全て
Project GoalsThe goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards. In the beginning, our focus will be primarily around speed, stability and the development of the correct API for extension authors. In the future, we anticipate the community will come up with innovative additions to enhance what could be the simple
先日npm5がリリースされました。同時期にリリースされたNode.js v8.0.0にもバンドルされており、 複数ある新機能のうち、package-lock.jsonについて気になったので本家のドキュメントの内容を読んでまとめました。 docs.npmjs.com package-lock.jsonについて package-lock.json はnode_modules配下やpackage.jsonに変更があった際に自動で作成・変更されるファイルです。 具体的には、 npm install npm update npm uninstallなど、パッケージに変更が加えられるタイミングで作成・変更されます。 このファイルはpackage.jsonなどのように、リポジトリのソースの一部として組み込まれるように設計され、様々な目的のために利用されます。 package-lock.jsonを導入する
はじめに ESLint 最初の一歩では、ESLint をグローバル インストールしていました。 グローバル インストールすると eslint コマンドにパスが通って便利ですが、欠点もあります。 プロジェクト毎に異なるバージョンの ESLint を使えない。 ESLint が互換性のないバージョンアップをした時に困る (1.0.0, 2.0.0 のようなメジャーバージョンアップは互換性がありません) 利用するプラグイン・共有設定もグローバル インストールしなければならない チームで同じバージョンに揃えるのが手間である npm のエコシステムでは、コマンドもプロジェクト ローカルにインストールして使うのが主流です。 そうすることで、package.jsonに依存バージョンとともに記述して共有することができます。 npm install 一発で、チームが同じ環境を揃えられるわけですね。 この記事
バージョン指定でいっつもこいつの違いを忘れてしまって、npm とか semver のドキュメントを探すところから始まるから自分用のメモ。 ^1.1.2 = 1.x ~1.1.2 = 1.1.x (追記 一応↑は間違っていないのだけど、厳密にいうとちょっと間違っていた) チルダ表記 ~ "明記したところ以下のバージョンがあがることのみ許容" ~1.1.2 = 1.1.2 <= version < 1.2.0 ~1.1 = 1.1.x ~1 = 1.x オリジナルの定義は、 Allows patch-level changes if a minor version is specified on the comparator. Allows minor-level changes if not. キャレット表記 ^ "一番左側にある、ゼロでないバージョニングは変えない (それ以下があがることは
Node v8.0 is released!!!!!! Node v7 から半年経過して次のLTS対象になる可能性が高い Node v8.0 がリリースされました。 いくつか Notable Changes を話そうかなと。ちなみに Node v8 と言うと内部で使っている JS エンジンの V8 と混同されるので、みんな Node8 とか呼んでるときが多いです。このブログの中ではまだ出たばかりとあって、 v8.0 と minor バージョン付きで紹介します。 LTS 候補 v6.x 依頼の一年ぶりの LTS 候補になります。 LTS になるのは 10月以降と予定されています。 Current から LTS になるためにはコアの成熟を待つ必要があり、リリースから半年経過させる予定です。 Notable Changes いくつか変更点をピックアップして紹介します。 npm5 util.pro
こんにちは。ウェブアプリケーションエンジニアのid:masawadaです。普段は、はてなブログチームで開発を行なっています。 今回は、日々の開発で生まれた困りごとを解消するために作ったyarn-outdated-formatterというツールを紹介します。 経緯 以前id:amagitakayosiが「フロントエンドPodcastはじめました - Hatena Developer Blog」にて書いたとおり、はてなには現在「フロントエンドエンジニア」という肩書きのメンバーはいません。はてなブログチームでも全員がバックエンド(Perl)とフロントエンド(JavaScript)両方のコードを書いており、どちらかというとバックエンドがメインのためクライアントサイドは片手間になりがちという問題がありました。 そこで、チーム内でFWG(フロントエンド・ワーキング・グループ)という会を組織しました。F
npm v5 The npm Blog — v5.0.0 npm に v5 がやっとリリースされました。この npm v5 は既に明日リリース予定の Node v8 にバンドルされる予定です。 かいつまんで、機能を紹介します。 Notable Changes package-lock.json!!! faster than npm v4 no more --save option Offline mode sha512 support package-lock.json!!! npm v4 まで問題だった npm-shrinkwrap の問題 を解消するための新しい lock ファイルが生まれました。 shrinkwrap は依存ライブラリを固定するための機能です。npm v4 までは shrinkwrap で固定していましたが、新しく npm v5 になってからはshrinkwrap は
Kyoto.js 12発表スライドです。 https://speakerdeck.com/fand/hurontoendonizhi-xu-woqu-rili-sufang-fa の続編です。
こんにちは みんなにdisられて久しいsprockets氏ですが、面白そうなコミットが入っていたので紹介します https://github.com/rails/sprockets/commit/6eac004a1567f70270606170f8a4d51d4e2fb3e8 どんなコミット? sprocketsからnpmパッケージを利用するための機能が追加されました。 これにより、例えばこれまでjquery-railsなどjsをラップしたgemを用いていたものを、npmで管理できるようになります。 この変更は何が嬉しいの? この変更により、npmの世界でjsライブラリを管理する道が整備されました。 なぜ道が整備されたことを強調するかと言いますと、別にこれまでもbrowserify-rails/webpack-railsなどを利用すれば同じことが出来たからです。 ただ、「Railsが公式に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く