Giter Club home page Giter Club logo

Comments (7)

Torsten85 avatar Torsten85 commented on July 30, 2024 1

thanks @nksaraf , this looks promising... but I'm actually not sure how to use those hooks.

Maybe you could have a look at this demo repo: https://github.com/Torsten85/vinxi-hooks

Im trying to make a connection on startup (ideally before using a server function) and closing the connection on dev server reload. None of the hooks get called when I e.g. change a line in my ./app/db.ts file.

from vinxi.

nksaraf avatar nksaraf commented on July 30, 2024

Okay so we need hooks for startup, dev-server-reload, SIGTERM. Let me see how I can provide these. What do you mean by startup exactly?

from vinxi.

Torsten85 avatar Torsten85 commented on July 30, 2024

@nksaraf thanks for your quick answer!

I think a startup hook is not necessarry (at least for me) when it's not considered "bad practice" to simply execute code in the global scope of a file (e.g. establish a database connection).

My specific use case at the moment is a device that is connected to the server via a serial port. Before the dev server reloads, I have to disconnect the port so it's not busy when the script gets executed again.

I'm trying out the new solid start beta 2, but I think this is the repo where such functionality has to be implemented, right?

from vinxi.

nksaraf avatar nksaraf commented on July 30, 2024

Yup yup! Okay so a hook into when the dev server reloads, sure ill come up with something

from vinxi.

Torsten85 avatar Torsten85 commented on July 30, 2024

Great! Looking forward to what you come up with 😉 Thanks!

from vinxi.

katywings avatar katywings commented on July 30, 2024

I think a startup hook is not necessarry (at least for me)

Imho the startup/dispose hooks would be very useful, especially to handle long running processes like websockets 😅. And Reload could be an own hook, or even a chained dispose->startup call 🤔

from vinxi.

nksaraf avatar nksaraf commented on July 30, 2024

I have added some hooks to the dev server in vinxi:0.0.57. So you can hook into things by calling app.hooks.hook("...", () => {... }).

You can see the new hooks added here with what they include: https://github.com/nksaraf/vinxi/pull/61/files#diff-3a4ea6e82afa6f2244667633ca180235ba149da469920af7161255bbb11bb35a

You can checkout the order of hooks here. Each hooks also comes with some data like an instance of the app, along with the dev server, etc.

Screenshot 2023-12-29 at 12 56 56 AM

Inside your application you can access the app via globalThis.app. I might create a helper function for this but ideally don't want this exposed too much yet until we know what might people do with it.

from vinxi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.