How to use the babylon/lib/parser.default function in babylon

To help you get started, we’ve selected a few babylon examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github shuhei / babel-plugin-angular2-annotations / src / patch.js View on Github external
export default function patch() {
  let Parser;
  let tt;
  try {
    Parser = require('babylon/lib/parser').default;
    tt = require('babylon/lib/tokenizer/types').types;
  } catch(e) {
    console.error('Install `babylon` as a top-level package.');
    throw e;
  }

  // HACK: Monkey patching to parse parameter decorators.
  // Based on the compiled output of babel-core 6.0.14.
  Parser.prototype.parseBindingList = function (close, allowEmpty, allowTrailingComma) {
    let elts = [];
    let first = true;
    while (!this.eat(close)) {
      if (first) {
        first = false;
      } else {
        this.expect(tt.comma);
github shuhei / babel-plugin-null-safe-accessor / src / patch-babylon.js View on Github external
var Parser = require('babylon/lib/parser').default;
var _tokenizerTypes = require('babylon/lib/tokenizer/types');
var Tokenizer = require('babylon/lib/tokenizer').default;

// Add tokenizer type.
_tokenizerTypes.types.questionDot = new _tokenizerTypes.TokenType("?.", { beforeExpr: true });
_tokenizerTypes.types.questionParenL = new _tokenizerTypes.TokenType("?(", { beforeExpr: true, startsExpr: true });

// Tokenize "?(" and "?.".
const originalGetTokenFromCode = Tokenizer.prototype.getTokenFromCode;
Tokenizer.prototype.getTokenFromCode = function getTokenFromCode(code) {
  if (code === 63) {
    var next = this.input.charCodeAt(this.state.pos + 1);
    switch (next) {
      case 40:
        this.state.pos += 2;
        return this.finishToken(_tokenizerTypes.types.questionParenL);
github forivall / tacoscript / packages / babylon-plugin-cst / scripts / check-overrided-functions.js View on Github external
#!/usr/bin/env node

require("babylon");
var Parser = require("babylon/lib/parser").default;
var expect = require("chai").expect;
var functionHash = require("./_function-hash");
var pp = Parser.prototype;

expect(functionHash(pp.skipSpace)).to.equal('0aae7bd722190ba61b58881b6858e0cb');
expect(functionHash(pp.parseNew)).to.equal('db164cd9ab726f774a46f68cca32ecc1');
console.log("OK");