Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ehmicky/cross-platform-node-guide

๐Ÿ“— How to write cross-platform Node.js code
https://github.com/ehmicky/cross-platform-node-guide

api cli code-quality cross-platform documentation encoding es6 javascript linux macos nodejs operating-system os portability security server shell terminal unix windows

Last synced: 1 day ago
JSON representation

๐Ÿ“— How to write cross-platform Node.js code

Awesome Lists containing this project

README

        


cross-platform-nodejs logo

[![License](https://img.shields.io/badge/-CC%20BY%204.0-808080?logo=creativecommons&colorA=404040&logoColor=66cc33)](https://creativecommons.org/licenses/by/4.0/)
[![Node](https://img.shields.io/badge/-Node.js-808080?logo=node.js&colorA=404040&logoColor=66cc33)](https://www.npmjs.com/package/cross-platform-node-guide)
[![Mastodon](https://img.shields.io/badge/-Mastodon-808080.svg?logo=mastodon&colorA=404040&logoColor=9590F9)](https://fosstodon.org/@ehmicky)
[![Medium](https://img.shields.io/badge/-Medium-808080.svg?logo=medium&colorA=404040)](https://medium.com/@ehmicky)

How to write cross-platform Node.js code.

**Why you should care**: according to the
[2018 Node.js](https://nodejs.org/en/user-survey-report/#Primary-OS-Distro)
[user survey](https://nodejs.org/en/user-survey-report/2018-nodejs-user-survey-raw-data.xlsx),
24% of Node.js developers use Windows locally and 41% use Mac. In production 85%
use Linux and 1% use BSD.

# Hire me

Please
[reach out](https://www.linkedin.com/feed/update/urn:li:activity:7117265228068716545/)
if you're looking for a Node.js API or CLI engineer (11 years of experience).
Most recently I have been [Netlify Build](https://github.com/netlify/build)'s
and [Netlify Plugins](https://www.netlify.com/products/build/plugins/)'
technical lead for 2.5 years. I am available for full-time remote positions.

# Table of contents

[Summary](docs/summary.md)

## ๐Ÿค– [Development environment](docs/1_development_environment/README.md)

- [Node setup](docs/1_development_environment/node_setup.md)
- [Core utilities](docs/1_development_environment/core_utilities.md)
- [Testing](docs/1_development_environment/testing.md)

## ๐Ÿ“ [File encoding](docs/2_file_encoding/README.md)

- [Character encoding](docs/2_file_encoding/character_encoding.md)
- [Newlines](docs/2_file_encoding/newlines.md)
- [EOF and BOM](docs/2_file_encoding/eof_bom.md)

## ๐Ÿ“‚ [Filesystem](docs/3_filesystem/README.md)

- [Directory locations](docs/3_filesystem/directory_locations.md)
- [File paths](docs/3_filesystem/file_paths.md)
- [Filenames](docs/3_filesystem/filenames.md)
- [Symlinks](docs/3_filesystem/symlinks.md)
- [File metadata](docs/3_filesystem/file_metadata.md)

## ๐Ÿ’ป [Terminal](docs/4_terminal/README.md)

- [Shell](docs/4_terminal/shell.md)
- [File execution](docs/4_terminal/file_execution.md)
- [Package binaries](docs/4_terminal/package_binaries.md)
- [Environment variables](docs/4_terminal/environment_variables.md)

## ๐Ÿ”’ [Security](docs/5_security/README.md)

- [Permissions](docs/5_security/permissions.md)
- [Users](docs/5_security/users.md)

## ๐Ÿ“ก [Networking / IPC](docs/6_networking_ipc/README.md)

- [Networking](docs/6_networking_ipc/networking.md)
- [Processes](docs/6_networking_ipc/processes.md)
- [Signals](docs/6_networking_ipc/signals.md)
- [Errors](docs/6_networking_ipc/errors.md)

## ๐ŸŽ›๏ธ [System](docs/7_system/README.md)

- [OS identification](docs/7_system/os_identification.md)
- [System configuration](docs/7_system/system_configuration.md)
- [Hardware](docs/7_system/hardware.md)
- [Time](docs/7_system/time.md)

# See also

- [cross-platform-terminal-characters](https://github.com/ehmicky/cross-platform-terminal-characters):
All the characters that work on most terminals
- https://github.com/bcoe/awesome-cross-platform-nodejs
- https://github.com/Microsoft/nodejs-guidelines
- https://shapeshed.com/writing-cross-platform-node/

# Support

For any question, _don't hesitate_ to [submit an issue on GitHub](../../issues).

Everyone is welcome regardless of personal background. We enforce a
[Code of conduct](CODE_OF_CONDUCT.md) in order to promote a positive and
inclusive environment.

# Contributing

This project was made with โค๏ธ. The simplest way to give back is by starring and
sharing it online.

If the documentation is unclear or has a typo, please click on the page's `Edit`
button (pencil icon) and suggest a correction.

If you would like to help us fix an error or add more information, please check
our [guidelines](CONTRIBUTING.md). Pull requests are welcome!

Thanks go to these wonderful people:


ehmicky
ehmicky

๐Ÿ’ป ๐ŸŽจ ๐Ÿค” ๐Ÿ“–
thatalextaylor
thatalextaylor

๐Ÿค” ๐Ÿ“–
Ben Noordhuis
Ben Noordhuis

๐Ÿค” ๐Ÿ“–
Steve Lee
Steve Lee

๐Ÿค” ๐Ÿ“ข
Michael J. Ryan
Michael J. Ryan

๐Ÿค”
Fabio Spampinato
Fabio Spampinato

๐Ÿค”
AyrA
AyrA

๐Ÿค”


Felix Becker
Felix Becker

๐Ÿ“– ๐Ÿค”
Nicola Dal Maso
Nicola Dal Maso

๐Ÿค”