99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# Node OS shim [][travis] [][badge]
|
|
|
|
> Native OS module API shim for older node.js versions
|
|
|
|
## About
|
|
|
|
Node.js team froze the [OS module API][1] in 0.10.x version, however the API differs a bit in lower node.js versions
|
|
|
|
This shim just provides the missing OS module API that is available on latest node.js versions.
|
|
You can now use the `os` package in old node.js versions without fear.
|
|
|
|
It's based on the current node.js [implementations][2]
|
|
|
|
## Installation
|
|
|
|
```
|
|
$ npm install os-shim --save[-dev]
|
|
```
|
|
|
|
## Usage
|
|
|
|
You simply should use the `os-shim` module instead of the `os` native node.js module
|
|
|
|
```js
|
|
var os = require('os-shim')
|
|
os.tmpdir()
|
|
```
|
|
You can mutate the `os-shim` module object without worring about it can create side effects in the native `os` module object
|
|
|
|
## The missing API
|
|
|
|
The following API is missing in node.js `0.8.x` and lower versions
|
|
|
|
#### os.tmpdir()
|
|
Returns the operating system's default directory for temp files
|
|
|
|
#### os.endianness()
|
|
Returns the endianness of the CPU. Possible values are "BE" or "LE"
|
|
|
|
#### os.EOL
|
|
A constant defining the appropriate End-of-line marker for the operating system
|
|
|
|
#### os.platform()
|
|
Returns the operating system platform
|
|
|
|
#### os.arch()
|
|
Returns the operating system CPU architecture
|
|
|
|
## Contributing
|
|
|
|
Instead of a formal styleguide, take care to maintain the existing coding style.
|
|
|
|
Add unit tests for any new or changed functionality
|
|
|
|
### Development
|
|
|
|
Clone the repository
|
|
```shell
|
|
$ git clone https://github.com/adesisnetlife/node-os-shim.git && cd node-os-shim
|
|
```
|
|
|
|
Install dependencies
|
|
```shell
|
|
$ npm install
|
|
```
|
|
|
|
Run tests
|
|
```shell
|
|
$ make test
|
|
```
|
|
|
|
## Release History
|
|
|
|
- **0.1.1** `2013-12-11`
|
|
- Add platform() and arch() methods (for Node.js 0.4.x)
|
|
- **0.1.0** `2013-12-11`
|
|
- Initial release
|
|
|
|
## To Do
|
|
|
|
- Add `os.networkInterfaces()` shim method
|
|
|
|
Do you miss something? Open an issue or make a PR!
|
|
|
|
## Contributors
|
|
|
|
* [Tomas Aparicio](http://github.com/h2non)
|
|
|
|
## License
|
|
|
|
Copyright (c) 2013 Adesis Netlife S.L and contributors
|
|
|
|
Released under MIT license
|
|
|
|
[1]: http://nodejs.org/api/os.html
|
|
[2]: https://github.com/joyent/node/blob/master/lib/os.js
|
|
[travis]: http://travis-ci.org/AdesisNetlife/node-os-shim
|
|
[badge]: http://badge.fury.io/js/os-shim
|