このページの内容

Awesome cross-platform-nodejs logo

cross-platform-nodejs logoを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

資料

アプリケーション

開発環境

  • Node.js - さまざまなプラットフォーム向けの Node.js インストーラー。
  • nvm-windows - Windows コンピュータ上で複数の Node.js インストールを管理する方法。
  • nvm / n - macOS/Linux 用の Node バージョンマネージャー。
  • npm-windows-upgrade - Windows での npm のアップグレード方法。
  • windows-build-tools - Windows で npm を使用して C++ ビルドツールをインストールする方法。

継続的インテグレーション

  • AppVeyor - Windowsに特化。オープンソースプロジェクトには無料枠を提供。
  • Travis - Windows/macOS/Linux。オープンソースプロジェクトには無料。
  • Azure Pipelines - Windows/macOS/Linux。オープンソースプロジェクトに 10 つの並列ジョブを許可。
  • Github Action - Windows/macOS/Linux。GitHub Actionsでソフトウェア開発ワークフローを自動化できる。
  • Gitlab CI - Windows/macOS/Linux。GitLab CI/CD は、ソフトウェア開発に組み込まれたツール。

仮想化

  • ievms - マイクロソフトが複数バージョンのIEでテストを行うために提供する無料の仮想マシンイメージ向けの自動インストールツール。これらのイメージは、複数プラットフォームでの技術検証に役立つが、Microsoftのライセンスについて必ず読み、理解するよう注意してください。
  • VirtualBox - x86仮想マシンを実行するための一般用途ソフトウェア。
  • Docker - 共通のオペレーティングシステム上で仮想化されたアプリケーションコンテナを作成・展開・管理を行うソフトウェアプラットフォームであり、その周辺ツールのエコシステムを備えている。

互換性

  • Wine - Linux、Mac、BSDおよびSolaris上でWindows API呼び出しを実行。
  • Cygwin - Windows上でPOSIXを実行。
  • WSL - Windows上でLinuxコマンドラインを実行(ELFバイナリの実行、システムコール、ファイルシステム、Bash、コアユーティリティ、一般的なアプリケーション)。
  • MinGW - Windowsで動作するgcc
  • msys / Git Bash - Windows上のBash。

データベース

  • Redis - Windows向けのRedisのネイティブポート。

ライブラリ

OS識別

  • is-windows - 現在のプラットフォームがWindowsであるかどうかを検出。
  • is-wsl - 現在のプラットフォームがWSL(Windows Subsystem for Linux)であるかどうかを検出。
  • getos - 現在のOSを取得(Linuxディストリビューションを含む)。
  • os-name - 現在のオペレーティングシステムの名前を取得。
  • systeminformation - ハードウェアおよびソフトウェアのシステム情報。

シェル

  • execa - child_process.{execFile,exec}のクロスプラットフォーム実装。
  • gulp-execa - Gulp.jsにおけるクロスプラットフォームコマンド実行
  • cross-spawn - child_process.spawn()のクロスプラットフォーム実装
  • shelljs - クロスプラットフォームUnixシェルコマンド
  • node-windows - Node.jsスクリプト(デーモン、イベントログ、UACなど)におけるWindowsサポート
  • log-symbols - ログレベルごとの色付きシンボル(Windowsでのフォールバックあり)
  • figures - ユニコードシンボル(Windowsでのフォールバックあり)
  • clipboardy / clipboard-cli - クロスプラットフォームコピー/ペースト

環境

  • cross-env - 環境変数のクロスプラットフォーム設定
  • user-home - ユーザーホームディレクトリへのパス取得。クロスプラットフォーム対応
  • username - 現在のユーザー名の取得
  • osenv - クロスプラットフォーム環境変数
  • is-elevated - プロセスが昇格権限で実行されているかの確認
  • which - Unixのwhichのクロスプラットフォーム実装

ファイルシステム

  • rimraf / del - ファイルおよびフォルダの削除。クロスプラットフォーム対応
  • make-dir - クロスプラットフォームmkdir -p
  • readdirp - fs.readdir() の再帰的バージョン。
  • cpy - ファイルをコピー。マルチプラットフォーム対応。
  • chokidar - 改善されたマルチプラットフォームファイル監視。
  • graceful-fs - Windows での fs モジュールの性能向上。
  • fs-extra - graceful-fs と、より良い JSON ファイル読み取りおよびプロミスを組み合わせる。
  • any-path - オブジェクトから値を取得する際、Windows および POSIX パスを互換的に使用できる。
  • dev-null-cli - マルチプラットフォーム対応 /dev/null
  • global-cache-dir - グローバルなOS固有のキャッシュディレクトリを取得。

シグナル

  • fkill - プロセスの終了。マルチプラットフォーム対応。
  • signal-exit - マルチプラットフォーム対応 exit ハンドラー。
  • human-signals - 人間が使いやすいプロセスシグナル。

プロセス

  • ps-list - 実行中のプロセスを取得。
  • process-exists - プロセスが存在するか確認。

ストリーム

  • noop-stream - マルチプラットフォーム対応 fs.createReadStream('/dev/null')
  • random-bytes-readable-stream - マルチプラットフォーム対応 fs.createReadStream('/dev/urandom')

デスクトップUI

  • open - ウェブサイト、ファイル、実行ファイルなどを開く。プラットフォームを越えて動作。
  • node-notifier - デスクトップ通知をクロスプラットフォームで利用。

Windowsレジストリ

  • node-winreg - Windows レジストリへのアクセス。
  • rage-edit - Windows レジストリへのアクセスまたは編集。
  • windows-registry-node - Windows レジストリへのアクセスまたは編集およびファイルアソシエーションの設定。

既知の問題

  • cmd.exe unicode woes - デフォルトでは、cmd.exeはWindowsでユニコード文字を表示しない。
  • spawn issues - child_process.spawn()の動作はWindowsとLinuxの間で一貫していない。
  • exec() behavior between shells - 使用しているシェル(例:bash と dash)によって、child_process.exec()の終了動作が不一致である。

関連資料

  • awesome-desktop-js - デスクトップ上でJavaScriptアプリケーションを構築するためのツール一覧。

サポート

誤りを見つけた場合や情報を追加したい場合は、遠慮なく GitHubでIssueを作成してください

個人の背景にかかわらず、すべての人を歓迎します。前向きで包摂的な環境を促進するため、 行動規範を適用します。

コントリビューション

このプロジェクトは❤️を込めて作られました。支援する最も簡単な方法は、スターを付けてオンラインで共有することです。

ドキュメントが不明瞭、または誤字がある場合は、ページのEditボタン(鉛筆アイコン)をクリックして修正を提案してください。

誤りの修正や情報追加に協力する場合は、ガイドラインを確認してください。Pull Requestを歓迎します。

以下の素晴らしい皆さんに感謝します:

Benjamin E. Coe
Benjamin E. Coe

💻 🤔 📖
ehmicky
ehmicky

💻 🤔 📖
Sindre Sorhus
Sindre Sorhus

💻 🤔 📖
Hongarc
Hongarc

🎨 📖 💻
Kent C. Dodds
Kent C. Dodds

🤔
Jason Cooke
Jason Cooke

📖
Aron Hafner
Aron Hafner

📖
ShPelles
ShPelles

📖
Xiaodan Mao
Xiaodan Mao

📖
James Talmage
James Talmage

📖
Sylvain PONTOREAU
Sylvain PONTOREAU

📖
Steven
Steven

🤔

このプロジェクトはall-contributors仕様に従っています。

ライセンス

License