Open Source

This page lists some of the open source packages and repositories I have published or contribute to.

Most of them are published under my company 47ng.

Frontend

My tech stack of choice for server-rendered React apps is Next.js and TailwindCSS.

For client-heavy apps, I like to use Chakra-UI to quickly build beautiful and accessible interfaces.

Because of its CSS-in-JS approach, it’s a bit awkward to use with the new Next.js app router and server components, so I’m now letting Tailwind deal with styling. ChatGPT makes a perfect companion for refactoring one into the other anyway. 😄

Avatar for GitHub account 47ng47ng/next-usequerystate

9.6K
6.3M
2.8.4
MIT

Type-safe search params state manager for React frameworks - Like useState, but stored in the URL query string.

$ pnpm add next-usequerystate
$ yarn add next-usequerystate
$ npm install next-usequerystate

Version rolloutLast week

1.20.0
19K (45%)
1.17.1
9.1K (21%)
1.19.3
4.2K (10%)
1.7.2
3.9K (09%)
1.7.3
2.8K (07%)
1.17.8
1.5K (04%)
7,20710 Nov6,95611 Nov6,64612 Nov7,18413 Nov5,96914 Nov1,50915 Nov1,31216 Nov6,19217 Nov6,67218 Nov7,24619 Nov7,65720 Nov6,66021 Nov1,66322 Nov97323 Nov6,84224 Nov6,73225 Nov7,64626 Nov4,68327 Nov4,46228 Nov1,19629 Nov1,09030 Nov5,02901 Dec8,35302 Dec7,96403 Dec9,71504 Dec7,55505 Dec1,46606 Dec1,17407 Dec6,31308 Dec009 Dec154,066Last 30 days

Avatar for GitHub account 47ng47ng/nuqs

9.6K
38M
2.8.4
MIT

Type-safe search params state manager for React frameworks - Like useState, but stored in the URL query string.

$ pnpm add nuqs
$ yarn add nuqs
$ npm install nuqs

Version rolloutLast week

2.4.3
252K (20%)
2.8.2
161K (13%)
2.7.2
117K (09%)
2.8.1
116K (09%)
2.8.3
98K (08%)
2.6.0
78K (06%)
181,92710 Nov169,36511 Nov187,71912 Nov186,55113 Nov170,43414 Nov44,71315 Nov49,63616 Nov186,19317 Nov197,96318 Nov216,40019 Nov201,35520 Nov177,54621 Nov49,28822 Nov46,69323 Nov188,46524 Nov206,82125 Nov201,00026 Nov156,49227 Nov131,05228 Nov42,06029 Nov50,30130 Nov199,16601 Dec218,76702 Dec227,94303 Dec245,83804 Dec209,85005 Dec67,14506 Dec68,68107 Dec233,89508 Dec009 Dec4,513,259Last 30 days

Backend

I like to use Fastify to build backend services in Node.js.

What I like about it:

Avatar for GitHub account 47ng47ng/fastify-micro

46
15K
3.1.1
MIT

Opinionated Node.js microservices framework built on Fastify ⚡️

$ pnpm add fastify-micro
$ yarn add fastify-micro
$ npm install fastify-micro

Version rolloutLast week

3.1.1
2 (50%)
4.0.0-beta.4
1 (25%)
4.0.0-beta.7
1 (25%)
810 Nov211 Nov212 Nov513 Nov214 Nov115 Nov016 Nov1617 Nov3418 Nov519 Nov320 Nov021 Nov522 Nov723 Nov624 Nov125 Nov426 Nov327 Nov928 Nov029 Nov030 Nov001 Dec002 Dec003 Dec104 Dec105 Dec106 Dec107 Dec008 Dec009 Dec117Last 30 days

Avatar for GitHub account 47ng47ng/fastify-cron

50
949K
1.4.0
MIT

Run cron jobs alongside your Fastify server 👷

$ pnpm add fastify-cron
$ yarn add fastify-cron
$ npm install fastify-cron

Version rolloutLast week

1.4.0
4.4K (66%)
1.3.0
1.3K (20%)
1.3.1
888 (13%)
1.1.2
11 (00%)
1.2.0
6 (00%)
1,23710 Nov1,13511 Nov1,24412 Nov1,02213 Nov1,02314 Nov14715 Nov9916 Nov92817 Nov1,12818 Nov1,22719 Nov1,35020 Nov1,20521 Nov15122 Nov14623 Nov1,03524 Nov1,03225 Nov1,11826 Nov83527 Nov76828 Nov11829 Nov16830 Nov1,30401 Dec1,33802 Dec1,25303 Dec1,46804 Dec1,14805 Dec17306 Dec16807 Dec1,07408 Dec009 Dec25,042Last 30 days

47ng/actions-clever-cloud

GitHub Action to deploy to Clever Cloud

Security & Encryption

Avatar for GitHub account 47ng47ng/session-keystore

79
50K
1.0.3
MIT

Secure cryptographic key storage in the browser and Node.js

$ pnpm add session-keystore
$ yarn add session-keystore
$ npm install session-keystore

Version rolloutLast week

1.0.3
82 (99%)
0.6.0
1 (01%)
410 Nov1311 Nov2712 Nov813 Nov1114 Nov515 Nov716 Nov1417 Nov1618 Nov2419 Nov1420 Nov1221 Nov622 Nov923 Nov1424 Nov825 Nov3626 Nov627 Nov328 Nov129 Nov230 Nov1401 Dec2202 Dec2903 Dec1604 Dec405 Dec106 Dec107 Dec1008 Dec009 Dec337Last 30 days

I wrote an article about how I came to build session-keystore:

Avatar for GitHub account 47ng47ng/cloak

64
2.2M
1.2.0
MIT

Serialized AES-GCM 256 encryption, decryption and key management in the browser & Node.js

$ pnpm add @47ng/cloak
$ yarn add @47ng/cloak
$ npm install @47ng/cloak

Version rolloutLast week

1.2.0
35K (91%)
1.1.0
3.5K (09%)
1.1.0-beta.2
3 (00%)
0.15.1
1 (00%)
1.2.0-beta.1
1 (00%)
4,65810 Nov5,09011 Nov5,62112 Nov5,97213 Nov5,51414 Nov1,42315 Nov1,42416 Nov4,82417 Nov5,75618 Nov6,02319 Nov5,78120 Nov5,36521 Nov1,30222 Nov1,40923 Nov5,72924 Nov6,59625 Nov5,59526 Nov4,05427 Nov3,23328 Nov1,15629 Nov1,22630 Nov6,48201 Dec6,88702 Dec7,20203 Dec7,38904 Dec5,70305 Dec1,70106 Dec2,43907 Dec7,28208 Dec009 Dec132,836Last 30 days

SocialGouv/e2esdk

SDK to build end-to-end encrypted web applications

Environment Variables

The Twelve Factor App model uses environment variables extensively for configuration and passing runtime data to a web app.

However, there are things to look out for when working with environment variables, so I built a few packages to make their management easier and more secure:

Avatar for GitHub account 47ng47ng/redact-env

6
1.2M
1.0.0
MIT

Redact values of critical environment variables in a string

$ pnpm add redact-env
$ yarn add redact-env
$ npm install redact-env

Version rolloutLast week

0.2.0
1.3K (99%)
1.0.0
8 (01%)
21710 Nov19911 Nov17812 Nov14313 Nov21314 Nov3515 Nov15416 Nov26417 Nov35218 Nov19819 Nov13820 Nov14821 Nov4922 Nov12023 Nov15724 Nov58725 Nov26626 Nov31827 Nov26928 Nov17029 Nov15330 Nov55101 Dec17902 Dec20503 Dec18904 Dec23505 Dec13506 Dec14207 Dec24808 Dec009 Dec6,212Last 30 days

Avatar for GitHub account 47ng47ng/env-alias

3
5.7K
2.0.0
MIT

Define aliases for environment variables and bind them at runtime

$ pnpm add env-alias
$ yarn add env-alias
$ npm install env-alias

Version rolloutLast week

1.0.0
1 (50%)
2.0.0
1 (50%)
010 Nov211 Nov112 Nov013 Nov014 Nov015 Nov016 Nov017 Nov018 Nov019 Nov020 Nov121 Nov022 Nov123 Nov224 Nov125 Nov326 Nov527 Nov228 Nov029 Nov130 Nov001 Dec002 Dec103 Dec004 Dec105 Dec006 Dec007 Dec008 Dec009 Dec21Last 30 days

Avatar for GitHub account 47ng47ng/check-env

23
139K
3.0.0
MIT

Check that required environment variables are set for your app

$ pnpm add @47ng/check-env
$ yarn add @47ng/check-env
$ npm install @47ng/check-env

Version rolloutLast week

3.0.0
119 (49%)
2.1.1
104 (43%)
2.1.0
17 (07%)
2.0.1
1 (00%)
5710 Nov8711 Nov1112 Nov1213 Nov1314 Nov415 Nov016 Nov1317 Nov2418 Nov8119 Nov3220 Nov3821 Nov822 Nov1223 Nov2024 Nov4125 Nov13226 Nov5327 Nov2728 Nov3829 Nov230 Nov3501 Dec1702 Dec1503 Dec6704 Dec4505 Dec2706 Dec707 Dec6308 Dec009 Dec981Last 30 days

Miscellaneous

Avatar for GitHub account 47ng47ng/codec

6
2.3M
1.1.0
MIT

Universal conversion of Uint8Array from/into UTF-8, base64url and hex in the browser and Node.js

$ pnpm add @47ng/codec
$ yarn add @47ng/codec
$ npm install @47ng/codec

Version rolloutLast week

1.1.0
38K (100%)
1.0.1
9 (00%)
0.5.0
2 (00%)
0.3.1
1 (00%)
1.0.0
1 (00%)
4,66310 Nov5,08511 Nov5,54212 Nov5,92313 Nov5,49114 Nov1,42315 Nov1,41916 Nov4,80917 Nov5,77418 Nov5,95719 Nov5,80820 Nov5,32521 Nov1,28622 Nov1,41623 Nov5,78024 Nov6,52925 Nov5,57926 Nov4,06227 Nov3,25728 Nov1,24929 Nov1,22230 Nov6,47801 Dec6,93602 Dec7,12003 Dec7,21704 Dec5,65205 Dec1,69906 Dec2,44307 Dec7,25608 Dec009 Dec132,400Last 30 days

My longest-running open-source project is the Arduino MIDI Library. I learned programming in C++ in 2008 with this project and discovered my passion for open-source software.

FortySevenEffects/arduino_midi_library

MIDI for Arduino

The source code for this website! Made with Next.js, TailwindCSS and MDX.

franky47/francoisbest.com

Homepage & blog