.npmignore と .gitignore の併用に関する仕様 .npmignore と .gitignore の関係性と仕様について。 Git の管理から外したいファイルは .gitignore に書く。コレは普通。npm 関係なしに Git のみ使っている時もコレで良い。 npm パッケージを作っていて、.gitignore がない時に、npm publish したくないファイルがあれば、.npmignore に除外ファイルを書けば良い。.npmignore の記法は .gitignore と全く同じ。 npm パッケージを作っていて、.gitignore が既にあり、.npmignore がない場合は、npm publish 時に .gitignore が参照され、Git の管理対象外のファイルは npm に公開されないようになっている。「Git 管理したくないなら npm で公
ググってもあまり日本語の記事がヒットしないので簡単に説明を載せておきます。まれにpackage.jsonでoptionalDependenciesというものにパッケージ名が指定されていることがあります。 "dependencies": { ... }, "devDependencies": { ... } "optionalDependencies": { "sharp": "0.26.3" } optionalDependenciesとは optionalDependenciesは利用可能であればインストールされるが、利用不可であっても他の処理を止めたくない場合に使用します。 以下npm公式ドキュメントの引用です。 If a dependency can be used, but you would like npm to proceed if it cannot be found or
追記: 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 も
皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい
Check for outdated, incorrect, and unused dependencies. Features Tells you what's out of date. Provides a link to the package's documentation so you can decide if you want the update. Kindly informs you if a dependency is not being used in your code. Works on your globally installed packages too, via -g. Interactive Update for less typing and fewer typos, via -u. Supports public and private @scope
うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ
概要 npm install 時に python2 周りのエラーが発生してインストールが失敗する pyenv利用環境下で「python2」コマンドが利用できないのが原因 環境 macOS Sierra version 10.12.2 npm version 4.0.5 node version 7.4.0 pyenv version 1.0.6 問題 npm install 時に以下のエラーがでてインストールが失敗 -「pyenv: python2: command not found」からpython2コマンドがない ➜ dasher git:(master) npm install > socketwatcher@0.3.0 install /Users/daicho/work/dasher/node_modules/socketwatcher > node-gyp rebuild g
かれこれ 5 年くらい趣味開発で npm-scripts を書き続けている。長年書き続けているとノウハウが蓄積されてきて、「こう書くとスッキリする」「迷いがなくなる」「後から拡張したくなった時に、簡単に拡張できる」みたいな書き方が身についてきた。自分の型、あるいは手癖のようなものだと思う。 せっかくなので、id:mizdra の今の npm-scripts を書く時の手癖を書き連ねてみる。 基本形 { "scripts": { "build": "webpack --mode production", "dev": "webpack-dev-server --mode development", "lint": "eslint .", "test": "jest" } } 一番シンプルな npm-scripts を書く時のパターン。以下の 4 つの script を登録している。 buil
名前が1文字の「-」という謎めいたnpmパッケージは、2020年にレジストリで公開されて以来、70万回以上ダウンロードされています。 さらに、このパッケージには有効なコードが含まれていません。では、一体なぜこれほど多くダウンロードされているのでしょうか? npmパッケージ「-」の中身 「-」というnpmパッケージは、2020年初めにnpmレジストリで公開されてから、約72万回もダウンロードされてきました。 パッケージのバージョンは0.0.1のみで、ファイルは3つです。 tar tvf 0.0.1/--0.0.1.tgz package/dist/index.js package/package.json package/README.md これらのファイルは主にマニフェスト(package.json)とindex.jsで、特に面白い点はなく、スケルトンコードが書かれているだけです。 マニフ
はじめに 開発の規模を大きくなってくると、共通化したコンポーネントを利用したいこともあると思います。 git submoduleをつかって共通部分を切り出すことも可能ですが、branchの変更忘れてしまうと反映されないので、個人的には好みではないです。 一方privateなnpmパッケージで実現することも可能だと思います。 npm private registoryを利用することも可能ですが、こちらの場合 US $7/月という月額料金がかかってしまいます。 一方、github privateは無料になったので、githubをつかってprivate npmパッケージを作ってみたいと思います。 また共通利用するなら型情報があったほうがありがたいので、typescriptを導入してみたいと思います。 目標 github privateリポジトリの作成 他のリポジトリからimport確認 npm
パッケージ管理ツールの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
Monorepoとは何か npmで管理する複数のpackageを、まとめて一つのgitリポジトリで管理すること。 具体的に 例えば、 npm上にBabelは108以上のパッケージがある。 babelはpluginを追加していくスタイルなので、 babel-core, babel-cli, babel-preset-es2017, babel-preset-flow .... と、たくさんのパッケージがあり npm install babel-preset-flow 等々して取り込んでいく。 従来、npmでは「1リポジトリ=1パッケージ」が標準だったが、多数パッケージを管理するBabelのようなプロジェクトでは多数リポジトリを扱うことになり、混乱が大きい。 そこで、単一リポジトリの /packages 以下にたくさんパッケージを作り(フォルダとpackage.jsonを多数作り)、管理するの
patch package の使い方のメモです。 以前に使う機会があったので、説明用にその時の手順をメモしておきます。 簡単にパッケージに対してパッチを当てることができるので、一時対応として使うことが出来ます。 patch package とは ざっくりとは npm の postinstall を使って、node module 内のパッケージを簡単に修正できる仕組みです。 もちろん、直接 node module 内のパッケージを書き換えても良いはずです。 しかしこの場合は、npm install の際に修正内容を上書きしてしまう危険があります。他にも、node module 以下を github に push しない場合、自分の環境でのみ修正が行われて他の作業者に共有しにくいなどの状況が考えられます。 必要なパッケージについて、fork を行い自分で修正・管理して使うこともできます。しかし
Sick of boring JavaScript newsletters?Bytes is a JavaScript newsletter you'll actually enjoy reading. Delivered every Monday, for free.
ウェブ制作の現場では作業の自動化を行うことが多いです。Node.jsインストール時に付属するnpm (Node Package Manager)を使用すれば、タスク処理が実現できます。 npmとはNode.jsのモジュールを管理するためのツールであり、タスク処理にはnpmの機能のnpm-scriptsを使用します。本記事はnpm-scriptsを使ったタスク実行環境が構築できることを目標に解説します。 そもそもnpm-scriptsとは何か? npm-scriptsとは、package.jsonファイルに記述可能なシェルスクリプトのエイリアスです。エイリアスとはコマンド名を別のコマンド名に置き換えることです。以下のnpm-scriptsはHello world!!を表示させるコマンドのエイリアスを作成する例です。 ▼package.jsonファイル { "scripts": { "say"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く