はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    参議院選挙2025

『zenn.dev』

  • 人気
  • 新着
  • すべて
  • mise で Node.js 最新バージョンをインストール

    5 users

    zenn.dev/teppeis

    mise 最新版 (2025.5.1) で確認したら昔書いた記事とは挙動が違ったのでメモ。 3 行まとめ リリースされたばかりの Node.js をインストールしたいけど、mise 本家のバージョンインデックスの更新が追いついてなくて通常のインストールができない場合、以下のように環境変数を 2 つ付ければ OK。 # バージョン確認 $ MISE_FETCH_REMOTE_VERSIONS_CACHE=0 MISE_USE_VERSIONS_HOST=0 mise ls-remote node ... 24.0.0 # インストール $ MISE_FETCH_REMOTE_VERSIONS_CACHE=0 MISE_USE_VERSIONS_HOST=0 mise install node@24.0.0 上記は先日リリースされたばかりの Node.js v24.0.0 をインストールする例

    • テクノロジー
    • 2025/05/07 14:54
    • mise
    • node.js
    • ESLint コアルールの TypeScript 対応について

      33 users

      zenn.dev/teppeis

      ESLint コアルールの TypeScript 対応について ESLint v9.23.0 で ESLint のコアルールの TypeScript 対応が開始しました。 その後の ESLint のアップデートでもコアルールの TS 対応が進んでいます。ESLint コアの責務を増やすような機能追加は少し意外だと感じたので、その背景について調べてみました。 背景: 従来のコアルールの拡張方法の課題 ESLint のコアルールは JavaScript を想定して書かれたものであるが、TypeScript に対してもほぼ期待通り動作するルールが多い。TypeScript は JS のほぼ上位互換な言語であるため、TypeScript 用のパーサー (@typescript-eslint/parser) が吐き出す AST もほぼ上位互換であり、パーサーさえ TS 用のものを使えば多くの ESL

      • テクノロジー
      • 2025/04/20 16:48
      • eslint
      • TypeScript
      • JavaScript
      • あとで読む
      • techfeed
      • mise (旧 rtx) で脱 node-build (asdf)

        27 users

        zenn.dev/teppeis

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

        • テクノロジー
        • 2024/01/05 10:43
        • mise
        • node
        • node.js
        • 環境
        • ツール
        • ESLint v8.56.0 の `reportUnusedDisableDirectives` とは何か?

          4 users

          zenn.dev/teppeis

          この記事は Cybozu Frontend Advent Calendar 2023 の 24 日目の記事です。 先日リリースされた ESLint v8.56.0 でオプション reportUnusedDisableDirectives が改善された話です。 元々どういうオプションだった? // eslint-disable-line みたいなルール無効化ディレクティブを書いたけど、しばらくして何かしらのコード修正の影響でもうそのルール違反は発生しなくなって、でも無効化ディレクティブは消し忘れて無駄に残っている、みたいな状態は起こりがちです。 例えば以下のように non null assertion (!) が一時的に必要になって disable したけど、

          • テクノロジー
          • 2023/12/25 11:09
          • eslint
          • javascript
          • asdf で node-build の定義ファイルを手動更新する

            3 users

            zenn.dev/teppeis

            asdf で Node.js を扱う場合、内部的には node-build によってインストール可能なバージョンとアーカイブの URL の定義ファイルが管理されている。 この定義ファイルが数日更新されないこともあり[1]、そういう場合に手動でローカルの定義ファイルを更新して新バージョンをインストールする方法を毎回忘れるのでメモに残しておく。 手順だけ書くとこれ。 DIR=/tmp/node-defs mkdir -p $DIR npx -p @nodenv/node-build-update-defs nodenv-update-version-defs -f -d $DIR NODE_BUILD_DEFINITIONS=$DIR asdf install nodejs 21.0.0 node-build-update-defs は node-build が定義ファイルを生成しているツール

            • テクノロジー
            • 2023/10/20 22:13
            • node.js
            • ESLint Flat Config を ESM (.mjs) で書く

              3 users

              zenn.dev/teppeis

              ESLintの新しいFlat Configは、デフォルトではファイル名と拡張子が固定でeslint.config.jsしか使えない。eslint.config.mjsが使えない。 つまり、プロジェクトのpackage.jsonのtypeに依存して、中身がCommonJSかESMなのかが変わってしまう。 これは実際けっこう面倒になりそうで、自分で使う設定ファイルは共通で使い回すことになると思うけど、プロジェクトによってrequire()を使うCJS用とimportを使うESM用で書き分けないといけなくなる。 一応コマンドライン引数を使えば任意のファイル名を設定ファイルとして渡すことはできるけど、その場合は環境変数でFlat Configを有効化する必要もあるので、都度手で打つのは厳しい長々としたコマンドになってしまう。 ESLintチームは、これに関してかなり固い決意を持っているようなので覆

              • テクノロジー
              • 2023/09/14 21:43
              • eslint
              • javascript
              • VS Code Prettier拡張でPretteir v2/v3両対応を試みる

                36 users

                zenn.dev/teppeis

                この拡張には現在 (2023/07/30 9.19.0 時点) はまだPrettier v2が同梱されている。同梱をv3に変更するPRはまだマージされていない(と書いてたらさっきマージされた)。 ただ、この拡張は対象ワークスペースのプロジェクトのローカルにprettierがインストールされていればそっちを使ってくれるので、この拡張の変更のリリースを待たずとも、単にプロジェクトでprettierをアップデートすればVS Codeでもv3が使われて期待通り動くはず。 が、結果は予想に反して、v3で動いているはずなのにtrailingCommaがallではなく、v2相当のes5で動いてしまってた。あれ? 原因は、この拡張は拡張側でPrettierのデフォルト設定を独自に持ってしまっていて、プロジェクトに設定ファイルprettierrcが無い場合は拡張側のデフォルト設定が使われるから。Pretti

                • テクノロジー
                • 2023/07/30 23:16
                • prettier
                • VSCode
                • あとで読む
                • programming
                • TypeScript 5.0 で追加された verbatimModuleSyntax とは何か?

                  51 users

                  zenn.dev/teppeis

                  // A: そのまま残る import { Foo } from "./foo"; // B: 識別子 `Foo` が削除される import {} from "./foo"; // C: import 文ごと完全に削除される どれになるかは、以下の状態の組み合わせ依存する(他にも条件あるかも)。 そのファイルでFooが値として参照されるか、型として参照されるか、参照されないか Fooがfoo.tsで値として定義されているか、型として定義されているか tsconfig のオプション設定 importsNotUsedAsValues: 値として参照されない import 文を残すかどうか preserveValueImports: 参照されない import 識別子が値なら残す isolatedModules: ファイル単位でトランスパイルする 上記は出力するモジュール形式が ESM の場合

                  • テクノロジー
                  • 2023/04/05 09:06
                  • typescript
                  • eslint
                  • article
                  • あとで読む
                  • Vite 3 が採用した CJS Proxy による Dual Package 構成

                    34 users

                    zenn.dev/teppeis

                    2022 年現在、Node.js 界隈は ESM (ES Module) への移行の過渡期であり、特に既存プロジェクトにおいては CJS (CommonJS) 構成であることがまだまだ多い。また、Pure ESM な npm パッケージは、CSJ プロジェクトからの利便性が悪く、dynamic import が必須で非同期化を強いられたり TypeScript の設定変更が必要だったりと面倒が増える。 そんな状況のため、広く使われたい npm パッケージを公開する場合、importでもrequireでも利用できるよう dual package 構成を取りたくなるが、定番手法が確立しているとは言えず、意外と面倒が多い。よく見るのは、tscやesbuild等で ESM 用と CJS 用の設定ファイルを用意してそれぞれ別ディレクトリに出力し、パッケージに両方同梱して conditional ex

                    • テクノロジー
                    • 2022/07/20 08:15
                    • vite
                    • esm
                    • npm
                    • node.js
                    • self
                    • article
                    • javascript
                    • M1 Mac で nodenv から Intel 版 Node.js をインストール

                      27 users

                      zenn.dev/teppeis

                      最近になって M1 Mac 入手したので環境構築の tips をメモ。 Node.js v16 以上では M1 Mac 向け arm64 バイナリが公式に提供されているが、v15 以下では提供されていない。 M1 Mac で nodenv を使って Node.js をインストールする場合、v16 ではもちろん arm64 バイナリをダウンロードするが、v14 では x86_64 バイナリをダウンロードして Rosetta で動かすのではなく、ソースをダウンロードしてローカルでコンパイルが始まってしまう。 この挙動は厳密に arm64 バイナリが欲しい人には嬉しいかもしれないが、ちょっとした動作確認をしたいだけなのに数分かけてビルドされても困る。 そういう場合、arch コマンドを使うことで nodenv で x86_64 バイナリをインストールできた。

                      • テクノロジー
                      • 2022/03/14 22:32
                      • mac
                      • Node.js
                      • あとで読む
                      • dev
                      • techfeed
                      • tips
                      • TypeScript 4.5 以降で ESM 対応はどうなるのか?

                        119 users

                        zenn.dev/teppeis

                        本記事で記述した Node.js ESM 対応は2022 年 5 月に TypeScript 4.7 で正式版としてリリースされました。 本記事の内容との差分はmodule:node12がmodule:node16に変更されたことぐらいです。node16では top-level await が使え、現時点ではnodenextとの差分はありません。 他に関連する機能としてresolution-modeや--moduleDetectionが追加されましたが、一般利用者が意識することはないでしょう。 先日リリースされた TypeScript 4.5 Beta で、待望の Node.js ESM 対応がアナウンスされました。 その後、ユーザーからのフィードバックを経て、TypeScript チームは TS 4.5(11/16 リリース予定)では ESM 対応を stable リリースせず、Nigh

                        • テクノロジー
                        • 2021/10/24 23:31
                        • TypeScript
                        • esm
                        • あとで読む
                        • node
                        • node.js
                        • self
                        • JSON
                        • js
                        • convert
                        • techfeed
                        • corepack is 何?

                          204 users

                          zenn.dev/teppeis

                          追記: 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 も

                          • テクノロジー
                          • 2021/05/01 09:34
                          • npm
                          • node.js
                          • yarn
                          • node
                          • フロントエンド
                          • あとで読む
                          • JavaScript
                          • nodejs
                          • Programming
                          • ESLint, Prettier, VS Code, npm scripts の設定: 2021春

                            337 users

                            zenn.dev/teppeis

                            eslint-plugin-prettier 時代の設定をずっと使っていたので、重い腰を上げてアップデートした作業メモ。 背景 Prettier 公式ドキュメントによれば、現在 eslint-plugin-prettier は以下の問題があるとして推奨していない。 エディタが真っ赤になる(人間が気にする必要のない問題なのに!) 直接実行するより遅い(同様に prettier-eslint も遅い) ESLint と Prettier の間に間接レイヤーを追加するので、壊れやすい なるほど正しい。 一方、別々に実行することで以下のような問題も出てくるので、解決していく。 CLI とエディタを個別に設定する必要がある エディタで ESLint と Prettier の協調動作が必要 CLI (npm scripts) で ESLint と Prettier の対象ファイルが別管理になる 上記の

                            • テクノロジー
                            • 2021/02/18 22:39
                            • eslint
                            • prettier
                            • VSCode
                            • あとで読む
                            • npm
                            • エディタ
                            • javascript
                            • TypeScript
                            • editor
                            • frontend

                            このページはまだ
                            ブックマークされていません

                            このページを最初にブックマークしてみませんか?

                            『zenn.dev』の新着エントリーを見る

                            キーボードショートカット一覧

                            j次のブックマーク

                            k前のブックマーク

                            lあとで読む

                            eコメント一覧を開く

                            oページを開く

                            はてなブックマーク

                            • 総合
                            • 一般
                            • 世の中
                            • 政治と経済
                            • 暮らし
                            • 学び
                            • テクノロジー
                            • エンタメ
                            • アニメとゲーム
                            • おもしろ
                            • アプリ・拡張機能
                            • 開発ブログ
                            • ヘルプ
                            • お問い合わせ
                            • ガイドライン
                            • 利用規約
                            • プライバシーポリシー
                            • 利用者情報の外部送信について
                            • ガイドライン
                            • 利用規約
                            • プライバシーポリシー
                            • 利用者情報の外部送信について

                            公式Twitter

                            • 公式アカウント
                            • ホットエントリー

                            はてなのサービス

                            • はてなブログ
                            • はてなブログPro
                            • 人力検索はてな
                            • はてなブログ タグ
                            • はてなニュース
                            • ソレドコ
                            • App Storeからダウンロード
                            • Google Playで手に入れよう
                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                            設定を変更しましたx