Permalink
Commits on Jul 15, 2018
Commits on Jun 8, 2018
  1. Upgrade to Unicode 11

    josephfrazier authored and mathiasbynens committed Jun 8, 2018
    For reference/comparison, here's the Unicode 10 upgrade: #221
    
    Closes #248.
Commits on Jun 7, 2018
Commits on Apr 26, 2018
  1. Pin Travis to Node v9 to avoid v10 failures (#242)

    josephfrazier committed Apr 26, 2018
    v10 fails currently: https://travis-ci.org/slevithan/xregexp/builds/370310563#L510-L528
    
    ```
    Failures:
    1) XRegExp() supports new regex syntax: named capture should throw an exception if characters other than A-Z, a-z, 0-9, $, and _ are used in capture names
      Message:
        Expected function to throw an Error.
      Stack:
        Error: Expected function to throw an Error.
            at UserContext.<anonymous> (/home/travis/build/slevithan/xregexp/tests/spec/s-xregexp.js:407:61)
      Message:
        Expected function to throw an Error.
      Stack:
        Error: Expected function to throw an Error.
            at UserContext.<anonymous> (/home/travis/build/slevithan/xregexp/tests/spec/s-xregexp.js:408:63)
      Message:
        Expected function to throw an Error.
      Stack:
        Error: Expected function to throw an Error.
            at UserContext.<anonymous> (/home/travis/build/slevithan/xregexp/tests/spec/s-xregexp.js:409:59)
    
    398 specs, 1 failure
    ```
    
    See also #241 (comment)
Commits on Apr 23, 2018
  1. ESLint: Enforce array destructuring

    josephfrazier authored and slevithan committed Apr 23, 2018
    This is a follow-up to #237
Commits on Apr 19, 2018
  1. ESLint: Enforce object destructuring

    josephfrazier authored and slevithan committed Apr 18, 2018
    This is a follow-up to #236
    We could also do array destructuring, but it looked a little
    weird to me, so I left it out for now.
Commits on Feb 20, 2018
  1. Update version to 4.1.0

    josephfrazier authored and slevithan committed Feb 20, 2018
  2. Upgrade to Unicode 10 (#221)

    josephfrazier authored and slevithan committed Feb 20, 2018
    * Run build-unicode-data before build
    
    This makes it so you don't have to run it manually after upgrading
    Unicode versions.
    
    * Upgrade to Unicode 10
    
    Closes #215
    
    * Fix Syriac Supplement Block, add a few more
Commits on Feb 13, 2018
Commits on Jan 22, 2018
  1. Run eslint on tests (#211)

    josephfrazier authored and slevithan committed Jan 22, 2018
    Run eslint on tests, add .eslintignore and tests/.eslintrc.js
    
    This helps the specs conform to the same style as the library,
    with the exception of a handful of rules that are not enforced.
  2. Cleanup more `(?:)` from patterns (#196)

    josephfrazier authored and slevithan committed Jan 22, 2018
    This change prevents a `(?:)` from being inserted in the following places (applicable only in non-character-class scope):
    
    * At the beginning of a noncapturing group or lookahead (the end is already handled)
    * Before or after a `|`
    * At the beginning or the end of the pattern
Commits on Jan 20, 2018
  1. tests: Remove unused `repeat()` helper (#213)

    josephfrazier committed Jan 20, 2018
    This fell out of use in 8e6244c,
    but it wasn't removed there.
  2. Remove Array.prototype.forEach shim (#212)

    josephfrazier committed Jan 20, 2018
    Now that we only support ES5 and up, we can get rid of this.
    See #108
    Related to #208
Commits on Jan 2, 2018
  1. Update version to 4.0.0

    josephfrazier authored and slevithan committed Dec 26, 2017
  2. Remove support for `XRegExp.install('natives')`

    josephfrazier authored and slevithan committed Jan 1, 2018
    This fixes #89
Commits on Jan 1, 2018
  1. Add documentation for XRegExp.tag (#206)

    josephfrazier committed Jan 1, 2018
    * Add documentation for XRegExp.tag
    
    Adapted from the example in #205 (comment)
    
    * Add example to XRegExp.tag docs
    
    This was copied from the source code comment.
Commits on May 1, 2017
  1. Convert string concatenation to template strings

    josephfrazier authored and slevithan committed Apr 30, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab](https://github.com/lebab/lebab)
    (with the patch at lebab/lebab#243),
    using `lebab --replace src --transform template`.
Commits on Apr 30, 2017
  1. Convert CommonJS module definition to ES6 modules

    josephfrazier authored and slevithan committed Apr 30, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebab --replace src --transform commonjs`.
    
    [lebab]: https://github.com/lebab/lebab
    
    It also required an additional babel plugin to compile back to CommonJS
    https://github.com/59naga/babel-plugin-add-module-exports
  2. Convert `array.indexOf(foo) !== -1` to `array.includes(foo)`

    josephfrazier authored and slevithan committed Apr 27, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform includes`.
    
    [lebab]: https://github.com/lebab/lebab
    
    It also required an additional babel plugin to compile back to `.indexOf()`:
    https://www.npmjs.com/package/babel-plugin-array-includes
  3. Convert function expressions to arrow functions

    josephfrazier authored and slevithan committed Apr 27, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform arrow`.
    
    [lebab]: https://github.com/lebab/lebab
    
    I did have to add an `/* eslint disable no-confusing-arrow */` comment
    to suppress an error. Once eslint/eslint#8439 is
    merged and released, we can upgrade eslint and remove the comment.
  4. Remove `"use strict";` directives

    josephfrazier authored and slevithan committed Apr 27, 2017
    Babel inserts these during the compilation process, so we don't need
    them in the source code.
    
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform no-strict`.
    
    [lebab]: https://github.com/lebab/lebab
  5. Use shorthand property names in object initializers

    josephfrazier authored and slevithan committed Apr 27, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform obj-shorthand`.
    
    [lebab]: https://github.com/lebab/lebab
  6. Convert use of apply() to spread operator

    josephfrazier authored and slevithan committed Apr 27, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform arg-spread`.
    
    [lebab]: https://github.com/lebab/lebab
  7. Use `const`/`let` instead of `var`

    josephfrazier authored and slevithan committed Apr 27, 2017
    As mentioned in #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform let`.
    
    [lebab]: https://github.com/lebab/lebab
Commits on Apr 27, 2017
Commits on Apr 26, 2017
  1. README: Add unpkg.com references for xregexp-all.js

    josephfrazier authored and slevithan committed Apr 26, 2017
    This clarifies where xregexp-all.js can be found, now that it is no
    longer in the repository (#187)
  2. .gitignore compiled files, build them on prepublish

    josephfrazier authored and slevithan committed Apr 26, 2017
    Following up on #182 (comment),
    this change removes `lib/`, `xregexp-all.js`, and `bower.json` from the
    repository.
    
    It also adds a `prepublish` [script] that builds/tests the files before
    publishing to npm, to ensure they are included. You can run [npm pack]
    to see the `prepublish` script in action, then you can take a look at
    the generated tarball with `tar tvf xregexp-3.2.0.tgz` and verify that
    `lib/` and `xregexp-all.js` are still there.
    
    [script]: https://docs.npmjs.com/misc/scripts
    [npm pack]: https://docs.npmjs.com/cli/pack
  3. Use ES2015 rest parameters in src/

    josephfrazier authored and slevithan committed Apr 25, 2017
    As mentioned in #180 (comment)
    and #108 (comment)
    
    This was done with the help of [lebab], using `lebeb --replace src --transform arg-rest`.
    
    [lebab]: https://github.com/lebab/lebab
Commits on Apr 25, 2017
  1. Add eslint to enforce code style

    josephfrazier authored and slevithan committed Apr 25, 2017
    This will make it easier to automatically enforce the pre-existing code
    style of the project, using [eslint]. It was done by running:
    
        npm install --save-dev eslint
        ./node_modules/.bin/eslint --init
    
    [eslint]: https://github.com/eslint/eslint/
    
    This script interactively generates an eslint configuration (see [here]).
    Here's how I answered its questions:
    
    * Choosing `Inspect your JavaScript file(s)`
    * Entering `src` as the files to inspect
    * Choosing a JavaScript config file format
    * Answering yes to ES6 features/classes
    * Choosing both Node/Browser as environment
    * Answering yes to CommonJS
    * Answering no to JSX/React
    
    [here]: http://devnull.guru/adding-eslint-to-your-project-is-easier-than-ever/
    
    After that, I added the `lint` script to package.json, and manually
    changed the `space-before-function-paren` to:
    
        "space-before-function-paren": [
            "error",
            "never"
        ],
    
    to enforce the rule mentioned here:
    
    * #180 (comment)
    * #180 (comment)
  2. Update files in lib/

    josephfrazier authored and slevithan committed Apr 25, 2017
    Just keeping it in sync after #182 was merged.