Fastify migration?
Yes, yes. A webshit moth being drawn by "le new shiny web framework"! But I'm interested less in the "fast" part and more in the "not abandoned for years" part, plus the extensibility (expressjs assumes a lot about how you handle requests) and the OpenAPI schema-based approach. I've just been noticing a lot of digital dust on default express behaviour & middlewares and it's low key triggering me.
Probably gonna have to lump this into a major version bump to be safe.
Stuf
https://github.com/fastify/fastify https://github.com/fastify/fastify-cli (to not have to write disgusting app.js and bin/www) https://github.com/hemerajs/fastify-graceful-shutdown (again, bin/www shit handled from the CLI)
https://github.com/fastify/fastify-autoload ("free" autoload plugins, no need to compose everything myself) https://github.com/yonathan06/fastify-now ("free" file-based routing, again no need to compose everything myself) https://github.com/fastify/fastify-swagger ("free" OpenAPI files, esp. when paired with objection model schemas)
https://github.com/fastify/fast-json-stringify (I'm not sure if this is the "default" JSON serializer, but regardless it should integrate well) https://github.com/fastify/secure-json-parse (again, not sure if this is the "default" JSON parser, but regardless it is a no brainer)
https://github.com/fastify/fastify-cookie
https://github.com/fastify/session
https://github.com/fastify/fastify-formbody (better "built-in" middlewares than express or koa)
https://github.com/fastify/fastify-multipart
https://github.com/fastify/fastify-etag (it's not "in" by default!)
https://github.com/fastify/fastify-csrf
https://github.com/fastify/fastify-helmet
https://github.com/fastify/fastify-sensible (nice utils)
https://github.com/fastify/fastify-env or https://github.com/fastify/env-schema (for environment variables, I guess? but limited to fastify & doesn't load .env.$NODE_ENV(.local))
https://github.com/nucleode/arecibo (to automatically close #522 and get healthcheck endpoints for "free") https://github.com/tomsvogel/fastify-https-redirect (because some people are inevitably going to deploy this to an environment that doesn't auto-redirect) https://github.com/jsumners/fastify-no-icon (good god, why isn't this the default?) https://github.com/greguz/fastify-no-additional-properties (ditto) https://github.com/MetCoder95/fastify-get-head (ditto, also lol) https://github.com/Eomm/fastify-405 https://github.com/fastify/fastify-routes (print all routes, for debugging?)
https://github.com/fastify/fastify-auth (unfortunately doesn't have oidc auth; not a complete replacement for passport, not even close) https://github.com/fastify/fastify-jwt or https://github.com/fastify/fastify-bearer-auth https://github.com/fastify/fastify-passport (try NOT to use this; try to fall back on manual redirects w/ openid-client instead of using pStrategy) https://github.com/fastify/fastify-rate-limit https://github.com/fastify/fastify-circuit-breaker or https://github.com/fastify/under-pressure ("free" circuit breaker, not sure it's necessary w/ the rate limit, maybe as a replacement for the global rate limiter?) https://github.com/fastify/fastify-websocket (express-ws is unmaintained) https://github.com/fastify/fastify-caching (compatible w/ express middlewares) https://github.com/lependu/fastify-language-parser https://github.com/fastify/fastify-request-context (sharing variable across routes, I guess it's a replacement for fastify.$blah? but why) https://github.com/autotelic/fastify-opentelemetry (I don't think this is a replacement for APMs?) https://github.com/fastify/fastify-diagnostics-channel (ditto)
https://github.com/nearform/fastify-casbin (cool ACL stuff) https://github.com/nearform/fastify-casbin-rest (the cooler daniel)
https://github.com/fastify/fastify-mongodb (integrated state mgmt? not sure how I feel about this, esp. regarding mock-ability) https://github.com/fastify/fastify-redis https://github.com/fastify/fastify-elasticsearch https://github.com/jarcodallo/fastify-objectionjs (exposes fastify.objection) https://github.com/kamikazechaser/fastify-objectionjs-classes (exposes fastify.objection.class?) https://github.com/coopflow/fastify-mailer
Wait until #573