Permalink
Commits on Jun 26, 2015
Commits on Jun 23, 2015
  1. Keep harmony's main code only.

    ariya committed Jun 23, 2015
    There are still packages out there depending directly on this branch's
    esprima.js.
Commits on May 2, 2015
  1. Remove harmony branch.

    ariya committed May 1, 2015
    Closes #1172.
    Closes gh-1173
Commits on Mar 19, 2015
  1. Template Strings: fix double scanning of template literals

    mikesherov committed Mar 19, 2015
    Also breaks scanning of { and } into a separate clause in the switch statement
    to avoid having to conditional logic related to the stack on unrelated tokens.
    This more closely reflects the situation in the master branch as well.
    
    Fixes #1143
    Closes gh-1145
Commits on Mar 17, 2015
  1. Fix type field for Template tokens

    mikesherov committed Mar 9, 2015
    Refs #1002
Commits on Mar 4, 2015
  1. [ES6 Modules] ModuleSpecifier -> Literal

    jeffmo committed Mar 2, 2015
    Per #1077, this switches the harmony branch to use a Literal node for
    the 'source' property of ImportDeclarations and ExportDeclarations.
    
    (This PR is pending acceptance of estree/estree#35 , btw)
    
    Closes gh-1086
Commits on Feb 17, 2015
  1. Fix "intialized" [sic] typos

    cvrebert authored and mikesherov committed Jan 19, 2015
    Closes #304
Commits on Feb 6, 2015
  1. Merge pull request #310 from Attamusc/export-default-tokenlist

    jeffmo committed Feb 6, 2015
    Parsing `export default ...` peeks to not overconsume tokens
  2. Parsing `export default ...` peeks to not overconsume tokens

    Attamusc committed Feb 5, 2015
    When parsing `export default function ...` and `export default class
    ...` the tokens that were used to determine which branch to go down was
    generating duplicate tokens in the token list. It now does a peek to
    look at the next token to consume, allowing the following operation to
    generate the tokens for the token list.
    
    https://code.google.com/p/esprima/issues/detail?id=631
Commits on Jan 27, 2015
Commits on Jan 18, 2015
  1. Travis CI: Fix for Node.js 0.8.

    ariya committed Jun 12, 2014
    As pointed out and prepared by Mathias Bynens.
    
    https://code.google.com/p/esprima/issues/detail?id=317
Commits on Jan 17, 2015
Commits on Jan 14, 2015
  1. Simplify regular expression scanning.

    ariya committed Mar 30, 2014
    To reduce the complexity, split it into body and flags scanning.
    Also, as suggested by Bei Zhang, separate the testing of regular
    expression so that it's try catch won't reduce V8 performance.
    
    https://code.google.com/p/esprima/issues/detail?id=396
    https://code.google.com/p/esprima/issues/detail?id=454
Commits on Jan 13, 2015
Commits on Jan 12, 2015
  1. Tolerate illegal import and export declarations.

    ariya committed Jan 12, 2015
    This is mainly to allow import and export not at the top-level source.
    
    https://code.google.com/p/esprima/issues/detail?id=619
Commits on Jan 10, 2015
  1. Fix for tokenizing and regex

    disnet authored and ariya committed Oct 31, 2013
    When running tokenize on code with regular expression literals
    the order of tokens would sometimes be off and extra tokens inserted.
    This was due to peek being called before scanRegExp finished adding
    the literal to extra.tokens.
    
    http://code.google.com/p/esprima/issues/detail?id=446
  2. Simplify comment collection.

    ariya committed May 21, 2013
    Instead of two separate functions, now skipComment can also collect all
    line and block comments, making scanComment() not necessary anymore.
    
    The most cyclomatic function now falls into scanRegExp().
    
    https://code.google.com/p/esprima/issues/detail?id=396
  3. Simplify skipComment() function.

    ariya committed May 13, 2013
    Just like in V8 and other JavaScript engine, handle single-line and multi-line
    comment separately. This avoids building a "mini state-machine" inside
    skipComment() function.
    
    This reduces the cyclomatic complexity of skipComment() from 19 to 8.
    
    http://code.google.com/p/esprima/issues/detail?id=396
Commits on Jan 5, 2015
  1. Remove/fix duplicate class method check

    fkling committed Sep 25, 2014
    Rev 26 of the ES6 spec
    (http://esdiscuss.org/topic/new-rev26-es6-draft-now-available),
    removes duplicate class method checks, except for "constructor".
    
    This diff removes dupe check from `parseMethodDefinition` and
    implements it in `parseClassBody` for "constructor" only. I chose to still
    keep track of static and prototype method names, since the spec
    describes such a list. I moved the check to `parseClassBody` with the
    intention to be able to reuse `parseMethodDefinition` for object literals
    in the future.
    
    I changed the existing tests which previously expected errors to expect
    ASTs now. I also added new tests for duplicate `constructor` properties.
    
    `npm test` runs fine and there is no benchmark or coverage regression.
    
    Issues covered by this PR:
    https://code.google.com/p/esprima/issues/detail?id=594
Commits on Jan 3, 2015
  1. Fix division by "this"

    ef4 authored and ariya committed Dec 9, 2014
    `this / 100` is legal Javascript, and a variation of it actually appears
    in moment.js.
    
    Without this fix, esprima treats it as an un-terminated regular
    expression.
    
    https://code.google.com/p/esprima/issues/detail?id=616
Commits on Dec 10, 2014
Commits on Dec 5, 2014
Commits on Nov 25, 2014
Commits on Oct 26, 2014