Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
466 commits
Select commit Hold shift + click to select a range
cb1f7e8
reflect: Fix slice length check in Value.CanConvert.
nevkontakte Sep 12, 2021
54dda39
Update VFS and minified prelude.
nevkontakte Sep 12, 2021
6a42cad
Merge pull request #1057 from nevkontakte/wip-go1.17
nevkontakte Sep 13, 2021
4dda1bf
sync/atomic: Implement new Swap and CompareAndSwap methods of Value.
nevkontakte Sep 14, 2021
04eeecb
Update VFS with sync/atomic.
nevkontakte Sep 14, 2021
d80c496
Merge pull request #1058 from nevkontakte/wip-go1.17
nevkontakte Sep 15, 2021
80278a6
Get `hash/maphash` to work again
flimzy Sep 17, 2021
f97fb25
Merge pull request #1059 from gopherjs/hashmap
flimzy Sep 17, 2021
1ead41d
Ignore tests for internal/abi package.
nevkontakte Sep 15, 2021
6d23e7f
Fix internal/poll package for Go 1.17.
nevkontakte Sep 17, 2021
e835da2
Update VFS for `internal/poll`.
nevkontakte Sep 17, 2021
8b97c5a
Merge pull request #1061 from nevkontakte/wip-go1.17
nevkontakte Sep 17, 2021
54c7e77
Fix PkgPath of the unsafe.Pointer type.
nevkontakte Sep 17, 2021
ffaebd7
Update minified prelude.
nevkontakte Sep 17, 2021
d60ba2c
Fix compiler panic when assigning to a named pointer type.
nevkontakte Sep 17, 2021
a0dbb0e
Mark `fixedbugs/issue23017.go` as a known failure.
nevkontakte Sep 17, 2021
f7183f9
Merge pull request #1064 from nevkontakte/wip-go1.17
nevkontakte Sep 18, 2021
1c5f51f
runtime: Version() returns Go version provided by the compiler.
nevkontakte Sep 18, 2021
866eb02
Update VFS for `runtime`.
nevkontakte Sep 18, 2021
5890279
Update Go version to test against to 1.17.1.
nevkontakte Sep 18, 2021
41f8453
Merge pull request #1065 from nevkontakte/wip-go1.17
nevkontakte Sep 18, 2021
c05f513
Reduce the number of quickcheck iterations for edwards25519.
nevkontakte Sep 18, 2021
2550e90
Update VFS.
nevkontakte Sep 18, 2021
3873393
Merge pull request #1066 from nevkontakte/wip-go1.17
nevkontakte Sep 18, 2021
267d5db
Update README for Go 1.17.
nevkontakte Sep 18, 2021
7fa979d
Update build constraints on the compiler to require Go 1.17.
nevkontakte Sep 18, 2021
daae650
Merge pull request #1043 from gopherjs/wip-go1.17
flimzy Sep 18, 2021
bfaa891
Add "Help us make GopherJS better" section into the README.
nevkontakte Sep 23, 2021
357ed63
Merge pull request #1067 from gopherjs/readme-survey
nevkontakte Sep 23, 2021
55e74e4
Work around undefined process.argv
tt-savola Sep 29, 2021
542f12c
Update VFS
tt-savola Sep 29, 2021
a930101
Merge pull request #1068 from tsavola/react-native
nevkontakte Sep 29, 2021
7d59ed8
Preserve position information for top-level variable declarations.
nevkontakte Oct 2, 2021
51d3295
Merge pull request #1070 from nevkontakte/master
nevkontakte Oct 2, 2021
31ac999
Eliminate an unreachable statement at the end of a flattened loop.
nevkontakte Oct 3, 2021
4e64110
Improve detection of the last return statement in a statement list.
nevkontakte Oct 3, 2021
6b77bd3
Merge pull request #1071 from nevkontakte/issue-575
nevkontakte Oct 4, 2021
d4d36a0
sync/atomic: remove an unused type of code.
nevkontakte Oct 14, 2021
cac8ae8
Merge pull request #1075 from nevkontakte/master
nevkontakte Oct 14, 2021
268aeed
Add GitHub action workflows to track GopherJS output size changes.
nevkontakte Oct 9, 2021
4413e62
Merge pull request #1076 from nevkontakte/master
nevkontakte Oct 17, 2021
b324cce
Update README.md wording
danielgtaylor Oct 21, 2021
f9e992d
Merge pull request #1077 from danielgtaylor/patch-1
nevkontakte Oct 22, 2021
2676098
Prevent event loop starvation by always scheduled goroutines.
nevkontakte Oct 22, 2021
1e6abe7
Merge pull request #1079 from nevkontakte/event-starvation
nevkontakte Oct 23, 2021
57cbbe8
Improve temporary file management in `gopherjs test`.
nevkontakte Oct 30, 2021
e8a8f89
Merge pull request #1081 from nevkontakte/master
nevkontakte Oct 30, 2021
cd6125c
Add a test and a benchmark for 64-bit int multiplication.
nevkontakte Oct 31, 2021
405217d
Implement optimized 64-bit multiplication.
nevkontakte Oct 31, 2021
c8e26c3
Skip linker test in math/big.
nevkontakte Oct 31, 2021
21ba076
Implement *32 functions in `math/bits` without 64-bit arithmetics.
nevkontakte Oct 31, 2021
b46d7d9
Update minified prelude and VFS.
nevkontakte Nov 1, 2021
f9bde24
Merge pull request #1082 from nevkontakte/master
nevkontakte Nov 1, 2021
201d64d
Update NPM packages to fix vulnerabilities.
nevkontakte Nov 7, 2021
044b5d1
Use object identity to detect how far to unwind stack after panic rec…
nevkontakte Nov 7, 2021
15421e5
Correctly handle stack unwinding after a panic in a deferred function.
nevkontakte Nov 7, 2021
61e9bf8
Update minified prelude.
nevkontakte Nov 7, 2021
55c718a
Merge pull request #1084 from nevkontakte/double-defer
nevkontakte Nov 8, 2021
ed9a9b1
Increment GopherJS version to 1.17.1+go1.17.3.
nevkontakte Nov 8, 2021
16ce611
Assume all functions without body are blocking.
nevkontakte Oct 3, 2021
d0d5ecc
Merge pull request #1086 from nevkontakte/master
nevkontakte Nov 11, 2021
b4b6442
Disable test output buffering when testing only one package.
nevkontakte Nov 7, 2021
5af93d3
Fix a typo in slice-to-array conversion tests.
nevkontakte Nov 21, 2021
95fae10
Merge pull request #1089 from nevkontakte/test-fix
nevkontakte Dec 16, 2021
9ae78a3
Merge pull request #1087 from nevkontakte/master
nevkontakte Dec 16, 2021
3f885b5
Improve compiler panic messages.
nevkontakte Nov 21, 2021
dd14526
Add a test cases for https://github.com/gopherjs/gopherjs/issues/547.
nevkontakte Nov 21, 2021
9356bc9
Correctly handle built-ins and `js.Object` methods with `go` keyword.
nevkontakte Nov 21, 2021
ec9572f
Merge pull request #1090 from nevkontakte/go-builtin
nevkontakte Dec 19, 2021
baf5037
Clarify in which runtimes `js.Module` variable is available.
nevkontakte Dec 26, 2021
88b99aa
compiler: fix variadic args not being nil when zero length.
myitcv Apr 26, 2018
0cc819b
Address feedback
myitcv Apr 26, 2018
6f0cc78
Address more feedback
myitcv Apr 26, 2018
beaadd3
Add a couple more tests for varidic nil/non-nil checks
myitcv Apr 30, 2018
390fb3e
Merge pull request #1095 from nevkontakte/master
nevkontakte Dec 27, 2021
31134a5
Get the code up to date with the latest master
flimzy Dec 27, 2021
103facb
Merge pull request #1096 from gopherjs/fix_806
flimzy Dec 28, 2021
0f5af05
Merge pull request #879 from Inkeliz/master
flimzy Dec 28, 2021
561e638
Better stack trace parsing in the browser
flimzy Jul 8, 2017
27afc78
`build` package cleanups.
nevkontakte Dec 25, 2021
6bdf1b4
Apply package content tweaks before returning it from XContext.
nevkontakte Dec 25, 2021
181d09f
Update package's list of imports after we filter out sources.
nevkontakte Dec 25, 2021
be29229
Merge pull request #1098 from nevkontakte/better-builds
nevkontakte Dec 28, 2021
dd9eab9
parse each call frame independently
flimzy Jan 3, 2022
b56c331
Simplify tests
flimzy Jan 3, 2022
a19bf4c
Add tests for Node.js and Firefox stack traces
flimzy Jan 3, 2022
5660588
Switch to a different hack to get our runtime tests to work
flimzy Jan 3, 2022
ee1fd17
Merge pull request #1097 from gopherjs/stack2
flimzy Jan 4, 2022
ed0c57b
Orders source files before compilation to ensure reproducible output
Jan 27, 2018
befe1db
Test for different order files
Jan 30, 2018
bf5905b
Review tweaks
dave Apr 6, 2018
91e3aa3
Import order
dave Apr 7, 2018
bd20b0e
Update go.mod with new dep
flimzy Jan 3, 2022
932e1e6
Update WritePkgCode call
flimzy Jan 3, 2022
b46b3b8
Use gopherjs__ prefix for filenames
flimzy Jan 4, 2022
05ff22d
Use go-cmp for tests
flimzy Jan 4, 2022
36dc4ed
Merge pull request #1100 from gopherjs/import_order
flimzy Jan 4, 2022
b3f49b0
Upgraded int conversion libraries
lologarithm Apr 3, 2018
cc26e01
Add validate to input for numbers invalid in Go but valid for Number …
lologarithm Apr 4, 2018
6163632
go generate
lologarithm Apr 4, 2018
21bc0a8
Update formatting of new files
flimzy Jan 3, 2022
15ed2e8
Merge pull request #1101 from gopherjs/native_strconv
flimzy Jan 4, 2022
78745da
Improved build cache.
nevkontakte Feb 16, 2022
6bee22a
Merge pull request #1105 from nevkontakte/better-cache
nevkontakte Feb 19, 2022
4cc5f68
Introduce logrus as a logging library for the gopherjs compiler.
nevkontakte Feb 19, 2022
eaa9b97
Add -a flag to ignore build cache during the build.
nevkontakte Feb 19, 2022
d07ae1f
Add `gopherjs clean` subcommand to clean build cache.
nevkontakte Feb 19, 2022
fa09322
Prevent non-blocking select from making function appear blocking.
nevkontakte Feb 20, 2022
3013d65
Merge pull request #1108 from nevkontakte/issue1106
nevkontakte Feb 21, 2022
0b2280d
Merge pull request #1107 from nevkontakte/master
nevkontakte Feb 21, 2022
9e86199
Fix Go version range used for measure-size workflow.
nevkontakte Apr 10, 2022
d364144
Update tested Go version to 1.17.8.
nevkontakte Apr 10, 2022
410b528
Merge pull request #1113 from nevkontakte/go1.17.8
nevkontakte Apr 17, 2022
e8e6b93
Avoid use of os.Exit() in tool.go where possible.
nevkontakte Apr 17, 2022
28ffd01
Add flags to collect compiler CPU and allocation profiles.
nevkontakte Apr 17, 2022
b623a98
js: add MakeFullWrapper to expose exported methods and struct fields.
myitcv Apr 13, 2018
e8fe545
fix: v could be nullable
JounQin Apr 4, 2022
55fa5b5
chore: update prelude_min.go
JounQin Apr 4, 2022
8b170e5
refactor: address code reviews
JounQin Apr 18, 2022
b4356dc
Merge pull request #1114 from nevkontakte/pprof
nevkontakte Apr 18, 2022
be12844
Merge pull request #1112 from JounQin/getters
nevkontakte Apr 18, 2022
a87c66b
Do now swallow compiler errors in watch mode.
nevkontakte Apr 18, 2022
6e7e549
Support building `syscall` and `syscall/js` as `js/wasm`.
nevkontakte Oct 2, 2021
60f28c2
Fix `os` package test failures when built as `js/wasm`.
nevkontakte Oct 2, 2021
d6aec8e
Make sure GopherJS tests work correctly under when build as `js/wasm`.
nevkontakte Oct 3, 2021
7f838ba
Support `net` package when building for the target `js/wasm`.
nevkontakte Oct 17, 2021
1142005
Support `net/http` package when building for `js/wasm` target.
nevkontakte Oct 23, 2021
0ad407b
Only exclude std packages from CI if they are actually failing any te…
nevkontakte Nov 11, 2021
4170cbb
Drop GopherJS Fetch API-based http client implementation.
nevkontakte Feb 26, 2022
cdf693a
Convert prelude browser fs API stub into ES5 and reduce its size.
nevkontakte Mar 7, 2022
41de9e3
Use GOOS=js and GOARCH=ecmascript to build user code by default.
nevkontakte Mar 13, 2022
49f2893
Disable CGo when loading packages.
nevkontakte Mar 19, 2022
b94c4eb
Respect --tags flag in `gopherjs run` subcommand.
nevkontakte Mar 19, 2022
7d56422
Hide legacy `node-syscall` support behind a build tag.
nevkontakte Mar 20, 2022
305cb64
Remove unnecessary package tweaks for `crypto/rand`.
nevkontakte Mar 20, 2022
de83fe4
Remove unnecessary overlays and package tweaks for `internal/poll`.
nevkontakte Mar 20, 2022
f7681d2
Remove unnecessary standard library overlays.
nevkontakte Mar 20, 2022
59958da
Refactor TestNativesDontImportExtraPackages.
nevkontakte Mar 20, 2022
9813bf2
Remove GOROOT and GOPATH fields from `build.Options`.
nevkontakte Mar 20, 2022
9511320
Set `runtime.GOOS` and `GOARCH` to values chosen for GopherJS.
nevkontakte Mar 20, 2022
50f5dca
Fix compiler panics when building on Windows.
nevkontakte Mar 20, 2022
208100a
Catch and ignore the error if `fs` module can't be required.
nevkontakte Mar 27, 2022
3dfe12d
Set up a simple smoke test job on Windows and Mac OS.
nevkontakte Mar 27, 2022
adcfc77
Apply suggestions from code review
nevkontakte Apr 19, 2022
fe1dd62
Update VFS and minified prelude.
nevkontakte Apr 19, 2022
49993f5
Propagate blocking function information through function literal calls.
nevkontakte Apr 19, 2022
3f8f90c
Merge pull request #1115 from nevkontakte/issue955
nevkontakte Apr 19, 2022
fcf8e05
Increment GopherJS version to 1.17.2+go1.17.9.
nevkontakte Apr 19, 2022
2c06401
Merge pull request #1111 from nevkontakte/syscall2
nevkontakte Apr 20, 2022
8e2900b
Add $GOPATH/bin to Path variable in Windows smoke test workflow.
nevkontakte Apr 20, 2022
46fb938
Disable flaky net/http client tests.
nevkontakte Apr 20, 2022
3c2c4dc
Update VFS.
nevkontakte Apr 20, 2022
c870983
Do not panic in ‘os’ module if argv.Length() is 0
samhocevar May 9, 2022
d54ca66
Fix a crash occurring when a jsFS callback is called without arguments
samhocevar May 11, 2022
ce5430d
Protect against jsFS callback error argument being undefined
samhocevar May 11, 2022
d7a9da2
Merge pull request #1117 from samhocevar-forks/fix/argv-handling-crash
nevkontakte May 11, 2022
aad4eda
Add a comment to explain fsCall() safety checks
samhocevar May 15, 2022
1497816
Merge pull request #1118 from samhocevar-forks/fix/jsfs-callback-arg-…
nevkontakte May 16, 2022
98cf52b
Update 1.17 to 1.18
flimzy Apr 19, 2022
734756f
Add hacked JS files for goarch
flimzy Apr 19, 2022
75a2a4a
Update vfs
flimzy Apr 19, 2022
3a89f97
More stdlib updates
flimzy Apr 19, 2022
f754ef8
Update dependencies
flimzy Apr 19, 2022
42a2672
Ignore go:linkname directives in the `internal/fuzz` package.
nevkontakte May 30, 2022
40a9a9c
Pass an empty list of fuzz targets into the test main function.
nevkontakte May 30, 2022
dafed76
Restore mapiterinit(), mapiterkey(), mapiterelem() and mapiternext().
nevkontakte May 30, 2022
76289a7
Update VFS.
nevkontakte May 30, 2022
24891eb
Provide stubs for the string-optimized map accessors in the reflect pkg.
nevkontakte Jun 4, 2022
930b459
Support .inc.js files for standard library overlays.
nevkontakte Jun 5, 2022
d431144
Merge pull request #1119 from nevkontakte/inc-js
nevkontakte Jun 7, 2022
69c7cf6
Fix conversion from a slice to a pointer to a shorter array.
nevkontakte Jun 4, 2022
7b2b95a
Make `internal/intern` unsupported and avoid its usage in `net/netip`.
nevkontakte Jun 4, 2022
8cc14eb
strings: support Clone() function
nevkontakte Jun 4, 2022
5b30828
Use the actual NaN value in the `math` package.
nevkontakte Jun 5, 2022
243b1a4
Capture package name when unexpected compiler panic happens.
nevkontakte Jun 5, 2022
bc985d1
Improve compiler panic message.
nevkontakte Jun 5, 2022
7dcf6bb
Temporarily exclude encoding/xml from the test set.
nevkontakte Jun 5, 2022
2f017d3
net/http: fix renamed variable
nevkontakte Jun 5, 2022
28ce160
Update embedded VFS and minified prelude.
nevkontakte Jun 7, 2022
718e189
Improve nodejs stack size limit heuristic.
nevkontakte Jun 8, 2022
6d4ada3
Merge pull request #1120 from nevkontakte/go1.18
nevkontakte Jun 10, 2022
f2ebe46
Merge pull request #1122 from nevkontakte/issue470
nevkontakte Jun 13, 2022
2bf901a
Use Function.prototype.bind() in $methodVal in prelude.
nevkontakte Jun 10, 2022
c3fd450
runtime: Filter call stack returned by `Callers()` and `Caller()`.
nevkontakte Jun 10, 2022
dfcddff
reflect: Skip memory allocation test in TestMapIterSet.
nevkontakte Jun 10, 2022
844c5db
runtime: Include call column into position key, in addition to line.
nevkontakte Jul 9, 2022
d8f1734
Update VFS and minified prelude.
nevkontakte Jul 9, 2022
aa9b527
reflect: Fix test failures introduced in Go 1.18.
nevkontakte Jul 10, 2022
58edd7e
Update VFS.
nevkontakte Jul 10, 2022
fe457d0
Merge pull request #1125 from nevkontakte/go1.18
nevkontakte Jul 21, 2022
9c7b3f9
Skip 3 gorepo tests that attempt to pass unsupported flags:
nevkontakte Jul 16, 2022
8af68a2
Mark fixedbugs/issue15975.go as passing again.
nevkontakte Jul 16, 2022
6d8aaec
Allow multiple "_" fields in `reflect.StructOf()`.
nevkontakte Jul 16, 2022
62b3001
Update VFS.
nevkontakte Jul 16, 2022
68505dc
Skip fixedbugs/issue48898.go
nevkontakte Jul 17, 2022
d92466f
Skip fixedbugs/issue48536.go, which uses `unsafe.Add()`.
nevkontakte Jul 21, 2022
405ff02
Merge pull request #1131 from nevkontakte/go1.18
nevkontakte Jul 27, 2022
4845bda
Refactor test functions finding into a separate package and add tests.
nevkontakte Jul 30, 2022
b19a3f1
Detect and execute Fuzz targets with seed inputs.
nevkontakte Jul 30, 2022
f13b14b
Fix generics-related error in net/netip fuzz tests.
nevkontakte Jul 31, 2022
2db03cc
Update VFS.
nevkontakte Jul 31, 2022
6ca1089
Merge pull request #1132 from nevkontakte/go1.18
nevkontakte Aug 1, 2022
4380695
Yield explicit errors when encountering typeparams.
nevkontakte Jul 31, 2022
c53e22e
Update VFS.
nevkontakte Jul 31, 2022
dbb7643
Remove obsolete overlay.
nevkontakte Jul 31, 2022
3dee60c
Update VFS.
nevkontakte Jul 31, 2022
f3f9c18
Remove `Wrapper` interface from `syscall/js`.
nevkontakte Jul 31, 2022
0dcf12e
Update VFS.
nevkontakte Jul 31, 2022
671ed99
Update upstream Go version to 1.18.4.
nevkontakte Jul 31, 2022
45af5f0
go/parser: skip TestParseDepthLimit test, which triggers stack overflow.
nevkontakte Jul 31, 2022
b9d9b53
Update VFS
nevkontakte Jul 31, 2022
918cc1e
Add fixedbugs/issue53600.go to known failures.
nevkontakte Aug 1, 2022
7736106
Merge pull request #1133 from nevkontakte/go1.18
nevkontakte Aug 1, 2022
fa8544d
Merge pull request #1116 from gopherjs/go1.18
nevkontakte Aug 7, 2022
2dc0286
Use ES2015 syntax for more compact context save/restore.
nevkontakte Aug 1, 2022
cea2ae1
Further compactify blocking function context save/restore code.
nevkontakte Aug 7, 2022
3067214
Optimize goroutine switching performance.
nevkontakte Aug 13, 2022
2d12e51
Merge pull request #1137 from nevkontakte/es6-loads
nevkontakte Aug 16, 2022
ee15c78
fix some typos
cuishuang Aug 17, 2022
4bfcb2f
Merge pull request #1139 from cuishuang/master
nevkontakte Aug 17, 2022
b972ef3
Upgrade tested Go version to 1.18.5.
nevkontakte Aug 17, 2022
32d447b
Update README for GopherJS 1.18.0 release.
nevkontakte Aug 18, 2022
9771b78
Change Go map implementation from object properties to ES2015 Map.
tomconnell-wf Aug 5, 2022
fda6a40
Merge pull request #1136 from tomconnell-wf/javascript_map_impl
nevkontakte Aug 24, 2022
dad1371
README: suggest go install for installing
dmitshur Sep 11, 2022
480cd60
Merge pull request #1146 from gopherjs/README-go-install
nevkontakte Sep 11, 2022
29337c9
Pass nil slice when variadic arguments are omitted after regular args.
nevkontakte Sep 18, 2022
42157da
Merge pull request #1150 from nevkontakte/master
nevkontakte Sep 18, 2022
d422bb4
compiler/gopherjspkg: explicitly mention the vfsgen dependency
dmitshur Sep 11, 2022
e13d1c9
compiler/natives: use embed package
dmitshur Sep 11, 2022
1b8198d
build: support go:embed
visualfc Sep 21, 2022
30339e1
Merge pull request #1153 from visualfc/goembed
nevkontakte Sep 21, 2022
7aec0a6
compiler/prelude: fix array type size
visualfc Sep 23, 2022
003b257
tests: TestReflectArraySize
visualfc Sep 25, 2022
3b12aff
Merge pull request #1154 from visualfc/array
nevkontakte Sep 25, 2022
5214468
compiler/natives/src/reflect: fix valueIntrface check struct copy (#1…
visualfc Sep 29, 2022
9b96dbe
compiler: go:linkname support method (#1152)
visualfc Sep 30, 2022
778703c
go.mod: go 1.16
visualfc Oct 1, 2022
9a96a1e
add go1.16 go1.17 support
visualfc Oct 1, 2022
62feef5
compiler: update version check test
visualfc Oct 2, 2022
568679b
x
visualfc Oct 2, 2022
11ad6f5
compiler/natives/src/reflect: update valueInterface
visualfc Oct 2, 2022
e1711d6
add internal/typeparams
visualfc Oct 3, 2022
5b5d1f2
internal/testmain: testmainData
visualfc Oct 3, 2022
310a9c4
compiler/natives/src/reflect: fix reflect for go1.16 go1.17
visualfc Oct 5, 2022
529b5f5
compiler: update version
visualfc Oct 5, 2022
c873595
compiler/natives/src/reflect: rename resolveReflectName and can be se…
visualfc Oct 7, 2022
9b7c3c2
Merge branch 'reflect' into multiver
visualfc Oct 9, 2022
c1bb2b7
compiler/natives/src/reflect: sync uncommon for go1.16 go1.17
visualfc Oct 9, 2022
6faa67c
tests: fix runtime_test.go for go1.16
visualfc Oct 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/measure-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Measure canonical app size

on: ['pull_request']

jobs:
measure:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-go@v2
with:
go-version: '~1.18.5'
- uses: gopherjs/output-size-action/measure@main
with:
name: jQuery TodoMVC
repo: https://github.com/gopherjs/todomvc
go-package: github.com/gopherjs/todomvc
report_json: /tmp/report.json
report_md: /tmp/report.md
- uses: actions/upload-artifact@v2
with:
name: size_report
path: |
/tmp/report.json
/tmp/report.md

14 changes: 14 additions & 0 deletions .github/workflows/publish-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Publish canonical app size

on:
workflow_run:
workflows: ["Measure canonical app size"]
types: ["completed"]

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: gopherjs/output-size-action/publish@main
with:
report_artifact: size_report
49 changes: 3 additions & 46 deletions .std_test_pkg_exclusions
Original file line number Diff line number Diff line change
@@ -1,65 +1,22 @@
context
crypto
crypto/internal/cipherhw
crypto/tls
crypto/x509/pkix
debug/gosym
debug/plan9obj
encoding
encoding/xml
go/build
go/importer
go/internal/gccgoimporter
go/internal/gcimporter
go/internal/srcimporter
go/types
hash
image/color/palette
image/internal/imageutil
internal/cpu
internal/goroot
internal/nettrace
internal/poll
internal/race
internal/singleflight
internal/syscall/unix
internal/abi
internal/intern
internal/syscall/windows
internal/syscall/windows/registry
internal/syscall/windows/sysdll
internal/testenv
internal/testlog
internal/trace
internal/x/net/nettest
log
log/syslog
net
net/http
net/http/cgi
net/http/httptest
net/http/httptrace
net/http/httputil
net/http/internal
net/http/pprof
net/internal/socktest
net/rpc
net/smtp
os
os/exec
os/signal
os/signal/internal/pty
os/user
plugin
runtime
runtime/cgo
runtime/debug
runtime/internal/atomic
runtime/internal/math
runtime/internal/sys
runtime/pprof
runtime/pprof/internal/profile
runtime/race
runtime/trace
syscall
testing
testing/internal/testdeps
testing/iotest
unsafe
51 changes: 45 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,48 @@ GopherJS - A compiler from Go to JavaScript
[![Sourcegraph](https://sourcegraph.com/github.com/gopherjs/gopherjs/-/badge.svg)](https://sourcegraph.com/github.com/gopherjs/gopherjs?badge)
[![Circle CI](https://circleci.com/gh/gopherjs/gopherjs.svg?style=svg)](https://circleci.com/gh/gopherjs/gopherjs)

GopherJS compiles Go code ([golang.org](https://golang.org/)) to pure JavaScript code. Its main purpose is to give you the opportunity to write front-end code in Go which will still run in all browsers.
GopherJS compiles Go code ([go.dev](https://go.dev/)) to pure JavaScript code. Its main purpose is to give you the opportunity to write front-end code in Go which will still run in all browsers.

### Help us make GopherJS better!

- ⤴️ **Help us make better decisions by filling a quick 15-question [GopherJS user survey](https://forms.gle/WEjZqZaPxTxjD9YP8)**.
- 📢 Report and discuss [issues](https://github.com/gopherjs/gopherjs/issues).
- 🎓 Share your knowledge and experience through [articles](https://github.com/gopherjs/gopherjs/wiki/Community-Tutorials-and-Blogs) and [documentation](https://github.com/gopherjs/gopherjs/tree/master/doc).
- 🛠️ Write GopherJS [bindings](https://github.com/gopherjs/gopherjs/wiki/Bindings) for other libraries or [contribute](https://github.com/gopherjs/gopherjs/wiki/Developer-Guidelines) to GopherJS itself.

### What's new?

- 2022-08-18: Go 1.18 support is [available](https://github.com/gopherjs/gopherjs/releases/tag/v1.18.0-beta1%2Bgo1.18.5)!
- 2021-09-19: Go 1.17 support is available!
- 2021-08-23: Go Modules are now fully supported.
- 2021-06-19: Complete `syscall/js` package implementation compatible with the upstream Go 1.16.
- 2021-04-04: **Go 1.16 is now officially supported!** 🎉 🎉 🎉

### Playground

Give GopherJS a try on the [GopherJS Playground](http://gopherjs.github.io/playground/).

### What is supported?
Nearly everything, including Goroutines ([compatibility table](https://github.com/gopherjs/gopherjs/blob/master/doc/packages.md)). Performance is quite good in most cases, see [HTML5 game engine benchmark](https://ajhager.github.io/engi/demos/botmark.html). Cgo is not supported.

Nearly everything, including Goroutines ([compatibility documentation](https://github.com/gopherjs/gopherjs/blob/master/doc/compatibility.md)). Performance is quite good in most cases, see [HTML5 game engine benchmark](https://ajhager.github.io/engi/demos/botmark.html). Cgo is not supported.

### Installation and Usage
Get or update GopherJS and dependencies with:

GopherJS [requires Go 1.18 or newer](https://github.com/gopherjs/gopherjs/blob/master/doc/compatibility.md#go-version-compatibility). If you need an older Go
version, you can use an [older GopherJS release](https://github.com/gopherjs/gopherjs/releases).

Install GopherJS with `go install`:

```
go get -u github.com/gopherjs/gopherjs
go install github.com/gopherjs/gopherjs@latest # Or replace 'latest' with another version.
```

If your local Go distribution as reported by `go version` is newer than Go 1.18, then you need to set the `GOPHERJS_GOROOT` environment variable to a directory that contains a Go 1.18 distribution. For example:

```
go install golang.org/dl/go1.18.6@latest
go1.18.6 download
export GOPHERJS_GOROOT="$(go1.18.6 env GOROOT)" # Also add this line to your .profile or equivalent.
```

Now you can use `gopherjs build [package]`, `gopherjs build [files]` or `gopherjs install [package]` which behave similar to the `go` tool. For `main` packages, these commands create a `.js` file and `.js.map` source map in the current directory or in `$GOPATH/bin`. The generated JavaScript file can be used as usual in a website. Use `gopherjs help [command]` to get a list of possible command line flags, e.g. for minification and automatically watching for changes.
Expand Down Expand Up @@ -46,6 +75,16 @@ Refreshing in the browser will rebuild the served files if needed. Compilation e

If you include an argument, it will be the root from which everything is served. For example, if you run `gopherjs serve github.com/user/project` then the generated JavaScript for the package github.com/user/project/mypkg will be served at http://localhost:8080/mypkg/mypkg.js.

#### Environment Variables

There are some GopherJS-specific environment variables:

- `GOPHERJS_GOROOT` - if set, GopherJS uses this value as the default GOROOT
value, instead of using the system GOROOT as the default GOROOT value
- `GOPHERJS_SKIP_VERSION_CHECK` - if set to true, GopherJS will not check
Go version in the GOROOT for compatibility with the GopherJS release. This
is primarily useful for testing GopherJS against unreleased versions of Go.

### Performance Tips

- Use the `-m` command line flag to generate minified code.
Expand All @@ -58,7 +97,7 @@ If you include an argument, it will be the root from which everything is served.
- [Bindings to JavaScript APIs and libraries](https://github.com/gopherjs/gopherjs/wiki/bindings)
- [GopherJS Blog](https://medium.com/gopherjs)
- [GopherJS on Twitter](https://twitter.com/GopherJS)

- [Examples, tutorials and blogs](https://github.com/gopherjs/gopherjs/wiki/Community-Tutorials-and-Blogs)
### Getting started

#### Interacting with the DOM
Expand Down Expand Up @@ -112,7 +151,7 @@ For more details see [Jason Stone's blog post](http://legacytotheedge.blogspot.d
### Architecture

#### General
GopherJS emulates a 32-bit environment. This means that `int`, `uint` and `uintptr` have a precision of 32 bits. However, the explicit 64-bit integer types `int64` and `uint64` are supported. The `GOARCH` value of GopherJS is "js". You may use it as a build constraint: `// +build js`.
GopherJS emulates a 32-bit environment. This means that `int`, `uint` and `uintptr` have a precision of 32 bits. However, the explicit 64-bit integer types `int64` and `uint64` are supported. The `GOARCH` value of GopherJS is "js". You may use it as a build constraint: `// +build js,-wasm`.

#### Application Lifecycle

Expand Down
Loading