[HN Gopher] Running TypeScript on ESP8266/ESP32 Devices
       ___________________________________________________________________
        
       Running TypeScript on ESP8266/ESP32 Devices
        
       Author : skittleson
       Score  : 14 points
       Date   : 2022-03-03 20:32 UTC (2 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | ge96 wrote:
       | Coming from web I do find it brutal transitioning to C++ so it
       | sounds interesting
        
       | connicpu wrote:
       | I'm curious and couldn't find the info from a quick search of the
       | repo, how much flash space does the JS virtual machine take up?
       | And how much space is left to include libraries you may need?
       | 
       | Between the Arduino runtime, wifi library, mqtt library,
       | libraries for talking to peripherals, and my C++ application code
       | I'm already getting pretty close to the 512KiB limit for an
       | ESP8266-based thermostat I've been working on. Hard to imagine JS
       | being small enough to fit on that, but perhaps it's designed for
       | embedded chips with a bit more flash space available
        
         | thamer wrote:
         | I can't speak for a JS virtual machine, but for a point of
         | comparison CircuitPython[1] runs on many ESP32 boards and
         | builds are often under 1.5 MB. It does come with a whole set of
         | modules, from the ones you'd expect to have in Python like "re"
         | or "time" (although they only have a few functions in there),
         | but also CircuitPython-specific modules like "board" or
         | "digitalio" to access peripherals, and "wifi" for networking.
         | 
         | The boards listed on the CircuitPython downloads page usually
         | have between 2 and 8 MB of flash, so you often have enough for
         | the VM and your own code plus a few files.
         | 
         | [1] https://circuitpython.org/
        
         | __ryan__ wrote:
         | This makes use of a JS interpreter made for embedded devices:
         | Espruino
         | 
         | More details in the Espruino repo:
         | https://github.com/espruino/Espruino
        
       | CharlesW wrote:
       | > _Transpile TypeScript to Espruino flavor of JavaScript_
       | 
       | What are the benefits of doing this vs. using a runtime (like
       | Moddable's XS) that supports ECMAScript 2018?
        
         | skittleson wrote:
         | The primary goal is to add TypeScript for types and
         | abstractions. I dont think the JS runtime the TypeScript
         | transpiler targets matters as long as it can be transpiled to
         | the current version. I wasnt aware of that project but now I
         | will look into it.
        
       ___________________________________________________________________
       (page generated 2022-03-03 23:00 UTC)