タグ

programmingとnodeに関するheguroのブックマーク (8)

  • 2024年 React 環境構築 with Vite

    はじめに 書いていて気づいたのですが、この記事に特に目新しいものはありません。コピペで最速環境構築をしたい方向けです。それぞれのツールについて細かい解説はしていないため、詳細は公式ドキュメントをご参照ください。 リポジトリはこちら。 Node.js この記事では Node.js のバージョン管理に volta を使用しますが、nvm や nodebrew などでも問題ありません。パッケージマネージャーには pnpm を使用したいところですが、2024 年 1 月現在、volta の pnpm サポートは実験段階のため、今回は npm を使用します。(そこまでして volta を使用したい理由はないのですが...) curl https://get.volta.sh | bash source ~/.zshrc # or ~/.bashrc volta install node # LTS版

    2024年 React 環境構築 with Vite
  • mise (旧 rtx) で脱 node-build (asdf)

    年明けはまず環境整備から、ということで今年は mise を導入することにした。 去年まで rtx とか rtx-cli という名前でやってた Rust 実装の asdf 代替の多用途バージョン管理ツール。この年明けに急に mise にリネームしたよ、というニュースが流れてきて、気になって見てみたら良さそうだった。 一般的な解説は "rtx" でググると日語記事も出てくるのでそっちを見て欲しいけど、個人的な asdf に対するメリットはこのあたり。 とにかく速い asdf は Node の最新バージョンの反映が node-build 依存で、更新が数日遅れることがあった 結果的に手動で定義ファイルを更新していたが、処理速度も遅く面倒だった 参考: asdf で node-build の定義ファイルを手動更新する asdf はコマンド体系が謎だった(自分には) 例えば v20 系の最新をイン

    mise (旧 rtx) で脱 node-build (asdf)
  • npm ciのキャッシュ方式の検討

    結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの

  • monorepo で開発時にパッケージの変更を build なしで他のパッケージに反映する方法

    { "name": "lib-a", "version": "0.0.0", "type": "module", "main": "dist/index.js", "scripts": { "build": "rm -rf dist && tsc" } } この場合、lib-a の src/index.ts を変更だけしても lib-b には反映されません。なぜなら lib-b は lib-a の dist/index.js を参照しているため、build を実行して dist ディレクトリの中を更新する必要があるからです。 またこのときに tsserver の機能を使って lib-b から lib-a の参照にジャンプしても src/index.ts に飛ばないという問題点もあります。 解決策 問題の原因は依存元の lib-a の main に build によって生成されるファイルへの

    monorepo で開発時にパッケージの変更を build なしで他のパッケージに反映する方法
  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

    うりうりさんの↓のコメントを見て、そういえば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 と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
  • Node.jsコンテナイメージを極限まで軽量化! サイズを1/10以下に|SHIFT Group 技術ブログ

    はじめにSHIFT DAAE の shinagawa です。表題の通りNode.jsで作成したコンテナのイメージサイズの軽量化に挑戦しました。 背景近年の多様化・高速化するビジネスに対応するITシステムの構築を実現する「クラウドネイティブ」の構成要素の一つとして 「コンテナ」という仮想化技術が存在し、当部門でも活用を進めております。 このコンテナイメージを作成するにはアプリケーションコードやライブラリ・モジュールなどの依存物、ランタイム等を1つのイメージとして組み立てて作成しますが、 この構成要素が増えるとイメージサイズが肥大化し保管時のストレージのコストの増加やイメージの転送、環境への展開に時間がかかることになります。 従ってイメージのサイズを削減することは、これらの点を改善することにつながります。 ここではネット上で紹介されている、あらゆる打ち手を組み合わせてコンテナイメージの軽量化に

    Node.jsコンテナイメージを極限まで軽量化! サイズを1/10以下に|SHIFT Group 技術ブログ
  • JavaScriptの上限・限界値 - Qiita

    JavaScriptの文字列や配列は最長でどこまで格納できるか、気にしたことはありますか?関数は何個まで引数を取れるのでしょうか?ブロックのネストは何段まで? この記事では、そんな素朴な疑問に答えてみます。 テストに使った環境は、 macOS 12.3.1 (Arm64) Node.js v17.7.2 Firefox Nightly 102.0a1 (2022-05-29) です。当たり前ですが、この記事に載せる数値は環境によって変わる可能性があります。 テストに使ったスクリプト類は https://github.com/minoki/javascript-limits に置いてあります。 文字列の長さ まずは文字列の長さです。 規格には The String type is the set of all ordered sequences of zero or more 16-bit

    JavaScriptの上限・限界値 - Qiita
  • Node.jsを過去の物にする最速の肉まん - Qiita

    その名はBun デデン BunはNode.jsやDenoのようなJavascriptランタイムです。(2022/7/8現在ベータ版) ちなみにロゴが当に肉まんなのかはわかりません。(赤ちゃんの頭にも見えるけど名前がBun/パンだしなぁ...) この記事ではNode.jsやDenoと比較をしつつ、bunの解説させていただきます。 割となんでもできる Bunはただのランタイムではありません。下のように、開発に必須の多くな機能を最初から有しています。 TypescriptからJavascriptへのトランスパイル jsxからJavascriptへのトランスパイル npmのようなパッケージのインストール&管理 webpackのようなプロジェクトのバンドル化 もちろんランタイムなのでNode.jsのようにサーバーでJavascriptを実行することも可能です。 これらに加えてBunには様々な機

    Node.jsを過去の物にする最速の肉まん - Qiita
  • 1