Skip to content

Commit

Permalink
Update goja to latest master
Browse files Browse the repository at this point in the history
  • Loading branch information
mstoykov committed Jan 6, 2021
1 parent 15e15e5 commit 4beac52
Show file tree
Hide file tree
Showing 36 changed files with 578 additions and 403 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ require (
github.com/andybalholm/cascadia v1.0.0 // indirect
github.com/daaku/go.zipexe v0.0.0-20150329023125-a5fe2436ffcb // indirect
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect
github.com/dop251/goja v0.0.0-20201107160812-7545ac6de48a
github.com/dop251/goja v0.0.0-20210106133455-27b0a7dc4c7f
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4
github.com/eapache/go-resiliency v1.1.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20160609142408-bb955e01b934 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E=
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dop251/goja v0.0.0-20201107160812-7545ac6de48a h1:RYcWAh8DBgQQ7Fi3YhoyMhtGiF8JHKBDSeym7wd9o10=
github.com/dop251/goja v0.0.0-20201107160812-7545ac6de48a/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
github.com/dop251/goja v0.0.0-20210106133455-27b0a7dc4c7f h1:tHoCUlro23JdXvcvYXH1AseEyWJf+b8cBbVm16RYRkU=
github.com/dop251/goja v0.0.0-20210106133455-27b0a7dc4c7f/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4 h1:qk/FSDDxo05wdJH28W+p5yivv7LuLYLRXPPD8KQCtZs=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU=
Expand Down
2 changes: 2 additions & 0 deletions js/bundle.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
"runtime"

"github.com/dop251/goja"
"github.com/dop251/goja/parser"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/spf13/afero"
Expand Down Expand Up @@ -276,6 +277,7 @@ func (b *Bundle) Instantiate(logger logrus.FieldLogger, vuID int64) (bi *BundleI
// Instantiates the bundle into an existing runtime. Not public because it also messes with a bunch
// of other things, will potentially thrash data and makes a mess in it if the operation fails.
func (b *Bundle) instantiate(logger logrus.FieldLogger, rt *goja.Runtime, init *InitContext, vuID int64) error {
rt.SetParserOptions(parser.WithDisableSourceMaps)
rt.SetFieldNameMapper(common.FieldNameMapper{})
rt.SetRandSource(common.NewRandSource())

Expand Down
13 changes: 10 additions & 3 deletions js/lib/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (

rice "github.com/GeertJohan/go.rice"
"github.com/dop251/goja"
"github.com/dop251/goja/parser"
)

//nolint:gochecknoglobals
Expand All @@ -37,11 +38,17 @@ var (

func GetCoreJS() *goja.Program {
once.Do(func() {
coreJs = goja.MustCompile(
program, err := goja.Parse(
"core-js/shim.min.js",
rice.MustFindBox("core-js").MustString("shim.min.js"),
true,
)
parser.WithDisableSourceMaps)
if err != nil {
panic(err)
}
coreJs, err = goja.CompileAST(program, false)
if err != nil {
panic(err)
}
})

return coreJs
Expand Down
14 changes: 7 additions & 7 deletions js/tc39/breaking_test_errors.json
Original file line number Diff line number Diff line change
Expand Up @@ -447,8 +447,8 @@
"test/language/expressions/assignment/fn-name-cover.js-strict:true": "[test/language/expressions/assignment/fn-name-cover.js Test262Error: Expected SameValue(«», «cover») to be true at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/expressions/assignment/fn-name-fn.js-strict:true": "[test/language/expressions/assignment/fn-name-fn.js Test262Error: Expected SameValue(«», «fn») to be true at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/expressions/assignment/fn-name-gen.js-strict:true": "[test/language/expressions/assignment/fn-name-gen.js ReferenceError: regeneratorRuntime is not defined at test/language/expressions/assignment/fn-name-gen.js:28:21(3)]: %!v(MISSING)",
"test/language/expressions/class/accessor-name-inst-computed-yield-expr.js-strict:true": "[test/language/expressions/class/accessor-name-inst-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at 28:15]: %!v(MISSING)",
"test/language/expressions/class/accessor-name-static-computed-yield-expr.js-strict:true": "[test/language/expressions/class/accessor-name-static-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at 30:15]: %!v(MISSING)",
"test/language/expressions/class/accessor-name-inst-computed-yield-expr.js-strict:true": "[test/language/expressions/class/accessor-name-inst-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at test/language/expressions/class/accessor-name-inst-computed-yield-expr.js:28:15]: %!v(MISSING)",
"test/language/expressions/class/accessor-name-static-computed-yield-expr.js-strict:true": "[test/language/expressions/class/accessor-name-static-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at test/language/expressions/class/accessor-name-static-computed-yield-expr.js:30:15]: %!v(MISSING)",
"test/language/expressions/class/gen-method-length-dflt.js-strict:true": "[test/language/expressions/class/gen-method-length-dflt.js ReferenceError: regeneratorRuntime is not defined at test/language/expressions/class/gen-method-length-dflt.js:34:127(10)]: %!v(MISSING)",
"test/language/expressions/class/params-dflt-gen-meth-args-unmapped.js-strict:true": "[test/language/expressions/class/params-dflt-gen-meth-args-unmapped.js ReferenceError: regeneratorRuntime is not defined at test/language/expressions/class/params-dflt-gen-meth-args-unmapped.js:75:116(10)]: %!v(MISSING)",
"test/language/expressions/class/params-dflt-gen-meth-ref-arguments.js-strict:true": "[test/language/expressions/class/params-dflt-gen-meth-ref-arguments.js ReferenceError: regeneratorRuntime is not defined at test/language/expressions/class/params-dflt-gen-meth-ref-arguments.js:75:116(10)]: %!v(MISSING)",
Expand Down Expand Up @@ -675,8 +675,8 @@
"test/language/module-code/early-lex-and-var.js-strict:true": "[test/language/module-code/early-lex-and-var.js TypeError SyntaxError]: unexpected error type (%!s(MISSING)), expected (%!s(MISSING))",
"test/language/module-code/namespace/Symbol.toStringTag.js-strict:true": "[test/language/module-code/namespace/Symbol.toStringTag.js ReferenceError: require is not defined at test/language/module-code/namespace/Symbol.toStringTag.js:19:33(11)]: %!v(MISSING)",
"test/language/reserved-words/await-module.js-strict:true": "[test/language/reserved-words/await-module.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/class/accessor-name-inst-computed-yield-expr.js-strict:true": "[test/language/statements/class/accessor-name-inst-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at 28:15]: %!v(MISSING)",
"test/language/statements/class/accessor-name-static-computed-yield-expr.js-strict:true": "[test/language/statements/class/accessor-name-static-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at 30:15]: %!v(MISSING)",
"test/language/statements/class/accessor-name-inst-computed-yield-expr.js-strict:true": "[test/language/statements/class/accessor-name-inst-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at test/language/statements/class/accessor-name-inst-computed-yield-expr.js:28:15]: %!v(MISSING)",
"test/language/statements/class/accessor-name-static-computed-yield-expr.js-strict:true": "[test/language/statements/class/accessor-name-static-computed-yield-expr.js SyntaxError: Unexpected strict mode reserved word at test/language/statements/class/accessor-name-static-computed-yield-expr.js:30:15]: %!v(MISSING)",
"test/language/statements/class/constructor-inferred-observable-iteration.js-strict:true": "[test/language/statements/class/constructor-inferred-observable-iteration.js TypeError: Cannot convert undefined or null to object at getPrototypeOf (native)]: %!v(MISSING)",
"test/language/statements/class/definition/accessors.js-strict:true": "[test/language/statements/class/definition/accessors.js Test262Error: The result of `'prototype' in desc.get` is `false` Expected SameValue(«true», «false») to be true at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/statements/class/definition/fn-name-accessor-get.js-strict:true": "[test/language/statements/class/definition/fn-name-accessor-get.js Test262Error: Expected SameValue(«get», «get id») to be true at harness/sta.js:22:9(49)]: %!v(MISSING)",
Expand Down Expand Up @@ -806,7 +806,7 @@
"test/language/statements/for-in/head-const-bound-names-in-stmt.js-strict:true": "[test/language/statements/for-in/head-const-bound-names-in-stmt.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-in/head-let-bound-names-fordecl-tdz.js-strict:true": "[test/language/statements/for-in/head-let-bound-names-fordecl-tdz.js Test262Error: Expected a ReferenceError to be thrown but no exception was thrown at all at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/statements/for-in/head-let-bound-names-in-stmt.js-strict:true": "[test/language/statements/for-in/head-let-bound-names-in-stmt.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-in/head-let-destructuring.js-strict:true": "[test/language/statements/for-in/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at 27:7]: %!v(MISSING)",
"test/language/statements/for-in/head-let-destructuring.js-strict:true": "[test/language/statements/for-in/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at test/language/statements/for-in/head-let-destructuring.js:27:7]: %!v(MISSING)",
"test/language/statements/for-in/labelled-fn-stmt-const.js-strict:true": "[test/language/statements/for-in/labelled-fn-stmt-const.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-in/labelled-fn-stmt-let.js-strict:true": "[test/language/statements/for-in/labelled-fn-stmt-let.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-in/labelled-fn-stmt-lhs.js-strict:true": "[test/language/statements/for-in/labelled-fn-stmt-lhs.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
Expand Down Expand Up @@ -846,7 +846,7 @@
"test/language/statements/for-of/head-expr-no-expr.js-strict:true": "[test/language/statements/for-of/head-expr-no-expr.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-of/head-let-bound-names-fordecl-tdz.js-strict:true": "[test/language/statements/for-of/head-let-bound-names-fordecl-tdz.js Test262Error: Expected a ReferenceError to be thrown but no exception was thrown at all at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/statements/for-of/head-let-bound-names-in-stmt.js-strict:true": "[test/language/statements/for-of/head-let-bound-names-in-stmt.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-of/head-let-destructuring.js-strict:true": "[test/language/statements/for-of/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at 24:7]: %!v(MISSING)",
"test/language/statements/for-of/head-let-destructuring.js-strict:true": "[test/language/statements/for-of/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at test/language/statements/for-of/head-let-destructuring.js:24:7]: %!v(MISSING)",
"test/language/statements/for-of/head-var-no-expr.js-strict:true": "[test/language/statements/for-of/head-var-no-expr.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for-of/iterator-close-non-object.js-strict:true": "[test/language/statements/for-of/iterator-close-non-object.js Test262Error: Expected a TypeError to be thrown but no exception was thrown at all at harness/sta.js:22:9(49)]: %!v(MISSING)",
"test/language/statements/for-of/iterator-close-via-break.js-strict:true": "[test/language/statements/for-of/iterator-close-via-break.js Test262Error: Iterator is closed after `break` statement Expected SameValue(«0», «1») to be true at harness/sta.js:22:9(49)]: %!v(MISSING)",
Expand Down Expand Up @@ -875,7 +875,7 @@
"test/language/statements/for-of/yield.js-strict:true": "[test/language/statements/for-of/yield.js ReferenceError: regeneratorRuntime is not defined at test/language/statements/for-of/yield.js:9:33(12)]: %!v(MISSING)",
"test/language/statements/for/decl-fun.js-strict:true": "[test/language/statements/for/decl-fun.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for/head-let-bound-names-in-stmt.js-strict:true": "[test/language/statements/for/head-let-bound-names-in-stmt.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for/head-let-destructuring.js-strict:true": "[test/language/statements/for/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at 25:7]: %!v(MISSING)",
"test/language/statements/for/head-let-destructuring.js-strict:true": "[test/language/statements/for/head-let-destructuring.js SyntaxError: Unexpected strict mode reserved word at test/language/statements/for/head-let-destructuring.js:25:7]: %!v(MISSING)",
"test/language/statements/for/labelled-fn-stmt-expr.js-strict:true": "[test/language/statements/for/labelled-fn-stmt-expr.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for/labelled-fn-stmt-let.js-strict:true": "[test/language/statements/for/labelled-fn-stmt-let.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
"test/language/statements/for/labelled-fn-stmt-var.js-strict:true": "[test/language/statements/for/labelled-fn-stmt-var.js Test262: This statement should not be evaluated.]: error is not an object (%!v(MISSING))",
Expand Down
30 changes: 2 additions & 28 deletions vendor/github.com/dop251/goja/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions vendor/github.com/dop251/goja/ast/node.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions vendor/github.com/dop251/goja/builtin_array.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/github.com/dop251/goja/builtin_date.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/github.com/dop251/goja/builtin_function.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 4beac52

Please sign in to comment.