About

Hello there ! I'm Guillaume Vailland (Tyren), a humble typescript developer from Nantes, France.

I really do enjoy SQL and its vocabulary : with Hélice, I only intend to ease query writing, not to replace SQL. I develop and maintain it on my own as a key package across my work, so support and contributions are very welcome.

“Hélice”, pronounced ay-lees, is French for mechanical propeller, which looks a bit like a q and a b of query builder stacked on top of each other.

My other work

Mousse

A typed Node.js framework built on top of µWebSockets, for HTTP, WebSockets and Server-Sent Events, with Standard Schema validation, rate limiting and documentation generation.

new Mousse()
	.get('/users/:id', (c) => ({ id: c.param('id') }))
	.sse('/events', (c) => c.send('welcome'))
	.listen(3000);

In French, mousse is soap foam : thousands of bubbles, the requests.

Discover Mousse Tyrenn/mousse

Contributing

Bug reports, ideas, pull requests, anything really. The simplest contribution is to test Hélice and open issues. For code contributions:

  1. Fork the repository and create a branch from main.
    git clone https://github.com/<you>/helice
    cd helice && pnpm install
    git checkout -b my-change
  2. Make your change, with tests in packages/helice/tests. Then check everything locally.
    pnpm build && pnpm check-types && pnpm test
  3. Record a user-facing change with a changeset. It describes the change and the version bump it deserves, and ends up in the changelog. Answer the prompts, then commit the generated .changeset/*.md file with your change.
    pnpm changeset
  4. Open a pull request against main. CI runs the build, the types and the tests.