Comments (7)
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.
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.
@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.
Yup yup! Okay so a hook into when the dev server reloads, sure ill come up with something
from vinxi.
Great! Looking forward to what you come up with 😉 Thanks!
from vinxi.
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.
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.
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)
- Outer variables referenced inside "use server" get treeshaken away. HOT 4
- build continues after failure
- use with vite-env-only HOT 2
- How do I attach a debugger to a process running in `vinxi`? HOT 1
- Add mode flag HOT 1
- [Feature] ability to load multiple featureApps from separate host/sub-domain HOT 2
- exporting a `class` from `"use server"` results in a compile error. HOT 1
- Missing types for `https` object in `server` section. HOT 2
- Imports that should be server-only aren't removed in dev if `verbatimModuleSyntax: true`
- How to add instrumentation to vinxi powered app? HOT 1
- [Proposal] Bundle config file to some outdir
- [BUGS] Styles in prod are injected twice and have wrong order HOT 39
- Extra ./node_modules/ folder created just for .vinxi
- Unable to load static assets in AWS Lambda HOT 2
- Assets incorrectly loaded from unrelated page HOT 1
- Breaking bug in CSS handling in 0.13.3 HOT 3
- The function findAssetsInViteManifest can slow down SSR significantly HOT 11
- Consider adding a README.md to the main `vinxi` package HOT 2
- Some bug in Vite < 5.3.2 or lightnin/sass/... causes parsing exception during prod build
- WebSocket with fs router support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vinxi.