Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Apr 21, 2012
  1. This adds support for applying overlapping patches to the same AST wi…

    …thout having to do multiple passes on the entire file.
Commits on Mar 14, 2012
  1. Merge pull request #1 from facebook/965735_support_with_node

    Ryan Patterson authored
    Added support of "with "statement.
  2. @DmitrySoshnikov

    Added support of "with "statement.

    DmitrySoshnikov authored
    Added spec test for the "with" node.
Commits on Feb 25, 2012
  1. Add better error reporting for match scripts

    Ryan Patterson authored
    Use eval sourceURL, so stakc traces have real file names and line numbers, and
    add the filename that was being matched when a matcher throws and error.
Commits on Feb 24, 2012
  1. Fix output bug for jsgrep

    Ryan Patterson authored
    Add some specs to verify token offsets
    Bump version
  2. Bump version to 1.0.0

    Ryan Patterson authored
  3. Minor cleanup

    Ryan Patterson authored
    Commenting, rename variables, add a spec
  4. Real exception types

    Ryan Patterson authored
    Better debugging information including stack traces, nicer formatting, and
    nested exceptions.
  5. Fix patcher for multiple source modifications

    Ryan Patterson authored
    The old method made the assumption that patches would be applied in source
    order, which shouldn't be a restriction.
    Also fixes a bug with replacing property initializers by mangling the AST. Adds
    some test cases to verify that the patcher works.
Commits on Feb 1, 2012
  1. Getter/setter support

    Ryan Patterson authored
    Untested, but I read Narcissus so I suspect it's accurate.
Commits on Jan 24, 2012
  1. Add support for debugger statement

    Ryan Patterson authored
    In patterns and source code.
Commits on Jan 23, 2012
  1. Fix installation remote

    Ryan Patterson authored
    It was on my private repo
  2. Clean up README

    Ryan Patterson authored
    Removes a bunch of the examples to make it a shorter intro blurb.
  3. Bump version, make public

    Ryan Patterson authored
  4. Switch to submodule for narcissus

    Ryan Patterson authored
    This should hopefully make things easier for others..
  5. License headers

    Ryan Patterson authored
    Everything is Apache!
Commits on Jan 22, 2012
  1. Documentation

    Ryan Patterson authored
    Adds comments to most of jsgreps exported functions.
Commits on Jan 16, 2012
  1. jspatch refactor for programmability

    Ryan Patterson authored
    Factor out the getPatternFromPatch and getPatchedCode, useful for integration
    with other tools.
  2. Cleanup, precaution, bug

    Ryan Patterson authored
    Bug: it was using node value, so replacing a string with a different one would
    remove the quotes.
    Precaution: make sure the value of the node matches, in addition to the type.
  3. Added in-place mode

    Ryan Patterson authored
    Run the program, verify the patch, run again with -i
Commits on Jan 13, 2012
  1. Make nice npm package

    Ryan Patterson authored
    Now it's a well-formed npm package, better organization, etc. Also --version
Commits on Jan 12, 2012
  1. Support if in patterns

    Ryan Patterson authored
    Added support for if in patterns, fixed some whitespace errors in generated
    patches, added some more demos.
  2. Improved patch file processing

    Ryan Patterson authored
    Now works on the token level after matching on the AST level. Needs testing!
  3. Sed mode for jspatch

    Ryan Patterson authored
    Presently, sed mode is the best way to use this tool, because the patch file
    format is dumb.
Commits on Jan 11, 2012
  1. jspatch custom patch format

    Ryan Patterson authored
    Lets you write pseudo-patch-files, similar to those that spatch accepts.
  2. Working jspatch!

    Ryan Patterson authored
    jspatch works and emits diff files.
  3. Fix matching of increment/decrement

    Ryan Patterson authored
    It wasn't properly verifying that pre/postfix was the same
  4. [WIP] jspatch

    Ryan Patterson authored
    Half-completed jspatch that just dumps the modified source code.
Commits on Jan 10, 2012
  1. matchStrict/findStrict

    Ryan Patterson authored
    Rather than using an object property, let's name the method differently.
  2. Added some tests

    Ryan Patterson authored
    Testing jsgrep.jsgrep's various invocation methods.
  3. Little cleanup

    Ryan Patterson authored
    Just some minor changes.
  4. Add support for matching scripts

    Ryan Patterson authored
    match scripts allow you to have fine-grained control over what you match while
    still being able to easily use the tool's configuration, etc.
  5. Cover for bug in narcissus

    Ryan Patterson authored
    Narcissus handles [,] weirdly, which funnily enough is used in narcissus. You
    can't use [,] in a pattern, but I don't know what it does so how can that be a
  6. Add --recursive

    Ryan Patterson authored
    Convenience flag for recursively searching.
Something went wrong with that request. Please try again.