Quirrel hits v1 🥳
Simon Knott
Posted on January 4, 2021
A happy new year everyone! 🎉
I'm proud to announce: Quirrel goes to v1
.
The release comes with improvements all over the board.
Let's go through it!
TL;DR: There's improved cron jobs, clients for 5 new frameworks and the Quirrel UI now also can be used for monitoring deployments. Migrating to v1
Improved Cron Jobs
Cron Jobs have been a huge PITA:
I don't understand how and where I can register "good old cron jobs"?
~ every Quirrel user, ever
With v1
, they finally get a well-deserved make-over:
// pages/api/myCronJobRoute.ts
import { CronJob } from "quirrel/next";
export default CronJob(
"api/myCronJobRoute",
"5 4 * * *", // every day at 04:05
async () => {
// do something
}
);
That's it, that's everything you need to do.
Your local Quirrel instance will automatically pick it up:
This is implemented using filesystem watchers,
similarly to howtsc --watch
works.
For Deployments, running quirrel ci
once during build will register all detected Cron Jobs with your production Quirrel instance.
It will also remove obsolete ones.
Support for new Frameworks
After seeing tremendous interest in Quirrel among Next.js and Blitz.js users,
I'm adding support for 5 new frameworks:
-
Nuxt.js (
quirrel/nuxt
) -
Redwood (
quirrel/redwood
) -
Vercel Serverless Functions (
quirrel/vercel
) -
Express.js (
quirrel/express
) -
Connect (
quirrel/connect
)
If you have another framework in mind that you'd like a Quirrel client for, let me know! :)
Pre-v1, you had to install both
quirrel
and@quirrel/next
.
To ease maintenance, they were consolidated, so@quirrel/next
becomesquirrel/next
(notice the missing@
).Until now, Next.js users could omit the leading
api/
in their Queue's routes.
Going forward, that won't be possible anymore, to match behaviour with the other framework client.
Quirrel UI for Production
You've asked for it, so here it is: The Quirrel UI now supports connecting to non-local environments.
The connection dialog can be opened using a new dropdown in the top left:
It enables you to monitor & administrate any Quirrel deployment,
which has been a heavily requested feature.
I'm thinking about adding a "Open in UI" button to the Quirrel Dashboard.
Let me know if that'd be helpful for you.
Why this release was chosen for v1
The previous state of Cron Jobs really nagged on me.
Although they played an integral part to my initial vision for Quirrel,
I struggled to find an easy-to-use design for a long time.1
Over the course of mutliple brainstorming sessions with some of you (thank you ❤️), we managed to find a good solution.
With those improved Cron Jobs shipping in v1, I'm finally content with Quirrel's feature set.
Moving to v1 also means "going stable".
This is a big step, because we have to maintain that API for the foreseeable future.
Judging by the feedback I received, the current API is well-designed and fit for its task,
giving me the confidence to commit to it.
Thank you.
Since Quirrel's inception in Q3 last year, I've received amazing support from all of you. Thank you ❤️
If you've put in the time to brainstorm with me: Thank you x2 ❤️ Your input has been incredibly valuable for Quirrel.
As you know, I want to create the best developer experience possible.
If there's anything that detracts from it, please let me know! :D
To migrate your application to v1
, follow this Guide: Migrating to v1
I'm looking forward to your feedback!
All the best for 2021,
Simon
-
CronJobs come with their special set of problems, primarily caused by serverless environments running forever. HMU if you want to read/hear more about that :D ↩
Posted on January 4, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.