#Tessel is programmed in JavaScript.
##JavaScript
Tessel is programmed in JavaScript, which automatically compiles to Lua when you run code on Tessel.
Tessel aims for full JavaScript compatibility, with the exception of eval()
. If you run into compilation error, please file an issue on our GitHub repo.
Documentation for the JavaScript programming language can be found here.
##Node Tessel is currently compatible with the most common and applicable core Node libraries. Most non-core libraries should also work however we don't yet support libraries with binary dependencies. If your module is not working, please file an issue!
Node library support is prioritized by which libraries are most relevant to Tessel usage. The target Node version is latest Node master.
Documentation for Node can be found here.
- buffer
- console
- console.dir not implemented yet
- console.time not implemented yet
- console.timeEnd not implemented yet
- console.trace not implemented yet
- console.assert not implemented yet
- crypto
- Most of the Node library is not yet supported. The methods that ARE implemented are:
- dgram
- Event:'listening' not implemented yet
- Event:'close' not implemented yet
- Event:'error' not implemented yet
- socket.address not implemented yet
- socket.setBroadcast not implemented yet
- socket.setTTL not implemented yet
- socket.setMulticastTTL not implemented yet
- socket.setMulticastLoopback not implemented yet
- socket.addMembership not implemented yet
- socket.dropMembership not implemented yet
- socket.unref not implemented yet
- socket.ref not implemented yet
- Most of the Node library is not yet supported. The method that IS implemented is: resolve
- Async and sync versions of file/directory permissions/owner related functions are not yet implemented (chown, fchown, lchown, chmod, fchmod, lchmod)
- Symlink related functions are not yet implemented (link, symlink, readlink, unlink)
- File/Directory watching related methods not supported (watchFile, unwatchFile, watch)
- Timestamp related functions not supported (utimes, futimes)
- fs — sdcard's fatfs instances
- Note that instances of this "module" come from sdcard getFilesystems option (or method call)
- fs.*Sync methods not implemented
- fs.rename not implemented yet
- fs.unlink not implemented yet
- fs.rmdir not implemented yet
- fs.watchFile not implemented yet
- fs.unwatchFile not implemented yet
- fs.watch not implemented yet
- Globals
- http / https
- response.setTimeout not implemented yet, #428
- sever.setTimeout not implemented yet, #428
- server.timeout not implemented yet, #428
- request.setTimeout not implemented well, #428
- request.setNoDelay not implemented yet, #428
- request.setSocketKeepAlive not implemented yet, #428
- Some socket options may not be possible to configure (at least on a per-connection basis) with the CC3000 drivers:
- socket.setNoDelay not implemented, #342
- socket.setKeepAlive not implemented, #342
- 'allowHalfOpen' socket/server option not implemented yet, #409
- 'fd' socket option not implemented
- These are dependent on currently missing runtime support, #266:
- server.unref not implemented yet
- server.ref not implemented yet
- socket.unref not implemented yet
- socket.ref not implemented yet
- These would be welcome contributions if they are needed by anyone:
- server.maxConnections not implemented yet, #341
- server.getConnections not implemented yet, #341
- socket.bufferSize not implemented yet, #339
- socket.bytesRead not implemented yet, #339
- socket.bytesWritten not implemented yet, #339
- Most of the process library is not yet supported. The methods that ARE implemented are:
- format not implemented yet
- debug not implemented yet
- error not implemented yet
- puts not implemented yet
- print not implemented yet
- log not implemented yet
- inspect not implemented yet
- isError not implemented yet
###Plan to support in the future:
###No plans to support:
##CoffeeScript Tessel plans to eventually support CoffeeScript.
(Tessel can currently run pre-compiled CoffeeScript into JavaScript.)