ref: a231102ec04f3496c84ead02f463189e64342bc3
parent: f1749d6a57566ec4b0984df50c940762ac1d8db9
author: Philip Silva <philip.silva@protonmail.com>
date: Sat Mar 6 03:46:23 EST 2021
Exec6: configure plugins
--- a/domino/domino.go
+++ b/domino/domino.go
@@ -255,12 +255,14 @@
return
}
-func (d *Domino) Exec6(script string) (res string, err error) {
+func (d *Domino) Exec6(script string, initial bool) (res string, err error) {
babel.Init(4) // Setup 4 transformers (can be any number > 0)
r, err := babel.Transform(strings.NewReader(script), map[string]interface{}{
"plugins": []string{
- "transform-react-jsx",
"transform-es2015-block-scoping",
+ "transform-es2015-destructuring",
+ "transform-es2015-spread",
+ "transform-es2015-parameters",
},
})
if err != nil {
@@ -270,7 +272,7 @@
if err != nil {
return "", fmt.Errorf("read all: %v", err)
}
- return d.Exec(string(buf), true)
+ return d.Exec(string(buf), initial)
}
// CloseDoc fires DOMContentLoaded to trigger $(document).ready(..)
--- a/domino/domino_test.go
+++ b/domino/domino_test.go
@@ -500,19 +500,23 @@
d := NewDomino(simpleHTML, nil, nil)
d.Start()
script := `
- console.log('Hello!!');
- const numberOne = 1;
+ var foo = function(data={}) {}
+ var h = {
+ a: 1,
+ b: 11
+ };
+ var {a, b} = h;
`
- _, err := d.Exec6(script)
+ _, err := d.Exec6(script, true)
if err != nil {
t.Fatalf("%v", err)
}
- res, err := d.Exec("numberOne+1", false)
+ res, err := d.Exec("a+b", false)
t.Logf("res=%v", res)
if err != nil {
t.Fatalf("%v", err)
}
- if res != "2" {
+ if res != "12" {
t.Fatal()
}
d.Stop()
--- a/domino/domintf.js
+++ b/domino/domintf.js
@@ -11,6 +11,9 @@
addEventListener = function() {};
removeEventListener = function() {};
window.location.href = 'http://example.com';
+window.history = {
+ replaceState: function() {}
+};
var ___fq;
___fq = function(pre, el) {