Awesome cross-platform-nodejs logo
cross-platform-nodejs logoを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
資料
- Core Node.js documentation - 特に
os、path、fs、processおよびchild_processモジュール。 - Cross-platform Node.js guide - クロスプラットフォーム Node.js コードを書く方法。
- Microsoft Node.js Guidelines - Microsoft プラットフォーム上で Node.js を使う際のヒント、コツ、リソース。
- Writing Cross-Platform Node.js - パスの作成、スクリプトの実行、改行文字など、クロスプラットフォームコードを書く際によく発生する問題をカバーする素晴らしいチュートリアル。
- Cross-platform terminal characters - ほとんどのターミナルおよびほとんどのオペレーティングシステムで動作するすべての文字。
アプリケーション
開発環境
- 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 💻 🤔 📖 | ehmicky 💻 🤔 📖 | Sindre Sorhus 💻 🤔 📖 | Hongarc 🎨 📖 💻 | Kent C. Dodds 🤔 | Jason Cooke 📖 | Aron Hafner 📖 |
ShPelles 📖 | Xiaodan Mao 📖 | James Talmage 📖 | Sylvain PONTOREAU 📖 | Steven 🤔 |
このプロジェクトはall-contributors仕様に従っています。