Cross-Platform

repo: bcoe/awesome-cross-platform-nodejs
category: Platforms


Contents

Resources

  • [Core Node.js documentation](https://nodejs.org/en/docs/) - Especially the os, path, fs, process and child_process modules.
  • [Cross-platform Node.js guide](https://github.com/ehmicky/cross-platform-node-guide) - How to write cross-platform Node.js code.
  • [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
  • Writing Cross-Platform Node.js - Great tutorial covering many common issues that arise when writing cross-platform code: path creation, script execution, newline characters.
  • Cross-platform terminal characters - All the characters that work on most terminals and most operating systems.

Applications

Development environment

Continuous integration

  • AppVeyor - Focused on Windows. Free tiers are available for OSS projects.
  • Travis - Windows/macOS/Linux. Free for OSS projects.
  • Azure Pipelines - Windows/macOS/Linux. Free for OSS projects with 10 parallel jobs.
  • Github Action - Windows/macOS/Linux. GitHub Actions makes it easy to automate all your software workflows.
  • Gitlab CI - Windows/macOS/Linux. GitLab CI/CD is a tool built into GitLab for software development.

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.
  • Docker - Software platform to create, deploy and manage virtualized application containers on a common operating system, with an ecosystem of allied tools.

Compatibility

Databases

Libraries

OS identification

  • is-windows - Detect whether the current platform is Windows.
  • is-wsl - Detect whether current platform is WSL (Windows Subsystem for Linux).
  • getos - Retrieve the current OS, including Linux distribution.
  • os-name - Get the name of the current operating system.
  • systeminformation - Hardware/software system information.

Shell

Environment

  • cross-env - Set environment variables cross-platform.
  • user-home - Get the path to the user home directory. Cross-platform.
  • username - Get the current username.
  • osenv - Cross-platform environment variables.
  • is-elevated - Check if the process is running with elevated privileges.
  • which - Cross-platform implementation of Unix's which.

Filesystem

Signals

Processes

Streams

Desktop UI

  • open - Opens stuff like websites, files, executables. Cross-platform.
  • node-notifier - Cross-platform desktop notifications.

Windows registry

Known issues

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?