top

Package otto is a JavaScript parser and interpreter written natively in Go.

http://godoc.org/github.com/robertkrimen/otto

import (
    "github.com/robertkrimen/otto"
)

Run something in the VM

vm := otto.New()
vm.Run(`
    abc = 2 + 2;
	console.log("The value of abc is " + abc); // 4
`)

Get a value out of the VM

value, err := vm.Get("abc")
	value, _ := value.ToInteger()
}

Set a number

vm.Set("def", 11)
vm.Run(`
	console.log("The value of def is " + def);
	// The value of def is 11
`)

Set a string

vm.Set("xyzzy", "Nothing happens.")
vm.Run(`
	console.log(xyzzy.length); // 16
`)

Get the value of an expression

value, _ = vm.Run("xyzzy.length")
{
	// value is an int64 with a value of 16
	value, _ := value.ToInteger()
}

An error happens

value, err = vm.Run("abcdefghijlmnopqrstuvwxyz.length")
if err != nil {
	// err = ReferenceError: abcdefghijlmnopqrstuvwxyz is not defined
	// If there is an error, then value.IsUndefined() is true
	...
}

Set a Go function

vm.Set("sayHello", func(call otto.FunctionCall) otto.Value {
    fmt.Printf("Hello, %s.\n", call.Argument(0).String())
    return otto.Value{}
})

Set a Go function that returns something useful

vm.Set("twoPlus", func(call otto.FunctionCall) otto.Value {
    right, _ := call.Argument(0).ToInteger()
    result, _ := vm.ToValue(2 + right)
    return result
})

Use the functions in JavaScript

result, _ = vm.Run(`
    sayHello("Xyzzy");      // Hello, Xyzzy.
    sayHello();             // Hello, undefined

    result = twoPlus(2.0); // 4
`)

Parser

A separate parser is available in the parser package if you're just interested in building an AST.

http://godoc.org/github.com/robertkrimen/otto/parser

Parse and return an AST

filename := "" // A filename is optional
src := `
    // Sample xyzzy example
    (function(){
        if (3.14159 > 0) {
            console.log("Hello, World.");
            return;
        }

        var xyzzy = NaN;
        console.log("Nothing happens.");
        return xyzzy;
    })();
`

// Parse some JavaScript, yielding a *ast.Program and/or an ErrorList
program, err := parser.ParseFile(nil, filename, src, 0)

otto

You can run (Go) JavaScript from the commandline with: http://github.com/robertkrimen/otto/tree/master/otto

$ go get -v github.com/robertkrimen/otto/otto

Run JavaScript by entering some source on stdin or by giving otto a filename:

$ otto example.js

underscore

Optionally include the JavaScript utility-belt library, underscore, with this import:

import (
	"github.com/robertkrimen/otto"
	_ "github.com/robertkrimen/otto/underscore"
)

// Now every otto runtime will come loaded with underscore

For more information: http://github.com/robertkrimen/otto/tree/master/underscore

Caveat Emptor

The following are some limitations with otto:

* "use strict" will parse, but does nothing.
* The regular expression engine (re2/regexp) is not fully compatible with the ECMA5 specification.
* Otto targets ES5. ES6 features (eg: Typed Arrays) are not supported.

Regular Expression Incompatibility

Go translates JavaScript-style regular expressions into something that is "regexp" compatible via `parser.TransformRegExp`. Unfortunately, RegExp requires backtracking for some patterns, and backtracking is not supported by the standard Go engine: https://code.google.com/p/re2/wiki/Syntax

Therefore, the following syntax is incompatible:

(?=)  // Lookahead (positive), currently a parsing error
(?!)  // Lookahead (backhead), currently a parsing error
\1    // Backreference (\1, \2, \3, ...), currently a parsing error

A brief discussion of these limitations: "Regexp (?!re)" https://groups.google.com/forum/?fromgroups=#%21topic/golang-nuts/7qgSDWPIh_E

More information about re2: https://code.google.com/p/re2/

In addition to the above, re2 (Go) has a different definition for \s: [\t\n\f\r ]. The JavaScript definition, on the other hand, also includes \v, Unicode "Separator, Space", etc.

Halting Problem

If you want to stop long running executions (like third-party code), you can use the interrupt channel to do this:

package main

import (
    "errors"
    "fmt"
    "os"
    "time"

    "github.com/robertkrimen/otto"
)

var halt = errors.New("Stahp")

func main() {
    runUnsafe(`var abc = [];`)
    runUnsafe(`
    while (true) {
        // Loop forever
    }`)
}

func runUnsafe(unsafe string) {
    start := time.Now()
    defer func() {
        duration := time.Since(start)
        if caught := recover(); caught != nil {
            if caught == halt {
                fmt.Fprintf(os.Stderr, "Some code took to long! Stopping after: %v\n", duration)
                return
            }
            panic(caught) // Something else happened, repanic!
        }
        fmt.Fprintf(os.Stderr, "Ran code successfully: %v\n", duration)
    }()

    vm := otto.New()
    vm.Interrupt = make(chan func(), 1) // The buffer prevents blocking

    go func() {
        time.Sleep(2 * time.Second) // Stop after two seconds
        vm.Interrupt <- func() {
            panic(halt)
        }
    }()

    vm.Run(unsafe) // Here be dragons (risky code)
}

Where is setTimeout/setInterval?

These timing functions are not actually part of the ECMA-262 specification. Typically, they belong to the `windows` object (in the browser). It would not be difficult to provide something like these via Go, but you probably want to wrap otto in an event loop in that case.

For an example of how this could be done in Go with otto, see natto:

http://github.com/robertkrimen/natto

Here is some more discussion of the issue:

* http://book.mixu.net/node/ch2.html

* http://en.wikipedia.org/wiki/Reentrancy_%28computing%29

* http://aaroncrane.co.uk/2009/02/perl_safe_signals/

Imported by 621 package(s)

  1. fknsrs.biz/p/ottoext/fetch
  2. fknsrs.biz/p/ottoext/loop
  3. fknsrs.biz/p/ottoext/loop/looptask
  4. fknsrs.biz/p/ottoext/promise
  5. fknsrs.biz/p/ottoext/repl
  6. fknsrs.biz/p/ottoext/timers
  7. fknsrs.biz/p/ottoext/types
  8. github.com/101loops/go-reactjs
  9. github.com/89hmdys/otto/otto
  10. github.com/89hmdys/otto/repl
  11. github.com/89hmdys/otto/test
  12. github.com/BenLubar/cbgb
  13. github.com/BenLubar/suudsu
  14. github.com/BiggerNoise/otto/otto
  15. github.com/BiggerNoise/otto/test
  16. github.com/BlackEspresso/ServeJS
  17. github.com/BlackEspresso/ServeJS/plugins/cache
  18. github.com/BlackEspresso/ServeJS/plugins/crypto
  19. github.com/BlackEspresso/ServeJS/plugins/dns
  20. github.com/BlackEspresso/ServeJS/plugins/events
  21. github.com/BlackEspresso/ServeJS/plugins/file
  22. github.com/BlackEspresso/ServeJS/plugins/filewatch
  23. github.com/BlackEspresso/ServeJS/plugins/goquery
  24. github.com/BlackEspresso/ServeJS/plugins/htmlcheck
  25. github.com/BlackEspresso/ServeJS/plugins/http
  26. github.com/BlackEspresso/ServeJS/plugins/httpMappings
  27. github.com/BlackEspresso/ServeJS/plugins/httplistener
  28. github.com/BlackEspresso/ServeJS/plugins/mail
  29. github.com/BlackEspresso/ServeJS/plugins/modules
  30. github.com/BlackEspresso/ServeJS/plugins/mongodb
  31. github.com/BlackEspresso/ServeJS/plugins/settings
  32. github.com/BlackEspresso/ServeJS/plugins/stats
  33. github.com/BlackEspresso/ServeJS/plugins/tasks
  34. github.com/BlackEspresso/ServeJS/plugins/templating
  35. github.com/BlackEspresso/ServeJS/plugins/time
  36. github.com/BlackEspresso/ServeJS/plugins/websocket
  37. github.com/Cepave/open-falcon-backend/modules/query/gin_http/computeFunc
  38. github.com/Cepave/open-falcon-backend/modules/query/gin_http/grafana
  39. github.com/Cepave/query/gin_http/computeFunc
  40. github.com/Comcast/eel/eel/jtl
  41. github.com/Comcast/rulio/core
  42. github.com/DimShadoWWW/otto/otto
  43. github.com/DimShadoWWW/otto/test
  44. github.com/DisposaBoy/otto/otto
  45. github.com/Earthdollar/go-earthdollar/common/natspec
  46. github.com/Earthdollar/go-earthdollar/jsre
  47. github.com/Earthdollar/go-earthdollar/rpc
  48. github.com/Felamande/god/lib/jsvm
  49. github.com/Felamande/god/modules/go
  50. github.com/Felamande/god/modules/god
  51. github.com/Felamande/god/modules/hotkey
  52. github.com/Felamande/god/modules/localstorage
  53. github.com/Felamande/god/modules/log
  54. github.com/Felamande/god/modules/math
  55. github.com/Felamande/god/modules/os
  56. github.com/Felamande/god/modules/path
  57. github.com/Felamande/otto/otto
  58. github.com/Felamande/otto/repl
  59. github.com/Felamande/otto/test
  60. github.com/Forsevin/Not3D/n3
  61. github.com/Joushou/otto/otto
  62. github.com/Joushou/otto/test
  63. github.com/KamiQuasi/cayley/query/gremlin
  64. github.com/Kavec/cayley/query/gremlin
  65. github.com/Komosa/smartbank
  66. github.com/LiranCohen/quarid-go/vm/js
  67. github.com/LoRaWanSoFa/ttn/core/adapters/fields
  68. github.com/My-Sign/freegeoip
  69. github.com/NetEase/airinput
  70. github.com/NetSys/quilt/quiltctl/command
  71. github.com/NetSys/quilt/stitch
  72. github.com/Nimblic/otto/otto
  73. github.com/Nimblic/otto/test
  74. github.com/PolyFloyd/otto/otto
  75. github.com/PolyFloyd/otto/test
  76. github.com/SKatiyar/cayley/query/gremlin
  77. github.com/SchumacherFM/ht/ht
  78. github.com/StickmanVentures/creative-app-engine/notnode
  79. github.com/TheThingsNetwork/ttn/core/adapters/fields
  80. github.com/TheThingsNetwork/ttn/core/handler/functions
  81. github.com/TykTechnologies/tyk
  82. github.com/Vaultpls/Gwitch-JS
  83. github.com/Winslett/transporter/pkg/adaptor
  84. github.com/XuHaoJun/dao
  85. github.com/XuHaoJun/emission-otto
  86. github.com/Zenithar/aktarus/plugins
  87. github.com/Zenithar/aktarus/utils
  88. github.com/ZuMingDai/pholcus/app/spider
  89. github.com/abcum/orbit
  90. github.com/abeconnelly/glfd
  91. github.com/abeconnelly/l7g-p7e-untap
  92. github.com/abeconnelly/l7g-v5t-clinvar
  93. github.com/abeconnelly/lci
  94. github.com/acdenisSK/kitty/commands
  95. github.com/adrianuswarmenhoven/otto/otto
  96. github.com/aganno2/otto/otto
  97. github.com/aganno2/otto/test
  98. github.com/agupta666/cayley/query/gremlin
  99. github.com/aichaos/rivescript-go/lang/javascript
  100. github.com/alaska/freegeoip
  101. github.com/alexozer/gopherjs-bind/jsbind
  102. github.com/alpe/cayley/query/gremlin
  103. github.com/alphazero/go-ethereum/console
  104. github.com/alphazero/go-ethereum/internal/jsre
  105. github.com/andrebq/webview/fileserver
  106. github.com/andrew-d/cayley/query/gremlin
  107. github.com/andrewwebber/walrus
  108. github.com/andrewzeneski/otto/otto
  109. github.com/artemkaint/docker-powerdns-dock
  110. github.com/arunjit/cayley/query/gremlin
  111. github.com/ashaniray/mailhook
  112. github.com/astockwell/otto/otto
  113. github.com/astockwell/otto/repl
  114. github.com/astockwell/otto/test
  115. github.com/aubm/postmanerator/postman
  116. github.com/azylman/cayley/query/gremlin
  117. github.com/badfortrains/Fergulator/nes
  118. github.com/barakmich/cayley/query/gremlin
  119. github.com/bas-vk/go-ethereum/console
  120. github.com/bas-vk/otto/otto
  121. github.com/bas-vk/otto/repl
  122. github.com/bas-vk/otto/test
  123. github.com/beauhoyt/cayley/query/gremlin
  124. github.com/benhinchley/mooove
  125. github.com/bennyscetbun/otto/otto
  126. github.com/bennyscetbun/otto/repl
  127. github.com/bennyscetbun/otto/test
  128. github.com/bh5-go/otto/otto
  129. github.com/bh5-go/otto/test
  130. github.com/biggernoise/otto/otto
  131. github.com/biggernoise/otto/test
  132. github.com/blackgold/Fergulator/nes
  133. github.com/blockc/go-ethereum/console
  134. github.com/blockc/go-ethereum/internal/jsre
  135. github.com/bmatsuo/cayley/query/gremlin
  136. github.com/bmconklin/cayley/query/gremlin
  137. github.com/boomshroom/otto/otto
  138. github.com/boomshroom/otto/test
  139. github.com/boutros/cayley/query/gremlin
  140. github.com/bradberger/go-ethereum/jsre
  141. github.com/bradberger/go-ethereum/rpc
  142. github.com/brandonblack/go-ethereum/console
  143. github.com/brandonblack/go-ethereum/internal/jsre
  144. github.com/brandonvfx/go-plugins/ottojs
  145. github.com/brsyuksel/conquest/conquest
  146. github.com/brw31415/go-ethereum/cmd/geth
  147. github.com/brw31415/go-ethereum/jsre
  148. github.com/brw31415/go-ethereum/rpc
  149. github.com/bryanl/bandcamp-go
  150. github.com/byorty/cayley/query/gremlin
  151. github.com/caltechlibrary/aspace
  152. github.com/caltechlibrary/cait
  153. github.com/caltechlibrary/epgo
  154. github.com/caltechlibrary/ostdlib
  155. github.com/cayleygraph/cayley/query/gremlin
  156. github.com/chuanyi/otto/otto
  157. github.com/chucklqsun/ptlogin
  158. github.com/chyeh/open-falcon-backend/modules/query/gin_http/computeFunc
  159. github.com/chyeh/open-falcon-backend/modules/query/gin_http/grafana
  160. github.com/ckeyer/go-ethereum/console
  161. github.com/ckeyer/go-ethereum/internal/jsre
  162. github.com/clone1018/gilgamesh/loader
  163. github.com/cloudwalkio/cayley/query/gremlin
  164. github.com/cloudwan/gohan/extension/framework/runner
  165. github.com/cloudwan/gohan/extension/otto
  166. github.com/codepope/transporter/pkg/adaptor
  167. github.com/compose-ex/transporter-contrib/pkg/adaptor
  168. github.com/compose/transporter/cmd/transporter
  169. github.com/compose/transporter/pkg/adaptor/transformer
  170. github.com/conseweb/go-ethereum/jsre
  171. github.com/conseweb/go-ethereum/rpc
  172. github.com/corebob/SampleConverter
  173. github.com/couchbase/sg-bucket
  174. github.com/couchbase/sync_gateway/channels
  175. github.com/couchbase/sync_gateway/db
  176. github.com/couchbaselabs/cbgb
  177. github.com/couchbaselabs/sync_gateway/channels
  178. github.com/couchbaselabs/sync_gateway/db
  179. github.com/crolek/godust
  180. github.com/crosbymichael/skydock
  181. github.com/crosserclaws/open-falcon-backend/modules/query/gin_http/computeFunc
  182. github.com/crosserclaws/open-falcon-backend/modules/query/gin_http/grafana
  183. github.com/cvillecsteele/mithras/modules/autoscaling
  184. github.com/cvillecsteele/mithras/modules/beanstalk
  185. github.com/cvillecsteele/mithras/modules/cli
  186. github.com/cvillecsteele/mithras/modules/core
  187. github.com/cvillecsteele/mithras/modules/daemon
  188. github.com/cvillecsteele/mithras/modules/elasticache
  189. github.com/cvillecsteele/mithras/modules/elb
  190. github.com/cvillecsteele/mithras/modules/exec
  191. github.com/cvillecsteele/mithras/modules/filepath
  192. github.com/cvillecsteele/mithras/modules/fs
  193. github.com/cvillecsteele/mithras/modules/iam
  194. github.com/cvillecsteele/mithras/modules/instance
  195. github.com/cvillecsteele/mithras/modules/keypairs
  196. github.com/cvillecsteele/mithras/modules/log
  197. github.com/cvillecsteele/mithras/modules/network
  198. github.com/cvillecsteele/mithras/modules/os
  199. github.com/cvillecsteele/mithras/modules/peek
  200. github.com/cvillecsteele/mithras/modules/process
  201. github.com/cvillecsteele/mithras/modules/rand
  202. github.com/cvillecsteele/mithras/modules/rds
  203. github.com/cvillecsteele/mithras/modules/readline
  204. github.com/cvillecsteele/mithras/modules/region
  205. github.com/cvillecsteele/mithras/modules/remote
  206. github.com/cvillecsteele/mithras/modules/require
  207. github.com/cvillecsteele/mithras/modules/route53
  208. github.com/cvillecsteele/mithras/modules/routetables
  209. github.com/cvillecsteele/mithras/modules/s3
  210. github.com/cvillecsteele/mithras/modules/script
  211. github.com/cvillecsteele/mithras/modules/secgroup
  212. github.com/cvillecsteele/mithras/modules/sns
  213. github.com/cvillecsteele/mithras/modules/sqs
  214. github.com/cvillecsteele/mithras/modules/subnet
  215. github.com/cvillecsteele/mithras/modules/tag
  216. github.com/cvillecsteele/mithras/modules/user
  217. github.com/cvillecsteele/mithras/modules/vpc
  218. github.com/cvillecsteele/mithras/modules/web
  219. github.com/cvillecsteele/mithras/modules/workers
  220. github.com/cxfksword/mocku/controllers
  221. github.com/daemonl/go_gsd/dynamic
  222. github.com/dancannon/gofetch/sandbox/js
  223. github.com/dancannon/otto/otto
  224. github.com/darkliquid/leader1/plugins
  225. github.com/darkliquid/leader1/utils
  226. github.com/darkliquid/otto/otto
  227. github.com/darkliquid/otto/repl
  228. github.com/darkliquid/otto/test
  229. github.com/dc0d/isottope
  230. github.com/dc0d/isottope/examples
  231. github.com/ddliu/motto
  232. github.com/ddliu/motto/underscore
  233. github.com/ddliu/nodego
  234. github.com/decebal/go-ethereum/jsre
  235. github.com/decebal/go-ethereum/rpc
  236. github.com/deepglint/streamtools/st/library
  237. github.com/dennwc/cayley/query/gremlin
  238. github.com/deoxxa/ottoext/fetch
  239. github.com/deoxxa/ottoext/loop
  240. github.com/deoxxa/ottoext/process
  241. github.com/deoxxa/ottoext/promise
  242. github.com/deoxxa/ottoext/repl
  243. github.com/deoxxa/ottoext/timers
  244. github.com/deoxxa/talks/go-and-javascript
  245. github.com/didip/jazz
  246. github.com/didip/jazz/examples
  247. github.com/didip/jazz/jsutil
  248. github.com/didip/konfig/engine
  249. github.com/diegobernardes/go-reactjs
  250. github.com/dmitris/otto/otto
  251. github.com/dmitris/otto/test
  252. github.com/dominicphillips/go-ethereum/jsre
  253. github.com/dominicphillips/go-ethereum/rpc
  254. github.com/doubledutch/otto/otto
  255. github.com/doubledutch/otto/test
  256. github.com/dtylman/otto/otto
  257. github.com/dtylman/otto/test
  258. github.com/dylanPang/pholcus/app/spider
  259. github.com/ebuchman/coltrane
  260. github.com/elct9620/go-plurk-robot/robot
  261. github.com/eliquious/otto/otto
  262. github.com/eliquious/otto/test
  263. github.com/elos-retired/space
  264. github.com/elos/interactive
  265. github.com/elos/space
  266. github.com/emicklei/melrose/cli
  267. github.com/emicklei/otto/otto
  268. github.com/emicklei/otto/test
  269. github.com/erikstmartin/cayley/src/gremlin
  270. github.com/escoz/basecouch
  271. github.com/ethereum/go-ethereum/console
  272. github.com/ethereum/go-ethereum/internal/ethapi
  273. github.com/ethereum/go-ethereum/internal/jsre
  274. github.com/ethereumproject/go-ethereum/console
  275. github.com/ethereumproject/go-ethereum/internal/jsre
  276. github.com/etherninja/go-ethereum/jsre
  277. github.com/etherninja/go-ethereum/rpc
  278. github.com/euforic/otto/otto
  279. github.com/euforic/otto/test
  280. github.com/fabioberger/go-ethereum/console
  281. github.com/fabioberger/go-ethereum/internal/jsre
  282. github.com/farazdagi/go-ethereum/jsre
  283. github.com/fbornhofen/otto/otto
  284. github.com/fernandosanchezjr/otto/otto
  285. github.com/fernandosanchezjr/otto/repl
  286. github.com/fernandosanchezjr/otto/test
  287. github.com/fgrehm/devstep-cli/devstep
  288. github.com/fulldump/otto/otto
  289. github.com/fulldump/otto/repl
  290. github.com/fulldump/otto/test
  291. github.com/fwessels/golanglambda
  292. github.com/fwessels/otto/otto
  293. github.com/fwessels/otto/repl
  294. github.com/fwessels/otto/test
  295. github.com/fwessels/ottoext/fetch
  296. github.com/fwessels/ottoext/loop
  297. github.com/fwessels/ottoext/process
  298. github.com/fwessels/ottoext/promise
  299. github.com/fwessels/ottoext/repl
  300. github.com/fwessels/ottoext/timers
  301. github.com/georgyo/freegeoip
  302. github.com/gernest/ottox
  303. github.com/gernest/wuxia/gen
  304. github.com/ghostnetwrk/ghostnet/common/natspec
  305. github.com/ghostnetwrk/ghostnet/jsre
  306. github.com/ghostnetwrk/ghostnet/rpc
  307. github.com/go-nut/otto/otto
  308. github.com/go-webdb/webdb
  309. github.com/golang-cjr/xep/jsexecutor
  310. github.com/google/cayley/query/gremlin
  311. github.com/gophergala2016/mailhook
  312. github.com/gophergala2016/scattr
  313. github.com/gxb5443/cayley/query/gremlin
  314. github.com/gysan/pholcus/app/spider
  315. github.com/hattya/aster
  316. github.com/hazbo/otto/otto
  317. github.com/hdonnay/cloudctl
  318. github.com/henkman/exquisitecode
  319. github.com/henrylee2cn/otto/otto
  320. github.com/henrylee2cn/otto/test
  321. github.com/henrylee2cn/pholcus/app/spider
  322. github.com/henryscala/sipq/scenario
  323. github.com/heridev/gophergala_repositories/kasperbrett
  324. github.com/hidu/api-front/proxy
  325. github.com/hidu/api-man/proxy
  326. github.com/hidu/pproxy/serve
  327. github.com/hongjinqiu/gometa/script
  328. github.com/iandioch/betelgeuse
  329. github.com/ilove789110/go-ethereum/console
  330. github.com/ilove789110/go-ethereum/internal/jsre
  331. github.com/imc-trading/crywolf/consumer/kafka
  332. github.com/immesys/bw2bc/console
  333. github.com/immesys/bw2bc/internal/jsre
  334. github.com/iopipe/turtle-shell
  335. github.com/ironbay/troy
  336. github.com/j6n/Not3D/n3
  337. github.com/j6n/noye/core/lib
  338. github.com/j6n/noye/core/script
  339. github.com/jackwakefield/gopac
  340. github.com/jamescun/leftpad
  341. github.com/janne/janitor
  342. github.com/jcmdev0/otto/otto
  343. github.com/jcmdev0/otto/test
  344. github.com/jcw/jeebus/gadgets/javascript
  345. github.com/jeffallen/go-ethereum/jsre
  346. github.com/jeffallen/go-ethereum/rpc
  347. github.com/jelinden/go-isomorphic-react
  348. github.com/jianhuihi/pholcus/app/spider
  349. github.com/jimenezrick/go-ethereum/jsre
  350. github.com/jimenezrick/go-ethereum/rpc
  351. github.com/jnuthong/item_search/utils/terminal
  352. github.com/jonas747/fortia-server/core
  353. github.com/joushou/otto/otto
  354. github.com/joushou/otto/test
  355. github.com/jpmorganchase/quorum/console
  356. github.com/jsccast/cayley/query/gremlin
  357. github.com/jsccast/tinygraph
  358. github.com/jsccast/tinygraph/tinygraph
  359. github.com/jumbucks/go-jumbucksee/console
  360. github.com/jumbucks/go-jumbucksee/internal/jsre
  361. github.com/karalabe/go-ethereum/console
  362. github.com/karalabe/go-ethereum/internal/ethapi
  363. github.com/karalabe/go-ethereum/internal/jsre
  364. github.com/karalabe/go-ethereum/jsre
  365. github.com/kayon/otto/otto
  366. github.com/kayon/otto/test
  367. github.com/kazhuravlev/otto/otto
  368. github.com/kazhuravlev/otto/repl
  369. github.com/kazhuravlev/otto/test
  370. github.com/kenshaw/cayley/query/gremlin
  371. github.com/khanht-nguyen/Newton
  372. github.com/kildevaeld/motto
  373. github.com/kildevaeld/motto/modules
  374. github.com/kildevaeld/motto/motto
  375. github.com/kildevaeld/motto/underscore
  376. github.com/kildevaeld/scaffolt/vm/javascript
  377. github.com/komosa/smartbank
  378. github.com/koofr/autoproxy
  379. github.com/kpmy/xep/jsexecutor
  380. github.com/kreshikhin/otto/otto
  381. github.com/kreshikhin/otto/test
  382. github.com/kris-runzer/cayley/query/gremlin
  383. github.com/kurrik/tmxscripter/tmxscripter
  384. github.com/laprice/cayley/query/gremlin
  385. github.com/lavab/worker/runner
  386. github.com/lazytiger/otto/otto
  387. github.com/lenaten/cayley-1/query/gremlin
  388. github.com/leonardyp/pproxy/serve
  389. github.com/lgutschmidt/Flashy/storage
  390. github.com/libliflin/otto/otto
  391. github.com/linkeddata/computationservice
  392. github.com/linlexing/dbgo
  393. github.com/linlexing/dbgo/grade
  394. github.com/linlexing/dbgo/oftenfun
  395. github.com/linlexing/otto/otto
  396. github.com/linlexing/otto/test
  397. github.com/liujianping/otto/otto
  398. github.com/lqshixinlei/cayley/query/gremlin
  399. github.com/lukut/Flashy/storage
  400. github.com/lytics/cayley/query/gremlin
  401. github.com/makerbot/freegeoip
  402. github.com/martint17r/encodingjs
  403. github.com/matiasinsaurralde/bench/otto
  404. github.com/matryer/pangaea
  405. github.com/mattbasta/Legend-of-Adventure/entities
  406. github.com/mcoffin/mcoffinbot
  407. github.com/meteorhacks/go-shell/demo/hello
  408. github.com/meteorhacks/go-shell/gosh
  409. github.com/miaolz123/samaritan/trader
  410. github.com/migueltorreslopez/go-ethereum/console
  411. github.com/mikesimons/pacyak/pacsandbox
  412. github.com/miku/cayley/query/gremlin
  413. github.com/miku/ottily/cmd/ottily
  414. github.com/millken/go/proxy-tester
  415. github.com/miolini/jsonf/jsonflib
  416. github.com/montanaflynn/freegeoip
  417. github.com/mrap/go-reactjs
  418. github.com/msama/cayley/query/gremlin
  419. github.com/mschoch/otto/otto
  420. github.com/mschoch/tuq/planner
  421. github.com/msornay/go-ethereum/common/natspec
  422. github.com/msornay/go-ethereum/jsre
  423. github.com/msornay/go-ethereum/rpc
  424. github.com/multiplay/otto/otto
  425. github.com/multiplay/otto/test
  426. github.com/my-sign/freegeoip
  427. github.com/nablaone/golang-sandbox/07-javascript-interpreter
  428. github.com/nagydani/go-ethereum/console
  429. github.com/nagydani/go-ethereum/internal/jsre
  430. github.com/navy1125/otto/otto
  431. github.com/navy1125/otto/test
  432. github.com/netease/airinput
  433. github.com/niltonkummer/otto/otto
  434. github.com/nimblic/otto/otto
  435. github.com/nimblic/otto/test
  436. github.com/nlordell/utub
  437. github.com/noypi/election2016/comelec
  438. github.com/npolar/ghostdoc
  439. github.com/nytlabs/streamtools/st/library
  440. github.com/obscuren/go-ethereum/console
  441. github.com/obscuren/go-ethereum/internal/ethapi
  442. github.com/obscuren/go-ethereum/internal/jsre
  443. github.com/obscuren/hyperledger/jsre
  444. github.com/obscuren/otto/otto
  445. github.com/obscuren/otto/test
  446. github.com/ocdogan/otto/otto
  447. github.com/ocdogan/otto/repl
  448. github.com/ocdogan/otto/test
  449. github.com/onlyafly/wendigo
  450. github.com/onlyafly/wendigo/ottoexample
  451. github.com/orangesdk/skydock
  452. github.com/owulveryck/go-ethereum/console
  453. github.com/owulveryck/go-ethereum/internal/jsre
  454. github.com/pagecr/go-ethereum/jsre
  455. github.com/pagecr/go-ethereum/rpc
  456. github.com/paked/go-textconstants
  457. github.com/paked/otto/otto
  458. github.com/paked/otto/test
  459. github.com/panjjo/event
  460. github.com/panjjo/event/event
  461. github.com/panjjo/event/utils
  462. github.com/papplampe/exquisitecode
  463. github.com/pcasaretto/go-ethereum/common/natspec
  464. github.com/pcasaretto/go-ethereum/jsre
  465. github.com/pcasaretto/go-ethereum/rpc
  466. github.com/penlooktmp/cayley/query/gremlin
  467. github.com/peterhellberg/ssh-chat-bot/robots
  468. github.com/pikkpoiss/tmxscripter/tmxscripter
  469. github.com/pikkpoiss/twodee
  470. github.com/pointlander/cas
  471. github.com/polyfloyd/otto/otto
  472. github.com/polyfloyd/otto/test
  473. github.com/polyverse-security/js-route
  474. github.com/postman0/xep/jsexecutor
  475. github.com/pquerna/vulcan/control/js
  476. github.com/progrium/go-scripting/ottojs
  477. github.com/prsolucoes/goci/models/domain
  478. github.com/rahulxkrishna/cayley/query/gremlin
  479. github.com/rbin/cbgb
  480. github.com/resourced/resourced/queryparser
  481. github.com/rht/go-ethereum/jsre
  482. github.com/rickduggan/freegeoip
  483. github.com/robertkrimen/natto
  484. github.com/robertkrimen/otto/otto
  485. github.com/robertkrimen/otto/repl
  486. github.com/robertkrimen/otto/test
  487. github.com/robertmeta/cayley/query/gremlin
  488. github.com/robmerrell/gmboy/system
  489. github.com/robmerrell/gmboy/system/cpu
  490. github.com/robmerrell/gmboy/system/debugger
  491. github.com/robmerrell/gmboy/system/mmu
  492. github.com/rolldever/go-json5
  493. github.com/rsdoiel/aspace
  494. github.com/rsdoiel/gospace
  495. github.com/rsdoiel/ws
  496. github.com/rsdoiel/xlsx2json/cmds/xlsx2json
  497. github.com/rvolosatovs/ttn/core/handler/functions
  498. github.com/rwynn/monstache
  499. github.com/safenetlabs/tyk
  500. github.com/sammy007/go-cfscrape
  501. github.com/samuelhug/otto/otto
  502. github.com/samuelhug/otto/repl
  503. github.com/samuelhug/otto/test
  504. github.com/satanson/go-ethereum/console
  505. github.com/satanson/go-ethereum/internal/jsre
  506. github.com/scalabl3/cbgb
  507. github.com/scbizu/pholcus/app/spider
  508. github.com/scottcagno/cbgb
  509. github.com/scottferg/Fergulator/nes
  510. github.com/sdgoij/otto/otto
  511. github.com/sdgoij/otto/test
  512. github.com/se77en/go-reactjs
  513. github.com/sesteel/otto/otto
  514. github.com/sesteel/otto/test
  515. github.com/sfreiberg/otto/otto
  516. github.com/sfreiberg/shepherd
  517. github.com/shaovie/freegeoip
  518. github.com/shawnfeng/gotest/tst_otto
  519. github.com/shiftcurrency/go-ethereum/jsre
  520. github.com/shiftcurrency/shift/cmd/utils
  521. github.com/shiftcurrency/shift/jsre
  522. github.com/sibukixxx/cayley/query/gremlin
  523. github.com/silas/keyfu
  524. github.com/simongui/fastlane/services
  525. github.com/sinni800/nitori-go
  526. github.com/sjhitchner/nexus/interfaces/filter
  527. github.com/smoogle/pp/src/pp/draw
  528. github.com/spartacusX/otto/otto
  529. github.com/spikeekips/kasi
  530. github.com/sreejithr/Goutube
  531. github.com/sryanyuan/excavator
  532. github.com/status-im/status-go/geth
  533. github.com/status-im/status-go/jail
  534. github.com/steveyen/cbgb
  535. github.com/steveyen/walrus
  536. github.com/stickmanventures/creative-app-engine/notnode
  537. github.com/stoplightio/otto/otto
  538. github.com/stoplightio/otto/repl
  539. github.com/stoplightio/otto/test
  540. github.com/stratospark/go-ethereum/jsre
  541. github.com/stratospark/go-ethereum/rpc
  542. github.com/stretchr/ottox
  543. github.com/stretchr/pangaea
  544. github.com/sundy-li/sem_spider_baidu/service
  545. github.com/tanema/grouter/json_map
  546. github.com/technosophos/ottomatic
  547. github.com/tiaotiao/applets/playground
  548. github.com/tiaotiao/doohickeys/playground
  549. github.com/tleyden/cbgb
  550. github.com/trusch/susi/jsengine
  551. github.com/tsuru/tsuru-autoscale/alarm
  552. github.com/tswindell/go-ethereum/jsre
  553. github.com/tswindell/go-ethereum/rpc
  554. github.com/tudyzhou/otto/otto
  555. github.com/tudyzhou/otto/test
  556. github.com/twitchyliquid64/go-bump
  557. github.com/tyler-sommer/squircy/squircy
  558. github.com/tyler-sommer/squircy2/squircy/script
  559. github.com/ubiq/go-ubiq/console
  560. github.com/ubiq/go-ubiq/internal/ethapi
  561. github.com/ubiq/go-ubiq/internal/jsre
  562. github.com/uget/cnlv2
  563. github.com/v0l/gobot
  564. github.com/vaultpls/Gwitch-JS
  565. github.com/vdobler/ht/ht
  566. github.com/velocity-toolkit/otto/otto
  567. github.com/vijayee/Contract
  568. github.com/vijayee/Contract/builtin
  569. github.com/vijayee/IPVM
  570. github.com/vijayee/calculator/server
  571. github.com/vijayee/otto/otto
  572. github.com/vijayee/otto/test
  573. github.com/vladoatanasov/sync_gateway/channels
  574. github.com/vladoatanasov/sync_gateway/db
  575. github.com/voltron42/cubano
  576. github.com/voltron42/cubano/standalone
  577. github.com/voltron42/testable/otto/adt
  578. github.com/voltron42/testable/otto/impl
  579. github.com/vvelikodny/go-ethereum/jsre
  580. github.com/vvelikodny/go-ethereum/rpc
  581. github.com/vys/cbgb
  582. github.com/wdsgyj/Fergulator/nes
  583. github.com/wenkesj/go-server
  584. github.com/whatisgravity/go-ethereum/console
  585. github.com/whatisgravity/go-ethereum/internal/jsre
  586. github.com/wid/go-ethereum/jsre
  587. github.com/wid/go-ethereum/rpc
  588. github.com/wighawag/go-ethereum/jsre
  589. github.com/wighawag/go-ethereum/rpc
  590. github.com/williambailey/pacproxy
  591. github.com/wolfgarnet/otto/otto
  592. github.com/wolfgarnet/otto/repl
  593. github.com/wolfgarnet/otto/test
  594. github.com/writescript/writescript
  595. github.com/wudikua/cayley/query/gremlin
  596. github.com/wuub/feckless-octo-giggle
  597. github.com/xiezhenye/otto/otto
  598. github.com/xiezhenye/otto/repl
  599. github.com/xiezhenye/otto/test
  600. github.com/xtaci/otto/otto
  601. github.com/xuhaojun/dao
  602. github.com/xuhaojun/emission-otto
  603. github.com/yaslama/freegeoip
  604. github.com/yep/go-ethereum/console
  605. github.com/yep/go-ethereum/internal/jsre
  606. github.com/yobert/pkunk/vm
  607. github.com/yookoala/goreact
  608. github.com/yosisa/fluxion/plugin/filter-js
  609. github.com/yourheropaul/otto/otto
  610. github.com/yourheropaul/otto/repl
  611. github.com/yourheropaul/otto/test
  612. github.com/zenithar/aktarus/plugins
  613. github.com/zenithar/aktarus/utils
  614. github.com/zond/otto/otto
  615. github.com/zubairhamed/ttn/core/adapters/fields
  616. github.com/zupa-hu/otto/otto
  617. github.com/zupa-hu/otto/test
  618. gopkg.in/robertkrimen/otto.v0/otto
  619. gopkg.in/robertkrimen/otto.v0/repl
  620. gopkg.in/robertkrimen/otto.v0/test
  621. gopkg.in/webdb.v0

Imported only in test by 20 package(s)

  1. github.com/adriamb/goct
  2. github.com/altipla-consulting/soy
  3. github.com/altipla-consulting/soy/soyjs
  4. github.com/amassanet/goct
  5. github.com/amassanet/golang-ct
  6. github.com/flynn/json5
  7. github.com/hkparker/go-script-benchmark
  8. github.com/hochhaus/soy
  9. github.com/hochhaus/soy/soyjs
  10. github.com/libgo/soy
  11. github.com/libgo/soy/soyjs
  12. github.com/orktes/nodebas/interpreter
  13. github.com/robfig/soy
  14. github.com/robfig/soy/soyjs
  15. github.com/serulian/compiler/generator/es5
  16. github.com/shiaho/otto-package/numbers
  17. github.com/slvmnd/soy
  18. github.com/slvmnd/soy/soyjs
  19. github.com/stevegutz/soy
  20. github.com/stevegutz/soy/soyjs

Imports 6 package(s)

  1. github.com/robertkrimen/otto/token
  2. github.com/robertkrimen/otto/file
  3. github.com/robertkrimen/otto/registry
  4. github.com/robertkrimen/otto/ast
  5. github.com/robertkrimen/otto/dbg
  6. github.com/robertkrimen/otto/parser

Test imports 1 package(s)

  1. github.com/robertkrimen/otto/underscore