Code Monkey home page Code Monkey logo

v8-flags's Introduction

v8-flags build status

Configures v8 flags at runtime.

// use-strict-violator.js
a = "I'm the trouble starter, punking instigator"

module.exports = a;
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 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:

The below API allows to access and configure these flags.

Table of Contents generated with DocToc

  • enforceFlagImplications()
  • flags()
  • listFlags() → {Object}
  • meta() → {Array.}
  • printHelp()
  • 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
    Source:

    listFlags() → {Object}

    Lists all flags along with their current value.

    Source:
    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.

    Source:
    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: set true if flag cannot be set
    • configurable: set true if setting the flag at runtime has the desired effect
    • implications: flags that will be set to true whenever this flag is true and enforceFlagImplications is called
    • negativeImplications: flags that will be set to false whenever this flag is false and enforceFlagImplications 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

    License

    MIT

v8-flags's People

Contributors

thlorenz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

v8-flags's Issues

v8-flags exports as function

How about implement next syntax:

require('v8-flags')('harmony', 'max-inlining-levels=10');

or something more crazy:

var myModule = require('v8-flags')('allow_natives_syntax')('./MyModule.js');

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.