Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thlorenz/v8-flags
Configures v8 flags at runtime.
https://github.com/thlorenz/v8-flags
Last synced: 5 days ago
JSON representation
Configures v8 flags at runtime.
- Host: GitHub
- URL: https://github.com/thlorenz/v8-flags
- Owner: thlorenz
- License: mit
- Created: 2014-06-25T17:20:15.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-04-10T00:53:35.000Z (over 9 years ago)
- Last Synced: 2024-10-23T06:16:47.361Z (14 days ago)
- Language: C
- Homepage:
- Size: 667 KB
- Stars: 118
- Watchers: 9
- Forks: 13
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# v8-flags [![build status](https://secure.travis-ci.org/thlorenz/v8-flags.png)](http://travis-ci.org/thlorenz/v8-flags)
Configures v8 flags at runtime.
```js
// use-strict-violator.js
a = "I'm the trouble starter, punking instigator"module.exports = a;
``````js
var flags = require('v8-flags').flags;
console.log('inital use strict', flags.use_strict());flags.use_strict(true);
console.log('set use strict to', flags.use_strict());try {
require('./use-strict-violator');
} catch(err) {
console.error('FAIL:', err);
}flags.use_strict(false);
console.log('set use strict to', flags.use_strict());var violator = require('./use-strict-violator');
console.log(violator)
``````
inital use strict false
set use strict to true
FAIL: [ReferenceError: a is not defined]
set use strict to false
I'm the trouble starter, punking instigator
```## Installation
npm install v8-flags
## Contributions
I am doing my best to document each flag, but am hoping for others *especially the ones with insider knowledge* to supply useful comments.
I made this as easy as possible, all you have to do is add/edit the `.md` file with the name of the flag in [this
folder](https://github.com/thlorenz/v8-flags/tree/master/scripts/comments) and run `npm run flag-doc` to
update all documentation with the added details.## API
The different versions of v8 and thus Node.js have different flags and therefore the API fluctuates somewhat between the
versions. The API is generated on install to match the Node.js version you are using.The flags for the *currently* latest Node.js versions `0.8`, `0.10` and `0.11` are documented in the following
locations:- [0.8](https://github.com/thlorenz/v8-flags/blob/master/flags-0.8.md)
- [0.10](https://github.com/thlorenz/v8-flags/blob/master/flags-0.10.md)
- [0.11](https://github.com/thlorenz/v8-flags/blob/master/flags-0.11.md)The below API allows to access and configure these flags.
**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)*
- [enforceFlagImplications()](#enforceflagimplications)
- [flags()](#flags)
- [Example](#example)
- [listFlags() → {Object}](#listflags--object)
- [meta() → {Array.}](#meta--arrayobject)
- [printHelp()](#printhelp)
- [resetAllFlags()](#resetallflags)
enforceFlagImplications()Enforces all flag implications.
- Source:
flags()Exposes methods to get and set v8 flags.
Example
var flags = require('v8-flags').flags;
console.log(flags.use_strict()); // false
flags.use_strict(true)
console.log(flags.use_strict()); // true
listFlags() → {Object}Lists all flags along with their current value.
Returns:
key/value pair for each flag
Type
Object
meta() → {Array.<Object>}The meta data for the flags.
It is initialized on startup from the definitions found in C++ land.
Returns:
array of objects with the folloing properties each
name: flag name
default: default setting of the flag
type: type of the flag
description: the description of the flag
readonly: settrue
if flag cannot be set
configurable: settrue
if setting the flag at runtime has the desired effect
implications: flags that will be set totrue
whenever this flag istrue
andenforceFlagImplications
is called
negativeImplications: flags that will be set tofalse
whenever this flag isfalse
andenforceFlagImplications
is called
Type
Array.<Object>
printHelp()Prints flag help to the console.
- Source:
resetAllFlags()Resets all flags to their default values
- Source:
*generated with [docme](https://github.com/thlorenz/docme)*
## License
MIT