Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1 day ago. link 1 point
Just thought this was pretty nifty and that I'd share... I already thought of Deno as one of the better bundling experiences, now you get it for Desktop-class web-apps using the platform's native web-view (similar to Tauri), wouldn't be surprised if it was Tauri under the covers considering Deno and Tauri are both Rust based.
tracker1 16 days ago. link 1 point
Basically YAGNI... but slightly over-inflated complaint in context.  It's a large reason to suffix promise returning functions with "Async" as well as, when shimming async funcitons, just return Promise.resolve(value) if your intent is to actually replace async.  Will also inject an await delay(1) inside such methods to force the intent.

const delay = (ms:number) => new Promise(r => setTimeout(r, ms));
tracker1 16 days ago. link 1 point
"Release" is there, but there's no code in the repository... high likelihood of malware/virus.
tracker1 22 days ago. link 1 point
Needs somw work... template strings are in JS, and the use of zod example should probably mention the library.  Similar for the call at the end, give a zod validated example.

I may add methods like...

    User.fromJSON = (json:string): User {
      // parse
      // validate or throw
      // return User
    }

For clearer data handling from untrusted sources.  Using a FE/BE shared definitions and validation library even.
tracker1 29 days ago. link 1 point
It's a simple state machine, which seems okay... not sure why one would practically choose this library over say Zustand.
tracker1 33 days ago. link 1 point
I'm not quite sure I get the point... Node, Bun and Deno all support executing typescript directly in current versions.
tracker1 33 days ago. link 1 point
Still kinda cool... I've thought about using a similar approach to using a server-side state machine, where each node simply gets the diffs via wss.  This way a centralized state machine can be used for interactive games, training courses, etc... without directly exposing the state transition logic, only the result stream and a validated input path.
tracker1 40 days ago. link 1 point
Lately I just use docker compose with caddy, and have each sub-app running in .watch mode against the source directory.

This does work too though, and if you're in control of the full codebase and don't have other local dependencies (database, redis, etc), then this may be better.

Source is linked from the article towards the bottom.
[more]