I'm guessing it's the older engine... it's using ScriptControl which is part of the older .Net Framework (before Core) and seems to interact with the very old CScript ActiveScript runtime engine. It's all COM based, and from what I recall, from Classic ASP days, very ugly to work with.
I'd expected it to be using something newer, akin to what Tauri is doing in Rust. It looks like Blazor Desktop/Hybrid or Electron.Net is a more appropriate target in the space, but still very different from even what Tauri offers.
I'd suggest biting the bullet and learning just enough rust to wire up tauri if you want something like this without the baggage that electron brings.
Came across this today, and thought it was nifty... would be cool if it had a more feature-rich set of language support though. Still aa nice example of what can be done with custom elements.
Interesting example... not sure I'd use it for production as-is... Should really add in some authentication bits (jwt from an auth provider, etc).
Would also be beneficial to wrap a logging service with request/response details and a correlation id with all requests in/out from various service busses. My own tactic is usually newline delimited (\n) JSON to stdout, then you can have a sidecar slurping the logs into an aggregator service for metrics, etc.
Last would be some functional unit testing around some of the core logic bits. Fortunately, with dependency overrides in JS, you don't need to adopt a convoluted DI/IoC system in order to do this.
IMO, hand migration scripts are the single best way to manage schema changes with the database. Some tools will allow separate directories for lists of stored procedures, functions etc. Separate from schema/migration scripts.
With numbered migrations, you are much less likely to experience issues managing an application that is deployed into many environments.
Worth looking into, though not JS specifically is the Dotnet tool "Grate", which is a successor to RoundhousE. The cross db support is very good. If anyone knows of a comparable project for Node/Deno, would be happy to see/hear it. For that matter, it might be interesting to see something in a single executable in Go or Rust. But so far Grate is about the best option I've found.
- https://github.com/erikbra/grate
Avoid recursion in JS, it will end ugly...
function fibonacci(n) {
let nums = [0,1];
for (let i=1; i<n; i++) {
nums = [nums[1], nums[0] + nums[1]];
}
return nums[1];
}
Haven't plated with it, but it looks interesting. Not sure how far it will get used in practice or if/how any node support is... doesn't seem to have any.
Avoid recursion in JS, it will end ugly... function fibonacci(n) { let nums = [0,1]; for (let i=1; i<n; i++) { nums = [nums[1], nums[0] + nums[1]]; } return nums[1]; }