60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
|
# node-environment-flags
|
||
|
|
||
|
> Polyfill/shim for `process.allowedNodeEnvironmentFlags`
|
||
|
|
||
|
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
|
||
|
|
||
|
**node-environment-flags** is a *rough* polyfill and shim for [process.allowedNodeEnvironmentFlags](https://nodejs.org/api/process.html#process_process_allowednodeenvironmentflags), which was introduced in Node.js v10.10.0.
|
||
|
|
||
|
## Table of Contents
|
||
|
|
||
|
- [Install](#install)
|
||
|
- [Usage](#usage)
|
||
|
- [Maintainers](#maintainers)
|
||
|
- [Contribute](#contribute)
|
||
|
- [License](#license)
|
||
|
|
||
|
## Install
|
||
|
|
||
|
*Requires Node.js v6.0.0 or newer.*
|
||
|
|
||
|
```shell
|
||
|
$ npm i node-environment-flags
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
If the current Node.js version is v10.10.0 or newer, the native implementation will be provided instead.
|
||
|
|
||
|
### As Polyfill (Recommended)
|
||
|
|
||
|
```js
|
||
|
const nodeEnvironmentFlags = require('node-environment-flags');
|
||
|
|
||
|
nodeEnvironmentFlags.has('--require'); // true
|
||
|
```
|
||
|
|
||
|
### As Shim
|
||
|
|
||
|
```js
|
||
|
require('node-environment-flags/shim')();
|
||
|
|
||
|
process.allowedNodeEnvironmentFlags.has('--require'); // true
|
||
|
```
|
||
|
|
||
|
## Notes
|
||
|
|
||
|
- This module approximates what `process.allowedNodeEnvironmentFlags` provides in versions of Node.js prior to v10.10.0. Since `process.allowedNodeEnvironmentFlags` is based on [`NODE_OPTIONS`](https://nodejs.org/api/cli.html#cli_node_options_options) (introduced in v8.0.0), the set of supported flags for versions older than v8.0.0 is *highly theoretical*.
|
||
|
- Version ranges are matched using [semver](https://npm.im/semver).
|
||
|
- This module is granular to the *minor* Node.js version number; *patch* version numbers are not considered.
|
||
|
- Results for unmaintained (odd) versions of Node.js are based on data for the most recent LTS version; e.g., running this module against Node.js v7.10.0 will yield the same results as would v6.14.0.
|
||
|
- Prior art: @ljharb's [util.promisify](https://npm.im/util.promisify)
|
||
|
|
||
|
## Maintainers
|
||
|
|
||
|
[@boneskull](https://github.com/boneskull)
|
||
|
|
||
|
## License
|
||
|
|
||
|
Copyright © 2018 Christopher Hiller. Licensed Apache-2.0.
|