{"id":9761,"date":"2024-03-25T11:30:24","date_gmt":"2024-03-25T11:30:24","guid":{"rendered":"https:\/\/www.bairesdev.com\/tools\/tessel\/?p=9761"},"modified":"2024-05-09T11:05:58","modified_gmt":"2024-05-09T11:05:58","slug":"supported-languages","status":"publish","type":"post","link":"https:\/\/www.bairesdev.com\/tools\/tessel\/docs\/supported-languages\/","title":{"rendered":"Supported languages"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_66_1 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.bairesdev.com\/tools\/tessel\/docs\/supported-languages\/#JavaScriptNodejs\" title=\"JavaScript\/Node.js\">JavaScript\/Node.js<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.bairesdev.com\/tools\/tessel\/docs\/supported-languages\/#Binary_modules\" title=\"Binary modules\">Binary modules<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.bairesdev.com\/tools\/tessel\/docs\/supported-languages\/#Rust_work_in_progress\" title=\"Rust (work in progress)\">Rust (work in progress)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.bairesdev.com\/tools\/tessel\/docs\/supported-languages\/#How_to_add_support_for_more_languages\" title=\"How to add support for more languages\">How to add support for more languages<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"javascriptnodejs\"><span class=\"ez-toc-section\" id=\"JavaScriptNodejs\"><\/span>JavaScript\/Node.js<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Tessel 2 has full support for JavaScript and Node.js (LTS versions). The relevant repos can be found here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/tessel\/t2-firmware\" target=\"_blank\" rel=\"noreferrer noopener\">Firmware support for JavaScript\/Node<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/tessel\/t2-cli\/blob\/master\/lib\/tessel\/deployment\/javascript.js\" target=\"_blank\" rel=\"noreferrer noopener\">CLI support for JavaScript\/Node<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"binary-modules\"><span class=\"ez-toc-section\" id=\"Binary_modules\"><\/span>Binary modules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>There is support for precompiled binary modules on Tessel 2. The best way to find out whether the module you want is available is to try deploying it. The module has been precompiled, it will just work!<\/p>\n\n\n\n<p>For modules that have not been precompiled, you will see an error message explaining why it cannot be loaded:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pre-compiled module is missing: {name of module}.\nThis might be caused by any of the following:\n 1. The binary is platform specific and cannot be compiled for OpenWRT.\n 2. A pre-compiled binary has not yet been generated for this module.\n 3. The binary didn't compile correctly for the platform that you're developing on.\n    It's possible that the binary is Linux-only or even OpenWRT specific,\n    try npm installing with \"--force\" and rerun your deployment command.\nPlease file an issue at https:\/\/github.com\/tessel\/t2-cli\/issues\/new\n<\/code><\/pre>\n\n\n\n<p>Submit an issue and we will look into precompiling it. Our precompilation server lives in the\u00a0<a href=\"http:\/\/github.com\/tessel\/t2-compiler\" target=\"_blank\" rel=\"noreferrer noopener\"><code>t2-compiler<\/code>\u00a0repo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rust-work-in-progress\"><span class=\"ez-toc-section\" id=\"Rust_work_in_progress\"><\/span>Rust (work in progress)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The Tessel team is working toward first-class support for Rust. If you&#8217;re interested in the state of that project, check out the\u00a0<a href=\"https:\/\/github.com\/tessel\/rust-tessel\" target=\"_blank\" rel=\"noreferrer noopener\">tessel-rust repo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-add-support-for-more-languages\"><span class=\"ez-toc-section\" id=\"How_to_add_support_for_more_languages\"><\/span>How to add support for more languages<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Interested in adding support for a new language to Tessel 2&#8217;s\u00a0CLI? Here is a detailed blog post on the six components you will need:\u00a0Interfacing with the Language Plugin API for Tessel 2<\/p>\n\n\n\n<p>(It is worth noting that\u00a0<a href=\"https:\/\/github.com\/tcr\/tessel-python\" target=\"_blank\" rel=\"noreferrer noopener\">support of Python for Tessel 2<\/a>\u00a0was originally planned, but is no longer in active development.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript\/Node.js Tessel 2 has full support for JavaScript and Node.js (LTS versions). The relevant repos can be found here: Binary modules There is support for precompiled binary modules on Tessel 2. The best way to find out whether the module you want is available is to try deploying it. The module has been precompiled, it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57,4],"tags":[],"class_list":["post-9761","post","type-post","status-publish","format-standard","hentry","category-api","category-docs"],"_links":{"self":[{"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/posts\/9761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/comments?post=9761"}],"version-history":[{"count":2,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/posts\/9761\/revisions"}],"predecessor-version":[{"id":10103,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/posts\/9761\/revisions\/10103"}],"wp:attachment":[{"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/media?parent=9761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/categories?post=9761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bairesdev.com\/tools\/tessel\/wp-json\/wp\/v2\/tags?post=9761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}