/awesome-cross-platform-nodejs

:two_men_holding_hands: A curated list of awesome developer tools and libraries for writing and testing code that runs on Windows and Linux.

Awesome Cross-Platform Node.js Awesome

A curated list of awesome libraries and applications for writing and testing code that works on Windows and Unix-like platforms.

Inspired by the awesome list thing.

Table of Contents

Resources

Known Issues

  • cmd.exe unicode woes - by default, cmd.exe does not display unicode characters on Windows.
  • spawn issues - child_process.spawn() behavior is not consistent between Windows and Linux.
  • node-gyp on Windows - it can be quite painful to compile native modules on Windows.
  • stdio issues on v0.10.x - a race condition in stdio lead to confusing terminal output when testing on Windows prior to Node v0.11.12.
  • exec() behavior between shells - depending on the shell being used, e.g., bash vs. dash, child_process.exec() has inconsistent exit behavior.

Online Tools

  • AppVeyor - Continuous integration service for Windows. Free tiers are available for OSS projects.

Applications

Virtualization

  • ievms - Automated installer for the free virtual machine images that Microsoft provides for testing on multiple versions of IE. These images can be useful for cross-platform testing various technologies, however make sure you read and understand Microsofts' licensing.
  • VirtualBox - General purpose software for running x86 virtual machines.

Development Environment

  • Atom - A cross-platform, full-featured, hackable text editor.
  • Node.js - Node.js installer for various platforms.
  • MSOpenTech Redis - A build of Redis maintained by Microsoft Open Technologies.
  • nvm-windows - Manage multiple installations of Node.js on a Windows computer.

Libraries

  • any-path - Use Windows and POSIX paths interchangeably when fetching values from an object.
  • is-windows - Detect whether the current platform is Windows.
  • rimraf - Cross-platform rm -rf.
  • mkdirp - Cross-platform mkdir -p.
  • execa - Cross-platform implementation of child_process.{execFile,exec}.
  • which - Cross-platform implementation of Unix's which.
  • user-home - Get the path to the user home directory. Cross-platform.
  • opn - Opens stuff like websites, files, executables. Cross-platform.
  • log-symbols - Colored symbols for various log levels with Windows fallbacks.
  • figures - Unicode symbols with Windows fallbacks.
  • del - Delete files and folders. Cross-platform.
  • cpy - Copy files. Cross-platform.
  • fkill - Kill processes. Cross-platform.
  • graceful-fs - Improves the fs module, especially on Windows.
  • chokidar - Improved cross-platform file watching.
  • shelljs - Cross-platform Unix shell commands.
  • cross-env - Set environment variables cross-platform.
  • cross-spawn - Cross-platform implementation of child_process.spawn().