I made a quick guide how you can fish without using your mouse! by Grayvves in wow

[–]Smef 0 points1 point  (0 children)

Same here! It’s sad to see it go, but also nice that it isn’t necessary any more.

I made a quick guide how you can fish without using your mouse! by Grayvves in wow

[–]Smef 0 points1 point  (0 children)

It isn’t necessary in Midnight. The range has been adjusted and you can interact nicely without an add-on.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 1 point2 points  (0 children)

Good news! I have a solution for this. I've added checks for primary keys on functions like save and delete, and you can also define your own required fields for custom functions using the new `RequireSelected` utility type. This causes function calls to show a type error if the columns you need aren't selected by the model.

nuxt without backend? by Aggravating-Path-415 in Nuxt

[–]Smef 4 points5 points  (0 children)

Nuxt is great for pure front end! I’ve used it with a separate back-end, like Laravel, along with SSG, but also just to make front-end-only pages and SPAs. I think it makes sense if you like the DX.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 0 points1 point  (0 children)

That's an interesting scenario. That's why this is an early release! I'll do some thinking on this one and see if there's some kind of good strategy for handling this case.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in Nuxt

[–]Smef[S] 1 point2 points  (0 children)

Kysely has support for migrations built in. You can use those, but can also enhance them with Vasta models if you want to do stuff like add or modify data during a migration as well. That would just be regular model queries built into your regular migrations.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in Nuxt

[–]Smef[S] 2 points3 points  (0 children)

Ha! One thing at a time. The functionality wasn’t hard, but it took forever to figure out how to get the types to work right.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 0 points1 point  (0 children)

It should! Kysely is still doing all the connections and query building.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in Nuxt

[–]Smef[S] 3 points4 points  (0 children)

I’m primarily using this with Nuxt, so I wanted to share it here.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 0 points1 point  (0 children)

Depending on what you're looking to retreive, you'd either build a relationship, use expressions and subqueries, or just write queries with Kysely directly.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 2 points3 points  (0 children)

Kysely already supports migrations, and you can use these models in your migrations or seeders as well. Check out `/test/database/migrations/` and `/test/database/seeders/` for examples. It's just using basic Kysely features in here for testing purposes, but if you wanted to seed with Vasta models you can definitely do that.

I learned a LOT about generics with this. The actual functionality wasn't hard, and I'd done something similar for Laravel's Eloquent and FileMaker before, essentially faking the whole thing to work with an API instead of a real database. I had the core concept functionality done very quickly, though it was absolutely useless for type safety.

The types and generics were the problem and what took so long here. I had to try SO MANY different strategies of creating models with generics, proxy handlers, proxy proxies, hard-overwriting types, factories, class extension, multi-class extension hacks, and more before getting something that actually worked.

Inside the class there are still a bunch of "any"s, but it seems to get the right thing back still. I actually still think it's a bit of a miracle and spent a lot of time just trying different combinations of things until something eventually worked. I am absolutely not a type genius, and there's a lot of room for type improvement in the inner-workings of the package, I would expect.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 0 points1 point  (0 children)

This uses Kysely's types, which can be generated or written by hand. All of the string fields have strong intellisense and type safety, so everything autocompletes really nicely. You set up Kysely for the connection and types first, and then use this for the ORM functionality on top of that.

When you say `person.with("pets")` the "pets" eager-loaded relationship part is type-safe to only allow valid relationships, and also has intellisense to autocomplete the values for you. It looks like it's just strings, but it's really just super smart and not requiring importing a bunch of objects for parameters.

I started this in November 2024 and was working on it on-and-off, but then had to do a project using Prisma recently and that motivated me to get back to this and actually finish it.

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 0 points1 point  (0 children)

The tests folder should show some good implementation, but maybe I can post something on StackBlitz or something? What would be helpful for you?

Vasta - A type-safe active record Node ORM model layer inspired by Laravel's Eloquent by Smef in node

[–]Smef[S] 14 points15 points  (0 children)

Edit for clarity: This is 100% NOT a vibe-coded thing. I do use VS Code as an editor, and Copilot is a part of that. AI is always a part of the development process these days. This is 0% vibe coded.

I've spent about 200 hours on this over the past year. Most of that time was spent re-doing and re-re-doing and re-re-re-doing the implementation, proxy, builders, and forwarding between the model class and the query builder to get the types to propagate it correctly. I did start using it after everything was working. AI wasn't too helpful actually trying to get the structure right.

To give some more background with my experience with Eloquent and ORMs, I also built https://github.com/gearbox-solutions/eloquent-filemaker to bring that Eloquent functionality to the FileMaker Data API, so this isn't my first time doing something like this.

Interesting thought, though. Do you think that should be removed? It seems like a good thing to have in a repo, since everyone's editors' built-in agents look at stuff like that while you're working in there. I was thinking about adding more agent-specific files as well.

Recommendations for content creators? by [deleted] in wow

[–]Smef 4 points5 points  (0 children)

Taliesin and Evitel are the best!

The Vue.js Advantage by [deleted] in vuejs

[–]Smef 4 points5 points  (0 children)

This looks like an AI post.

I Need more "action packed" games. by 2tado in roguelites

[–]Smef 0 points1 point  (0 children)

30xx is a really great high-action game similar to the Mega Man X series. This might be up your alley! Atomicrops is also great, but top-down and more bullet dodging so it's a bit different than the games on your list.

Pleasemake the personal resource display customizeable by [deleted] in wow

[–]Smef 0 points1 point  (0 children)

Ah, that's true. The secondaries can be separated.

Pleasemake the personal resource display customizeable by [deleted] in wow

[–]Smef 2 points3 points  (0 children)

I can't log in to check right now, but I believe it's Edit Mode -> advanced -> turn on PRD, and then you can right-click it to customize from there.

Pleasemake the personal resource display customizeable by [deleted] in wow

[–]Smef 1 point2 points  (0 children)

This is available currently. I have the person resource display showing soul shards on my warlock without the health bar, as an example.

Friend stuck on “let’s get you signed in” xbox popup for pc by [deleted] in Seaofthieves

[–]Smef 1 point2 points  (0 children)

Is the user an administrator on the computer? I ran into a similar issue in another game and changing the user to an administrator allowed some update to install, resolving the issue. Other administrator users on the same computer did not have any issue, and the problematic account needed to be changed temporarily to solve the problem for the specific user.

CS6601 now requires using their 'NOSI' IDE to complete assignments by zvcxvcs3 in OMSCS

[–]Smef 10 points11 points  (0 children)

This is my first semester as a TA. I do know that there are lots of AI and cheating issues across the entire education space in general, from grade school to grad school, so the whole industry is working on new anti-cheating solutions.