Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-cross-platform-nodejs
:two_men_holding_hands: A curated list of awesome developer tools for writing cross-platform Node.js code
https://github.com/bcoe/awesome-cross-platform-nodejs
Last synced: 2 days ago
JSON representation
-
Resources
- Core Node.js documentation - Especially the [`os`](https://nodejs.org/api/os.html), [`path`](https://nodejs.org/api/path.html), [`fs`](https://nodejs.org/api/fs.html), [`process`](https://nodejs.org/api/process.html) and [`child_process`](https://nodejs.org/api/child_process.html) modules.
- Cross-platform Node.js guide - How to write cross-platform Node.js code.
- Microsoft Node.js 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.
- Core Node.js documentation - Especially the [`os`](https://nodejs.org/api/os.html), [`path`](https://nodejs.org/api/path.html), [`fs`](https://nodejs.org/api/fs.html), [`process`](https://nodejs.org/api/process.html) and [`child_process`](https://nodejs.org/api/child_process.html) modules.
- Writing Cross-Platform Node.js - Great tutorial covering many common issues that arise when writing cross-platform code: path creation, script execution, newline characters.
-
Applications
-
Development environment
- nvm-windows - Manage multiple installations of Node.js on a Windows computer.
- nvm - Node version manager for macOS/Linux.
- npm-windows-upgrade - Upgrade npm on Windows.
- windows-build-tools - Install C++ Build Tools for Windows using npm.
- nvm - Node version manager for macOS/Linux.
-
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.
- 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.
-
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
- Wine - Run Windows API calls on Linux, Mac, BSD and Solaris.
- Cygwin - Run POSIX on Windows.
- WSL - Run the Linux command line on Windows (ELF binary execution, system calls, filesystem, Bash, core utilities, common applications).
- MinGW - `gcc` on Windows.
- msys - Bash on Windows.
- WSL - Run the Linux command line on Windows (ELF binary execution, system calls, filesystem, Bash, core utilities, common applications).
-
Databases
- Redis - Native port of Redis for Windows.
-
-
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
- execa - Cross-platform implementation of `child_process.{execFile,exec}`.
- gulp-execa - Cross-platform command execution in Gulp.js.
- cross-spawn - Cross-platform implementation of `child_process.spawn()`.
- shelljs - Cross-platform Unix shell commands.
- node-windows - Windows support for Node.js scripts (daemons, eventlog, UAC, etc).
- log-symbols - Colored symbols for various log levels with Windows fallbacks.
- figures - Unicode symbols with Windows fallbacks.
- clipboardy - cli](https://github.com/sindresorhus/clipboard-cli) - Cross-platform copy/paste.
- cross-spawn - Cross-platform implementation of `child_process.spawn()`.
-
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
- rimraf - Delete files and folders. Cross-platform.
- make-dir - Cross-platform `mkdir -p`.
- readdirp - Recursive version of `fs.readdir()`.
- cpy - Copy files. Cross-platform.
- chokidar - Improved cross-platform file watching.
- graceful-fs - Improves the `fs` module, especially on Windows.
- fs-extra - Combines `graceful-fs` with better JSON file reading and promises.
- any-path - Use Windows and POSIX paths interchangeably when fetching values from an object.
- dev-null-cli - Cross-platform `/dev/null`.
- global-cache-dir - Get the global OS-specific cache directory.
-
Signals
- fkill - Kill processes. Cross-platform.
- signal-exit - Cross-platform `exit` handler.
- human-signals - Human-friendly process signals.
-
Processes
- ps-list - Get running processes.
- process-exists - Check if a process exists.
-
Streams
- noop-stream - Cross-platform `fs.createReadStream('/dev/null')`.
- random-bytes-readable-stream - Cross-platform `fs.createReadStream('/dev/urandom')`.
-
Desktop UI
- open - Opens stuff like websites, files, executables. Cross-platform.
- node-notifier - Cross-platform desktop notifications.
-
Windows registry
- node-winreg - Access the Windows registry.
- rage-edit - Access/modify the Windows registry.
- windows-registry-node - Access/modify the Windows registry and set file associations.
-
-
Known issues
-
Windows registry
- 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.
- exec() behavior between shells - Depending on the shell being used, e.g., bash vs. dash, `child_process.exec()` has inconsistent exit behavior.
- exec() behavior between shells - Depending on the shell being used, e.g., bash vs. dash, `child_process.exec()` has inconsistent exit behavior.
-
-
See also
-
Windows registry
- awesome-desktop-js - List of tools to build JavaScript applications on the desktop.
-
-
Contributing
-
Windows registry
-
Programming Languages
Categories
Sub Categories
Keywords
nodejs
18
windows
11
javascript
10
shell
6
cross-platform
5
macos
5
typescript
4
bash
4
unix
4
terminal
4
npm-package
4
operating-system
4
linux
4
es6
4
filesystem
3
stream
3
node
3
exec
3
cli
3
spawn
3
os
3
dev-null
2
npm
2
nvm
2
noop
2
version-manager
2
child-process
2
unicode
2
microsoft
2
command-line
2
encoding
2
windows-registry
2
portability
2
security
2
library
2
readable-stream
2
nodejs-stream
2
redis-for-windows
1
redis-msi-installer
1
redis-windows
1
redis-windows-installer
1
redis-windows-native
1
streams
1
spawned-processes
1
binary
1
redis-windows-service
1
amd
1
browser
1
commonjs
1
umd
1