1 line
No EOL
13 KiB
JSON
1 line
No EOL
13 KiB
JSON
{"slug": "bcoe--awesome-cross-platform-nodejs", "title": "Cross Platform Nodejs", "description": ":two_men_holding_hands: A curated list of awesome developer tools for writing cross-platform Node.js code", "github_url": "https://github.com/bcoe/awesome-cross-platform-nodejs", "stars": "1K", "tag": "Platforms", "entry_count": 74, "subcategory_count": 15, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Resources", "url": "#resources", "description": ""}, {"name": "Applications", "url": "#applications", "description": ""}, {"name": "Libraries", "url": "#libraries", "description": ""}, {"name": "Known issues", "url": "#known-issues", "description": ""}, {"name": "Support", "url": "#support", "description": ""}, {"name": "Core Node.js documentation", "url": "https://nodejs.org/en/docs/", "description": "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."}, {"name": "Cross-platform Node.js guide", "url": "https://github.com/ehmicky/cross-platform-node-guide", "description": "How to write cross-platform Node.js code.", "stars": "1.3k"}, {"name": "Microsoft Node.js Guidelines", "url": "https://github.com/Microsoft/nodejs-guidelines", "description": "Tips, tricks, and resources for working with Node.js on Microsoft platforms.", "stars": "2.4k"}, {"name": "Writing Cross-Platform Node.js", "url": "http://shapeshed.com/writing-cross-platform-node/", "description": "Great tutorial covering many common issues that arise when writing cross-platform code: path creation, script execution, newline characters."}, {"name": "Cross-platform terminal characters", "url": "https://github.com/ehmicky/cross-platform-terminal-characters", "description": "All the characters that work on most terminals and most operating systems.", "stars": "188"}]}, {"name": "Development environment", "parent": "Applications", "entries": [{"name": "Node.js", "url": "https://nodejs.org/en/download/", "description": "Node.js installer for various platforms."}, {"name": "nvm-windows", "url": "https://github.com/coreybutler/nvm-windows", "description": "Manage multiple installations of Node.js on a Windows computer.", "stars": "24k"}, {"name": "nvm", "url": "https://github.com/creationix/nvm", "description": "", "stars": "62k"}, {"name": "npm-windows-upgrade", "url": "https://github.com/felixrieseberg/npm-windows-upgrade", "description": "Upgrade npm on Windows.", "stars": "2.5k"}, {"name": "windows-build-tools", "url": "https://github.com/felixrieseberg/windows-build-tools", "description": "Install C++ Build Tools for Windows using npm.", "stars": "3.3k"}]}, {"name": "Continuous integration", "parent": "Applications", "entries": [{"name": "AppVeyor", "url": "http://www.appveyor.com/", "description": "Focused on Windows. Free tiers are available for OSS projects."}, {"name": "Travis", "url": "https://travis-ci.org/", "description": "Windows/macOS/Linux. Free for OSS projects."}, {"name": "Azure Pipelines", "url": "https://azure.microsoft.com/en-us/services/devops/pipelines/", "description": "Windows/macOS/Linux. Free for OSS projects with 10 parallel jobs."}, {"name": "Github Action", "url": "https://github.com/features/actions", "description": "Windows/macOS/Linux. GitHub Actions makes it easy to automate all your software workflows."}, {"name": "Gitlab CI", "url": "https://docs.gitlab.com/ee/ci/", "description": "Windows/macOS/Linux. GitLab CI/CD is a tool built into GitLab for software development."}]}, {"name": "Virtualization", "parent": "Applications", "entries": [{"name": "ievms", "url": "https://github.com/amichaelparker/ievms", "description": "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.", "stars": "69"}, {"name": "VirtualBox", "url": "https://www.virtualbox.org/wiki/Downloads", "description": "General purpose software for running x86 virtual machines."}, {"name": "Docker", "url": "https://www.docker.com/", "description": "Software platform to create, deploy and manage virtualized application containers on a common operating system, with an ecosystem of allied tools."}]}, {"name": "Compatibility", "parent": "Applications", "entries": [{"name": "Wine", "url": "https://www.winehq.org/", "description": "Run Windows API calls on Linux, Mac, BSD and Solaris."}, {"name": "Cygwin", "url": "https://www.cygwin.com/", "description": "Run POSIX on Windows."}, {"name": "WSL", "url": "https://docs.microsoft.com/en-us/windows/wsl/install-win10", "description": "Run the Linux command line on Windows (ELF binary execution, system calls, filesystem, Bash, core utilities, common applications)."}, {"name": "MinGW", "url": "http://www.mingw.org/", "description": "`gcc` on Windows."}, {"name": "msys", "url": "http://www.mingw.org/wiki/msys", "description": ""}]}, {"name": "Databases", "parent": "Applications", "entries": [{"name": "Redis", "url": "https://github.com/tporadowski/redis", "description": "Native port of Redis for Windows.", "stars": "6k"}]}, {"name": "OS identification", "parent": "Libraries", "entries": [{"name": "is-windows", "url": "https://github.com/jonschlinkert/is-windows", "description": "Detect whether the current platform is Windows.", "stars": "47"}, {"name": "is-wsl", "url": "https://github.com/sindresorhus/is-wsl", "description": "Detect whether current platform is WSL (Windows Subsystem for Linux).", "stars": "168"}, {"name": "getos", "url": "https://github.com/retrohacker/getos", "description": "Retrieve the current OS, including Linux distribution.", "stars": "74"}, {"name": "os-name", "url": "https://github.com/sindresorhus/os-name", "description": "Get the name of the current operating system.", "stars": "125"}, {"name": "systeminformation", "url": "https://github.com/sebhildebrandt/systeminformation", "description": "Hardware/software system information.", "stars": "2.1k"}]}, {"name": "Shell", "parent": "Libraries", "entries": [{"name": "execa", "url": "https://github.com/sindresorhus/execa", "description": "Cross-platform implementation of `child_process.{execFile,exec}`.", "stars": "4.9k"}, {"name": "gulp-execa", "url": "https://github.com/ehmicky/gulp-execa", "description": "Cross-platform command execution in Gulp.js.", "stars": "52"}, {"name": "cross-spawn", "url": "https://github.com/IndigoUnited/node-cross-spawn", "description": "Cross-platform implementation of `child_process.spawn()`.", "stars": "982"}, {"name": "shelljs", "url": "https://github.com/shelljs/shelljs", "description": "Cross-platform Unix shell commands.", "stars": "14k"}, {"name": "node-windows", "url": "https://github.com/coreybutler/node-windows", "description": "Windows support for Node.js scripts (daemons, eventlog, UAC, etc).", "stars": "2.5k"}, {"name": "log-symbols", "url": "https://github.com/sindresorhus/log-symbols", "description": "Colored symbols for various log levels with Windows fallbacks.", "stars": "682"}, {"name": "figures", "url": "https://github.com/sindresorhus/figures", "description": "Unicode symbols with Windows fallbacks.", "stars": "537"}, {"name": "clipboardy", "url": "https://github.com/sindresorhus/clipboardy", "description": "", "stars": "1.5k"}]}, {"name": "Environment", "parent": "Libraries", "entries": [{"name": "cross-env", "url": "https://github.com/kentcdodds/cross-env", "description": "Set environment variables cross-platform.", "stars": "5.9k"}, {"name": "user-home", "url": "https://github.com/sindresorhus/user-home", "description": "Get the path to the user home directory. Cross-platform.", "stars": "160"}, {"name": "username", "url": "https://github.com/sindresorhus/username", "description": "Get the current username.", "stars": "140"}, {"name": "osenv", "url": "https://github.com/npm/osenv", "description": "Cross-platform environment variables.", "stars": "135"}, {"name": "is-elevated", "url": "https://github.com/sindresorhus/is-elevated", "description": "Check if the process is running with elevated privileges.", "stars": "36"}, {"name": "which", "url": "https://github.com/npm/node-which", "description": "Cross-platform implementation of Unix's `which`.", "stars": "278"}]}, {"name": "Filesystem", "parent": "Libraries", "entries": [{"name": "rimraf", "url": "https://github.com/isaacs/rimraf", "description": "", "stars": "4.9k"}, {"name": "make-dir", "url": "https://github.com/sindresorhus/make-dir", "description": "Cross-platform `mkdir -p`.", "stars": "459"}, {"name": "readdirp", "url": "https://github.com/paulmillr/readdirp", "description": "Recursive version of `fs.readdir()`.", "stars": "361"}, {"name": "cpy", "url": "https://github.com/sindresorhus/cpy", "description": "Copy files. Cross-platform.", "stars": "380"}, {"name": "chokidar", "url": "https://github.com/paulmillr/chokidar", "description": "Improved cross-platform file watching.", "stars": "9.4k"}, {"name": "graceful-fs", "url": "https://github.com/isaacs/node-graceful-fs", "description": "Improves the `fs` module, especially on Windows.", "stars": "1.2k"}, {"name": "fs-extra", "url": "https://github.com/jprichardson/node-fs-extra", "description": "Combines `graceful-fs` with better JSON file reading and promises.", "stars": "8.7k"}, {"name": "any-path", "url": "https://github.com/bcoe/any-path", "description": "Use Windows and POSIX paths interchangeably when fetching values from an object.", "stars": "5"}, {"name": "dev-null-cli", "url": "https://github.com/sindresorhus/dev-null-cli", "description": "Cross-platform `/dev/null`.", "stars": "91"}, {"name": "global-cache-dir", "url": "https://github.com/ehmicky/global-cache-dir", "description": "Get the global OS-specific cache directory.", "stars": "4"}]}, {"name": "Signals", "parent": "Libraries", "entries": [{"name": "fkill", "url": "https://github.com/sindresorhus/fkill", "description": "Kill processes. Cross-platform.", "stars": "665"}, {"name": "signal-exit", "url": "https://github.com/tapjs/signal-exit", "description": "Cross-platform `exit` handler.", "stars": "166"}, {"name": "human-signals", "url": "https://github.com/ehmicky/human-signals", "description": "Human-friendly process signals.", "stars": "253"}]}, {"name": "Processes", "parent": "Libraries", "entries": [{"name": "ps-list", "url": "https://github.com/sindresorhus/ps-list", "description": "Get running processes.", "stars": "239"}, {"name": "process-exists", "url": "https://github.com/sindresorhus/process-exists", "description": "Check if a process exists.", "stars": "56"}]}, {"name": "Streams", "parent": "Libraries", "entries": [{"name": "noop-stream", "url": "https://github.com/sindresorhus/noop-stream", "description": "Cross-platform `fs.createReadStream('/dev/null')`.", "stars": "46"}, {"name": "random-bytes-readable-stream", "url": "https://github.com/sindresorhus/random-bytes-readable-stream", "description": "Cross-platform `fs.createReadStream('/dev/urandom')`.", "stars": "74"}]}, {"name": "Desktop UI", "parent": "Libraries", "entries": [{"name": "open", "url": "https://github.com/sindresorhus/open", "description": "Opens stuff like websites, files, executables. Cross-platform.", "stars": "2.7k"}, {"name": "node-notifier", "url": "https://github.com/mikaelbr/node-notifier", "description": "Cross-platform desktop notifications.", "stars": "5.5k"}]}, {"name": "Windows registry", "parent": "Libraries", "entries": [{"name": "node-winreg", "url": "https://github.com/fresc81/node-winreg", "description": "Access the Windows registry.", "stars": "200"}, {"name": "rage-edit", "url": "https://github.com/MikeKovarik/rage-edit", "description": "Access/modify the Windows registry.", "stars": "45"}, {"name": "windows-registry-node", "url": "https://github.com/CatalystCode/windows-registry-node", "description": "Access/modify the Windows registry and set file associations.", "stars": "103"}, {"name": "cmd.exe unicode woes", "url": "https://github.com/nodejs/node-v0.x-archive/issues/7940", "description": "By default, `cmd.exe` does not display Unicode characters on Windows.", "stars": "35k"}, {"name": "spawn issues", "url": "https://github.com/nodejs/node-v0.x-archive/issues/2318", "description": "`child_process.spawn()` behavior is not consistent between Windows and Linux.", "stars": "35k"}, {"name": "exec() behavior between shells", "url": "https://github.com/isaacs/spawn-wrap#contracts-and-caveats", "description": "Depending on the shell being used, e.g., bash vs. dash, `child_process.exec()` has inconsistent exit behavior.", "stars": "35"}, {"name": "awesome-desktop-js", "url": "https://github.com/styfle/awesome-desktop-js", "description": "List of tools to build JavaScript applications on the desktop.", "stars": "694"}]}], "name": ""} |