Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pattern Matching v4 (wip) #4

Merged
merged 10 commits into from
Jun 16, 2017
Merged

Pattern Matching v4 (wip) #4

merged 10 commits into from
Jun 16, 2017

Conversation

wcjohnson
Copy link
Owner

match x:
  | Atom: 1
  | ~Predicate(): 2
  | if preGuard: /regex/: 3
  | ~Predicate() with { pattern }: 4
  | if Preguard: ~Predicate1() and ~Predicate2(), String as { x } if x > 4: 5
function _hasProps(obj) { if (obj == null) return false; if (typeof obj !== "object" && typeof obj !== "function") return false; for (var i = arguments.length - 1; i > 0; i--) if (!(arguments[i] in obj)) return false; return true; }

function _matches(discriminant, target) {}

if (_matches(x, Atom)) {
  1;
} else if (Predicate(x)) {
  2;
} else if (preGuard && _matches(x, /regex/)) {
  3;
} else if (Predicate(x) && _hasProps(x, "pattern")) {
  const { pattern } = x;4;
} else if (Preguard && (Predicate1(x) && Predicate2(x) || _matches(x, String)) && x.x > 4) {
  const { x } = x;5;
}

- Eliminate `getTypes()`
- Collect pass-specific data in `compilerState`
- Unify code for adding new imports
- Support for runtime
- Pattern matching defaults to `v4`
- Flow and JSX can be disabled via flags
- flippedImports can be enabled via flag
- API for deciding if a file is lightscript
@wcjohnson wcjohnson merged commit fedd8e0 into oigroup Jun 16, 2017
wcjohnson added a commit that referenced this pull request Oct 3, 2017
commit fe31d8c
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Oct 3 15:26:03 2017 -0400

    @oigroup/babel-plugin-lightscript@3.0.0-alpha.4

commit 7b7dd39
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Oct 3 15:14:34 2017 -0400

    Re-enable safe call by default

commit fbb4ddc
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Oct 2 22:18:16 2017 -0400

    Changelog updates

commit 677f6b6
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Oct 2 21:36:18 2017 -0400

    @oigroup/babel-plugin-lightscript@3.0.0-alpha.3

commit 0510d65
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Oct 2 21:14:36 2017 -0400

    Make `enhancedComprehension` the default

commit 787f2d7
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Oct 2 20:12:27 2017 -0400

    Revert safe traversal policy

    - `safeCall` no longer enabled by default
    - Remove `?.(` syntax
    - Update changelog accordingly

commit e2f3e68
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Oct 2 19:57:33 2017 -0400

    `toBlockArrowFunctionExpression` now preserves skinny arrows

    Addresses wcjohnson/lightscript#29

commit 8315dda
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Sep 30 22:09:45 2017 -0400

    @oigroup/babel-plugin-lightscript@3.0.0-alpha.2

commit fe283a4
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Sep 30 22:08:25 2017 -0400

    Changelog updates

commit 8c6b3fc
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Sep 30 21:44:58 2017 -0400

    `whiteblockPreferred` mode

commit e39110d
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Sep 28 21:27:28 2017 -0400

    @oigroup/babel-plugin-lightscript@3.0.0-alpha.1

commit 9c2b173
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Sep 28 21:10:15 2017 -0400

    Splat comprehensions

    commit 4b4979e
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Sep 28 21:09:41 2017 -0400

        Changelog

    commit d809a5e
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Sep 28 19:57:21 2017 -0400

        Throw on empty comprehensions

    commit 8b37b95
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Sep 28 19:50:22 2017 -0400

        Fix: `LabeledStatement` bodies now included in tail transforms

    commit dab8a33
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Sep 28 19:07:51 2017 -0400

        Enhanced comprehensions use `…` syntax

commit f59cf36
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Sep 27 22:17:24 2017 -0400

    @oigroup/babel-plugin-lightscript@3.0.0-alpha.0

commit 585eb2d
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Sep 27 22:14:00 2017 -0400

    packaging fixup

commit f58c0e2
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Sep 27 21:59:53 2017 -0400

    3.0 updates

    - `whiteblock` mode
    - `bangCall` on by default
    - `safeCall` on by default
    - `seqExprRequiresParen` by default

commit 2eaefe3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Sep 25 15:45:12 2017 -0400

    Cleanup

commit a246ed9
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Sep 24 20:16:38 2017 -0400

    Add unit test for `UpdateExpression` in safe chain

commit d62a44f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Sep 24 20:01:27 2017 -0400

    Add changelog

commit 760ec66
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Sep 24 19:23:40 2017 -0400

    Use Babel `optional-chaining` algorithm for safe expressions

    commit 187231c
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 19:22:43 2017 -0400

        Misc cleanup

    commit cd7cdb0
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 19:11:17 2017 -0400

        Move safe transforms to a separate AST visitor pass

    commit 832cf9d
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 17:40:19 2017 -0400

        Restore unit test related to tilde chaining

    commit 9ac1dd4
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 17:38:48 2017 -0400

        Remove old safecall code

    commit 0141061
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 17:34:49 2017 -0400

        Correct memoization for `CallExpression` with `MemberExpression` callee

    commit 2766ce4
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 01:59:30 2017 -0400

        Eliminate `TildeCallExpression` node type

    commit f2c3328
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 01:06:19 2017 -0400

        Check `typeof(x) === function` in safecalls

    commit c39b0d1
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 00:47:48 2017 -0400

        Babel safe transforms, phase 2

        - Avoid memoising simple identifiers

    commit 83ff2d1
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 00:22:26 2017 -0400

        Ref cleanup

    commit c592784
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 00:17:12 2017 -0400

        Perform block-body fixup for optional chaining in first ast pass

    commit 1134d99
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Sep 24 00:09:41 2017 -0400

        Cherry-pick block body fix from 2.3.0

    commit c40d0a9
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Sep 23 23:48:26 2017 -0400

        Preliminary babel safe transform impl

commit 40317d1
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Sep 23 21:20:10 2017 -0400

    Missing branches of branching constructs now generate `undefined` instead of `null`

    Addresses lightscript/lightscript#45

commit 6b18454
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Sep 23 17:28:25 2017 -0400

    Converge optional member expressions with Babel, step 1

    - Eliminate `SafeMemberExpression` node type
    - Allow `MemberExpressions` with `optional = true`
    - Change `CallExpression` safe flag from `safe` to `optional`

commit 73c402f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Sep 18 23:16:08 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-alpha.3

commit 8e3a391
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Sep 18 23:10:51 2017 -0400

    Fix for SafeMemberExpressions in ArrowFunctionExpressions

    See wcjohnson/lightscript#23

commit e99764b
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Sep 5 16:51:02 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-alpha.2

commit 6b9f6b7
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Sep 5 16:13:36 2017 -0400

    Placeholder design changes

    - Mixing indexed and non-indexed placeholders is now illegal.
    - Non-indexed placeholder is like Kotlin `it` and always refers to the first arg no matter how many times it’s used. E.g.: `-> g(_, _)` is `f(arg0) -> g(arg0, arg0)`. Contrast with before where this would have made two different args.
    - Indexed placeholders refer to zero-indexed args and are not collapsed. E.g.: `-> _1` compiles to `f(arg0, arg1) -> arg1`
    - Spread placeholders can be used with either indexed or non-indexed placeholders and always generate a rest arg in the last position.

commit 8ccd716
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jul 19 21:43:43 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-alpha.1

commit ca983c3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jul 19 21:32:18 2017 -0400

    Reversed pipe call support

commit c4c91a5
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jul 17 16:09:14 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-alpha.0

commit 662ddcc
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jul 17 00:43:23 2017 -0400

    `pipeCall` tests

commit 4d0e951
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jul 17 00:28:41 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-2

commit 02ad790
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jul 17 00:25:42 2017 -0400

    `babel-types` patch: improve registration

commit 50af726
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 23:19:24 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-1

commit 8e0a45a
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 23:17:54 2017 -0400

    Make sure babel is patched

commit 356876f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 23:07:37 2017 -0400

    @oigroup/babel-plugin-lightscript@2.3.0-0

commit 571d6cd
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 23:04:50 2017 -0400

    Pipe call ast transformation

    commit daf9a4d5846bd955bd547a2a3f8cb21f4d1ce5cb
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jul 16 23:00:33 2017 -0400

        Pipe operator transformation

commit fbc0be5
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 20:48:26 2017 -0400

    Placeholder args

    commit 5fa8631
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jul 16 20:42:22 2017 -0400

        Allow placeholder to be changed

    commit ee2f7a7
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jul 16 20:20:23 2017 -0400

        Support rest/spread placeholder args

    commit cd625f1
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jul 16 19:41:02 2017 -0400

        Initial placeholderArgs implementation + testing

commit 0a5f7a0
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jul 16 16:22:23 2017 -0400

    Add test for tilde calls with arrow

commit d65c07f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jul 15 23:18:33 2017 -0400

    @oigroup/babel-plugin-lightscript@2.2.1

commit b8d7f9a
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jul 15 23:10:47 2017 -0400

    Additional bangCall test fixtures

    See wcjohnson/lightscript#14

commit ed46d3b
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Fri Jul 14 23:50:33 2017 -0400

    @oigroup/babel-plugin-lightscript@2.2.0

commit 664fd25
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Fri Jul 14 23:49:35 2017 -0400

    Update fixtures for removal of `-get>`, `-set>`

commit 87d40f3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jul 13 18:21:08 2017 -0400

    @oigroup/babel-plugin-lightscript@2.1.1

commit cfc1547
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jul 6 20:48:05 2017 -0400

    @oigroup/babel-plugin-lightscript@2.1.0

commit acc8acb
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jul 6 20:18:33 2017 -0400

    Object-block ambiguity resolution

commit 012b077
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jul 6 16:00:36 2017 -0400

    Expose additional `patternMatching` options in anticipation of upstream impl

commit 751265b
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jul 6 15:52:58 2017 -0400

    Configuration Directives

    commit 037c58e
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Jul 6 15:48:42 2017 -0400

        Cleanup, testing

    commit 610e80b
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Jul 6 14:22:06 2017 -0400

        File with lightscript directive is always flagged as lightscript

    commit 69913bd
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Jul 6 14:04:07 2017 -0400

        Fixes and tests for config directives

    commit 5db0616
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Jul 6 13:55:44 2017 -0400

        Configuration directives

    commit 8d40080
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Thu Jul 6 12:29:20 2017 -0400

        Preliminary parsing for directives at top of file

commit 1d89519
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 26 14:41:18 2017 -0400

    Update deps

commit 919de16
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 26 14:24:03 2017 -0400

    @oigroup/babel-plugin-lightscript@2.0.1

commit c1440fd
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 26 13:32:05 2017 -0400

    `IfExpression` fixes

    - Generate `null` instead of `undefined` in nested cases
    - Source mapping

commit 74fc5ab
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 25 23:26:20 2017 -0400

    Port `statementsToExpressions` out of Babel

commit 24b3522
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 25 23:25:27 2017 -0400

    Update deps

commit f3a1a84
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 25 20:32:11 2017 -0400

    Avoid generating non-idiomatic `return await` in implicit returns

commit 81bb924
Merge: 0ad84eb ef3802e
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 24 20:41:53 2017 -0700

    Merge branch 'oigroup' of https://github.com/wcjohnson/babel-plugin-lightscript into oigroup

commit 0ad84eb
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 24 20:41:34 2017 -0700

    Implicit return error message moved out of core `transformTails` API

commit ef3802e
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 21 17:20:52 2017 -0400

    Cleanup

commit 8e9248e
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 21:40:29 2017 -0400

    Cleanup

commit 9a12d90
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 21:33:25 2017 -0400

    Sourcemap inlined operators

commit 3a6c90c
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 21:33:01 2017 -0400

    Disable JSX when compiling compiler

commit 7dd02ac
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 21:32:42 2017 -0400

    Duplicate match guard in linter pass to quiet false positive `no-unused-vars`

commit 0e1deb4
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 19:01:40 2017 -0400

    Port pattern matching to new compiler features

commit 9a24cc1
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 18:41:19 2017 -0400

    Additional fixtures for array destructuring

commit 6604ece
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 18:11:23 2017 -0400

    Upgrade to 2.0 self-host platform

commit a9dff35
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 15:12:40 2017 -0400

    v2.0.0

commit d4508b8
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 14:24:01 2017 -0400

    Test for `return if`

commit f2f0b4d
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 20 00:59:41 2017 -0400

    v2.0.0-rc.6

commit 5e36dd3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 22:22:16 2017 -0400

    Fix for empty destructuring patterns

commit 7f8327e
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 21:31:03 2017 -0400

    v2.0.0-rc.5

commit 71cd106
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 20:49:08 2017 -0400

    v2.0.0-rc.4

commit e763f32
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 19:15:05 2017 -0400

    Enable flag for linter-only compilation path

commit 0456d34
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 18:12:09 2017 -0400

    v2.0.0-rc.3

commit efd1a3b
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 18:10:02 2017 -0400

    Sourcemaps: Place imports at token location

commit 1d9f436
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 17:39:22 2017 -0400

    v2.0.0-rc.2

commit 2bf8116
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 17:13:11 2017 -0400

    Infer opening location from token stream

commit e2e4857
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 19 17:06:44 2017 -0400

    Bang call fixtures

commit cb311b3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 18 22:40:18 2017 -0400

    v2.0.0-rc.1

commit b93a9e2
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 18 21:38:57 2017 -0400

    Source Mapping

    commit 3c6d64b
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 20:51:17 2017 -0400

        SourceMapping for IfExpressions

    commit 8523796
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 19:56:01 2017 -0400

        Source mapping for `import`s

    commit cf656d6
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 19:43:06 2017 -0400

        Source mapping for NamedArrowMemberExpr

    commit 3126c1f
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 19:36:08 2017 -0400

        Sourcemaps for safe-await-arrow

    commit ed82782
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 19:13:31 2017 -0400

        Source mapping for comprehensions

    commit 49290be
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 18:42:54 2017 -0400

        Misc nodeType fixes

    commit ee93ac2
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 17:53:22 2017 -0400

        Source mapping for `for-in`

    commit 966dc9f
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 18 17:53:11 2017 -0400

        Update ast-loc-utils

    commit 66dcb7a
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 23:20:15 2017 -0400

        Source mapping for safe exprs (wip)

    commit e957b42
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 22:58:51 2017 -0400

        Source mapping for functions

    commit d07bc5d
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 22:47:11 2017 -0400

        Source maps: existential

    commit d96a1eb
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 22:23:39 2017 -0400

        Source maps for `~`

commit bd67b73
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 17 22:23:01 2017 -0400

    Add additional default parser plugins

commit 92932d3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 17 21:54:18 2017 -0400

    Workaround for a Babel bug involving false positive referenced identifiers

commit ba9c4ca
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 17 16:53:58 2017 -0400

    `match`: last changes before RC1

    - Removed obsolete syntax
    - Only latest oigroup syntax enabled now; will degrade to upstream when released with enhanced as flag
    - Update fixtures for latest syntax

commit aa630aa
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 17 16:24:30 2017 -0400

    Enhanced Comprehensions

    commit b0270fc
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 00:29:24 2017 -0400

        v2.0.0-beta.9

    commit 19b4afc
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 00:25:23 2017 -0400

        Mark enhanced comprehensions as experimental

    commit c9e14f0
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sat Jun 17 00:24:08 2017 -0400

        Enhanced comprehensions now require parens around SeqExprs; unit tests updated

    commit 583f4a9
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Fri Jun 16 23:20:51 2017 -0400

        Unit tests for advanced comprehensions

    commit e6b4a14
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Fri Jun 16 23:20:40 2017 -0400

        Bug fixes

    commit a165cba
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Fri Jun 16 23:04:03 2017 -0400

        Compiler infrastructure for enhanced comprehensions

commit 7cc5a5a
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Fri Jun 16 19:43:56 2017 -0400

    `lightscriptTypes` -> `types`

commit ad99be5
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Fri Jun 16 17:30:51 2017 -0400

    v2.0.0-beta.8

commit fedd8e0
Author: William C. Johnson <wcjohnson@users.noreply.github.com>
Date:   Fri Jun 16 17:28:19 2017 -0400

    Pattern Matching v4 (#4)

    * Pattern Matching v4

    * Fix for numeric literal in destructuring

    * Runtime (wip)

    * Infrastructure cleanup

    - Eliminate `getTypes()`
    - Collect pass-specific data in `compilerState`
    - Unify code for adding new imports
    - Support for runtime

    * Use runtime for match helpers

    * Add runtime dep; update fixtures

    * Expose `useRequire` option

    * Add test

    * v2.0.0-beta.7

    * Options improvements

    - Pattern matching defaults to `v4`
    - Flow and JSX can be disabled via flags
    - flippedImports can be enabled via flag
    - API for deciding if a file is lightscript

commit f3c6f7a
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 14 21:57:06 2017 -0400

    v2.0.0-beta.6

commit f098ca7
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 14 21:50:24 2017 -0400

    Rewrite `hasProps` helper to work around a Babel scope leak bug

commit c01a0c7
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 14 20:31:48 2017 -0400

    Existential and safecall are now compiler options

commit 2e9e792
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 13 23:24:01 2017 -0400

    v2.0.0-beta.5

commit 2c107ee
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Tue Jun 13 23:22:31 2017 -0400

    Tab-sensitive bang calls; new compiler flags

    - Import babylon updates for tab sensitive bangcalls
    - Compiler options export better metadata
    - New flag for configuring subscript indentation enforcement

commit cef7cef
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 18:24:01 2017 -0400

    v2.0.0-beta.4

commit d0f9469
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 18:02:13 2017 -0400

    v2.0.0-beta.3

commit b434437
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 17:44:46 2017 -0400

    Improve configuration metadata

commit a9fdeb1
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 17:21:45 2017 -0400

    v2.0.0-beta.2

commit 31705a6
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 17:15:43 2017 -0400

    Basic bang call test fixtures

commit 87aaee7
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Mon Jun 12 17:13:46 2017 -0400

    Improved configurability for compiler

    commit fb5df3c1cbb44d152daf18b1828518fb3471c35b
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Mon Jun 12 17:13:05 2017 -0400

        Improved configurability for compiler

    commit 3eeb8feb0a12ffee151786e8b38d49d63142d57a
    Merge: 6969875 bc91e84
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Mon Jun 12 16:16:41 2017 -0400

        Merge branch 'oigroup' into feature/compiler-configuration

        # Conflicts:
        #	test/fixtures/match/classlike/expected.js

    commit 69698758e0c871721e477f5149e1a7353f5ca892
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Sun Jun 11 14:15:32 2017 -0400

        Match against classlike identifiers

commit bc91e84
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 11 14:15:32 2017 -0400

    Match against classlike identifiers

commit 4d9ef0b
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sun Jun 11 13:53:38 2017 -0400

    Self-host linting

commit 49509b2
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 10 23:55:49 2017 -0400

    v2.0.0-beta.1

commit f8e45fe
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 10 23:52:28 2017 -0400

    Fix rest/spread support in pattern matching and restructuring

commit 941a58e
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 10 23:48:48 2017 -0400

    Support configurable parse plugins

    - Support parser plugin config in options
    - Enable object rest/spread for unit test

commit ff33a79
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Sat Jun 10 23:31:45 2017 -0400

    Factor out stdlib

commit a72ad31
Author: William C. Johnson <wcjohnson@users.noreply.github.com>
Date:   Sat Jun 10 19:12:19 2017 -0400

    Pattern matching, take 3 (#3)

    * Matching v3

    * Match fixes

    - Wrap in block only when alias would shadow another identifier
    - Coerce all match branches to block statements (mirrors upstream)

    * Illegalize object and array literals in match tests

    * Pluck tests from upstream

    * Matching fixes

    - Converge with upstream re `hasProps` helper
    - Fix bug with empty elements in `ArrayPattern`s
    - Merge and fix all upstream tests

    * Elide alias transforms when alias not referenced

commit 3e4a286
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 23:15:06 2017 -0400

    Disallow implicit returns for `VariableDeclaration` with multple decls.

commit 91592ad
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 22:03:17 2017 -0400

    “Restructuring” for implicit conversion of destructures in tail position

commit ed6d05d
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 19:13:43 2017 -0400

    Destructuring improvements

    - Now recurses properly against defaulted patterns
    - 100% more LightScripty
    - Exports API that allows external code to avoid matching on node type

commit 170c390
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 19:02:45 2017 -0400

    Source mapping and more permissive API for logical exprs

commit a192370
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 19:01:46 2017 -0400

    Insert helpers after `import`s

commit 234b69f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 15:56:25 2017 -0400

    Fix issues with `MatchCase` node type

commit ad8fb9f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 15:44:03 2017 -0400

    Importable lsc types

commit 48ebac3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Thu Jun 8 15:25:59 2017 -0400

    Ensure babel-types patches are not multiply applied to same instance

commit 3cefb9f
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 23:51:44 2017 -0400

    v2.0.0-alpha.3

commit 16a34de
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 23:47:05 2017 -0400

    Add preversion script

commit cc5b4eb
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 21:39:10 2017 -0400

    Fixture updates for upstream parser convergence

commit d468ce3
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 21:38:30 2017 -0400

    Restructure to use `@oigroup/babel-plugin-lightscript-self-host`

    commit 5ac0a19199aa865eafdebaaa92d1100cf48ed9a0
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Wed Jun 7 21:33:30 2017 -0400

        Restructure to use self-hosting compiler

commit f62cfad
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 01:47:03 2017 -0400

    2.0.0-alpha.2

commit a9f1ebe
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 00:57:41 2017 -0400

    Updated fixture for `ThisExpression` hoist-avoidance

commit 5bf3611
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 00:53:46 2017 -0400

    Update fixtures for removal of empty arrow bodies

commit 5f71faa
Author: William C. Johnson <wcjohnson@oigroup.net>
Date:   Wed Jun 7 00:34:01 2017 -0400

    Pattern matching 2.0

    commit c5ed23e
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Tue Jun 6 23:56:24 2017 -0400

        Fixture for tail expr detection within `match`

    commit 4764b4a
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Tue Jun 6 17:23:17 2017 -0400

        Semver

    commit 6011fb5
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Tue Jun 6 16:29:22 2017 -0400

        New fixtures for === insertion

    commit 785225a
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Tue Jun 6 16:12:28 2017 -0400

        Update test output for _it

    commit 8968f99
    Author: William C. Johnson <wcjohnson@oigroup.net>
    Date:   Tue Jun 6 00:38:46 2017 -0400

        Pattern matching, take two
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant