Skip to content
Branch: master
Commits on Mar 25, 2019
  1. deps: switch to building against Go 1.12.1 (#44)

    myitcv committed Mar 25, 2019
Commits on Mar 10, 2019
  1. compiler: upgrade to Go 1.12 (#41)

    myitcv committed Mar 10, 2019
Commits on Mar 8, 2019
  1. compiler: upgrade to Go 1.11.5 (#43)

    myitcv committed Mar 8, 2019
    * Fix bug where usage was shown for all errors in the gopherjs command
    * Use version of that has
    option to not write modTime
    * Always run go generate ./... as part of CI
Commits on Dec 6, 2018
  1. compiler: fix handling of nil assigned to blank identifier (#38)

    myitcv committed Dec 6, 2018
Commits on Dec 3, 2018
  1. build: add test for golang_org imports (#37)

    myitcv committed Dec 3, 2018
    Ensures that #23 is no longer an issue.
Commits on Nov 27, 2018
  1. build: correctly apply all build context build tags when calc mod deps (

    myitcv committed Nov 27, 2018
    Otherwise, we include/ignore the wrong files when computing
    dependencies via go list.
  2. build: fix list for module dependencies for tests (#35)

    myitcv committed Nov 27, 2018
    There's not a good way of resolving test deps for one package and just
    deps of others. Hence we resolve test deps for all of them (the "other"
    deps are std library of gopherjs specific so no cost) but only return
    results where it's for the test in question.
  3. README: update note on modules in README (#34)

    myitcv committed Nov 27, 2018
  4. build: almost complete module support (#33)

    myitcv committed Nov 27, 2018
    This is a necessarily large PR to offer almost complete Go modules
    support for GopherJS.
    * We now use to be able to write testscript
    * A suite of testscript tests have been added to cover the major GopherJS
      commands operating in both GOPATH mode and module mode.  Includes a test to
      ensure that the bug raised in #27 is now properly fixed.
    * The GopherJS tool and build packages have been heavily refactored in places to
      support Go modules. GopherJS support for Go modules follows the same patterns
      as the go tool.
    * We fix the build cache to be a function of the augmented packages as opposed
      (incorrectly) to the unaugmented package files. This has a slight cost because
      of the way the augmentation code is currently written (this could be refactored
      in a later PR) because every file is unconditionally parsed. Main and test
      packages are not cached (again, we could change this in a later PR). Because it
      would just work.
    * We fix the tests/run.go wrapper around the fixedbugs tests in the Go
      distribution to not perform a chdir into GOROOT; this does not work with
    * We tidy up .circleci/config.yml to split commands into their separate run
      sections where it makes sense to.
    * We add genmodstubbs.go to automatically populate the stubs we need in
      testdata/mod for the loading of{js,nosync}.
    * For a more current commentary on the Go module support in GopherJS see
    Fixes #24
    Fixes #27
Commits on Nov 23, 2018
  1. test: use (#29)

    myitcv committed Nov 23, 2018
    Upgrade to latest Node: 10.13.0.
    Use testscript for GopherJS tests. Add some simple, initial tests.  Flip
    to using testscript for the statelness test.
    Flip to using go-internal/cache for our build cache.
    Also change the various cobra commands to use RunE so that we can return
    actual errors instead of using os.Exit, and hence use GopherJS cleanly
    within a testscript.
Commits on Nov 6, 2018
  1. ci: upgrade to Go 1.11.2 (#30)

    myitcv committed Nov 6, 2018
Commits on Oct 24, 2018
  1. README: correct install steps (#28)

    myitcv committed Oct 24, 2018
Commits on Oct 7, 2018
  1. ci: Go 1.11.1 support (#25)

    myitcv committed Oct 7, 2018
    Cherry pick origin 0fee806 for Go
    1.11.1 support.
Commits on Sep 1, 2018
  1. ci: fix various breakages (#22)

    myitcv committed Sep 1, 2018
Commits on Aug 13, 2018
  1. build: do not use IgnoreVendor in Go 1.11 mode (#17)

    myitcv committed Aug 13, 2018
  2. doc: add caveat to README for Go 1.11 branch (#18)

    myitcv committed Aug 13, 2018
Commits on Aug 12, 2018
  1. build: fix import path resolution with no args (#15)

    myitcv committed Aug 12, 2018
Commits on Aug 10, 2018
  1. Initial module-aware changes for Go1.11 (#14)

    myitcv committed Aug 10, 2018
    Changes required atop this fork of GopherJS for Go 1.11.
    Includes an initial cut of module support, i.e. using GopherJS in a
    module-aware context.
    Not all tests are passing, but it's in good enough shape for a start to
    merge into go1.11 branch.
    Will need much more work to ensure that module-aware mode GopherJS works
    just as well as GOPATH-mode GopherJS
Commits on Aug 7, 2018
  1. Origin Go1.11 changes (#13)

    myitcv committed Aug 7, 2018
Commits on Jul 8, 2018
Commits on Jul 7, 2018
  1. js: add MakeFullWrapper to expose exported methods and struct fields. (

    myitcv committed Jul 7, 2018
    Currently the documentation for js.MakeWrapper is:
    > "MakeWrapper creates a JavaScript object which has wrappers for the
    exported methods of i. Use explicit getter and setter methods to expose
    struct fields to JavaScript."
    Where the value a struct value (or more
    interestingly a pointer to a struct value) we can actually auto-generate
    getters and setters for exported fields in the JavaScript world, rather
    than requiring explicit getters and setters to be defined on the Go
    We do this via a new MakeFullWrapper method.
Commits on Jul 2, 2018
  1. vendor: vendor go/types to workaround bug in method set calc. (#7)

    myitcv committed Jul 2, 2018
    Per golang/go#25008 (comment) the
    fix for method set calculation will not be back ported to Go 1.10.
    Instead gri suggests we vendor the latest version of go/types. This PR
    does just that. It is effectively a temporary sticking plaster until Go
    1.11 lands, or more specifically until we release GopherJS for Go 1.11.
    In order to successfully vendor go/types, however, we need to move
    compiler/vendor to the repo root (because build also uses go/types). And
    because and also reference go/types we need to
    vendor them as well.
    vendor/vendor.json is updated using govendor, with the one exception
    being a manual addition for go/types (govendor doesn't appear to
    understand how to vendor a standard library package).
    Fixes gopherjs#808.
  2. compiler: fix variadic args not being nil when zero length. (#6)

    myitcv committed Jul 2, 2018
  3. compiler: use hash calculation for determining staleness (#5)

    myitcv committed Jul 2, 2018
  4. compiler/prelude: format .js files using prettier (#4)

    myitcv committed Jul 2, 2018
    This PR introduces automatic formatting of the prelude's now separate
    .js files. Using prettier has the same argument as using gofmt on .go
    source code.
    As part of this we make the go generate step for the prelude include a
    formatpreludejs.go step.
    The resulting prelude_min.go file is slightly different now, but post
    gopherjs#791 we can see these
    differences are entirely and solely attributable to prettier's adjusting
    of the .js files.
  5. compiler/prelude: move prelude to separate .js files (#3)

    myitcv committed Jul 2, 2018
    I've been working with the prelude quite a lot recently. One of the
    really painful things with the current implementation is that the
    JavaScript for the prelude exists as a const string in a .go file, which
    makes properly writing and formatting the JavaScript itself very
    This PR splits the prelude into separate .js files to make editing the
    JavaScript prelude more straightforward.
    genmin.go becomes genprelude.go where these .js files are catted
    together into a single prelude.go file. The minified prelude_min.go is
    as before.
    Automated formatting of these .js files will follow in a later PR.
  6. ci: upgrade to CircleCI 2 (#2)

    myitcv committed Jul 2, 2018
  7. ci: fix circle config for myitcv/gopherjs build (#1)

    myitcv committed Jul 2, 2018
Commits on Jun 28, 2018
  1. doc: Document Node.js version 10.0.0 requirement.

    dmitshur committed Jun 28, 2018
    Updates gopherjs#809.
  2. node-syscall: Use Get instead of deprecated CloneElementAt. (gopherjs…

    myitcv authored and dmitshur committed Jun 28, 2018
    Update Node.js version to 10.0.0.
    CloneElementAt has been deprecated and removed in Node.js 10.0.0.
    Replace it with Get, which is sufficient here.
    Fixes gopherjs#809.
Commits on Apr 24, 2018
  1. compiler: Bump version to GopherJS 1.10-4.

    dmitshur committed Apr 24, 2018
    This version uses a new package for export data. See PR gopherjs#803.
  2. compiler: Use gcexportdata instead of gcimporter15. (gopherjs#803)

    myitcv authored and dmitshur committed Apr 24, 2018
    This change updates compiler to use new package gcexportdata instead of
    the deprecated and removed package gcimporter15 for reading and writing
    export data files containing type information.
    See its deprecation note here:
    Remove vendored copy of gcimporter15, since it's no longer used.
    Updates gopherjs#789.
Commits on Apr 21, 2018
  1. compiler: Bump version to GopherJS 1.10-3.

    dmitshur committed Apr 8, 2018
    This is the first version that supports GopherJS being vendored.
You can’t perform that action at this time.