I think it's probably best if someone less biased provides their feedback, but:
Your biggest issue will be that you're developing for a fundamentally different device with a lot less memory. Your Pi probably has ~1,000,000,000 bytes of RAM, but the Pico has just 100,000.
You can't realistically use NPM. There's an option in the Web IDE that half works, but every single Node.js package I've tried to use depends on so many other packages it fills up all the memory immediately
You don't need node-serialport, because there's a built-in Serial1/2 object. Just use on('data',..) and write/print/println
It's very unlikely you'll be able to use the socket.io library as it'll be too big - but that's not to say you can't use websockets via Espruino's ws library.
The latest builds support Template literals, Arrow functions and Promises - but not much else from ES6. You'll want to use one of the 'cutting edge' builds though as even 1v89 had some slight issues with the Promise implementation.
Not all of ES5 is supported (for instance no unicode), but on the whole pretty much all the JS people use on a daily basis is there
If you need WiFi you'll probably want an Espruino Wifi board. You can add an ESP8266 to a Pico but it'll involve some relatively fine soldering which you may want to steer clear of at first.
Basically, if you just write JS code and use the modules that are available for Espruino (which tend to be quite memory efficient) then everything will be great. If you expect to use a module for everything rather than just using the standard API functions then you'll probably be disappointed.
Espruino isn't a Raspberry Pi - you need to think of it more like an Arduino for JS devs. You get really low power consumption, <0.1s boot time that always powers on in the same state and a small size - but there are some compromises (but far less than if you had to write C on an Arduino!)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I think it's probably best if someone less biased provides their feedback, but:
Serial1/2
object. Just useon('data',..)
andwrite/print/println
socket.io
library as it'll be too big - but that's not to say you can't use websockets via Espruino'sws
library.Basically, if you just write JS code and use the modules that are available for Espruino (which tend to be quite memory efficient) then everything will be great. If you expect to use a module for everything rather than just using the standard API functions then you'll probably be disappointed.
Espruino isn't a Raspberry Pi - you need to think of it more like an Arduino for JS devs. You get really low power consumption, <0.1s boot time that always powers on in the same state and a small size - but there are some compromises (but far less than if you had to write C on an Arduino!)