getsentry / sentry-docs

Sentry's documentation (and tools to build it)
https://docs.sentry.io
Other
326 stars 1.43k forks source link

Rethink categories for JavaScript SDK docs #10938

Open AbhiPrasad opened 1 month ago

AbhiPrasad commented 1 month ago

Problem Statement

Right now for the JS SDKs we have 2 categories that an SDK can fall into, browser and server.

I'd like to explore having more categories, so that the docs become more accurate for our users.

Solution Brainstorm

Here is a brief audit of the SDKs that we have atm (and are actively developing)

# Browser SDKs
- javascript.browser
- javascript.angular
- javascript.ember
- javascript.react
- javascript.solid
- javascript.svelte
- javascript.vue
- javascript.wasm
# Metaframework SDKs
- javascript.astro
- javascript.gatsby
- javascript.nextjs
- javascript.nuxt # WIP (no docs but it's released)
- javascript.remix
- javascript.solidstart # WIP (no docs but it's released)
- javascript.sveltekit
# Node SDKs
- javascript.node
- javascript.azure-functions
- javascript.aws-lambda
- javascript.connect
- javascript.express
- javascript.fastify
- javascript.hapi
- javascript.koa
- javascript.nestjs
- javascript.gcp-functions
# Non-Node Server SDKs
- javascript.bun
- javascript.cloudflare # WIP (no docs but it's released)
- javascript.deno
- javascript.vercel-edge # WIP (no docs but it's released)
# Desktop SDKs
- javascript.electron
# Mobile SDKs
- javascript.capacitor
- javascript.cordova

In my eyes we have the following categories:

  1. javascript: all js sdks
  2. browser: browser, angular, ember, react, solid, svelte, vue, wasm, astro (client), gatsby (client), nextjs (client), nuxt (client), remix (client), solidstart (client), sveltekit (client), capacitor, cordova
  3. server: bun, cloudflare, deno, vercel-edge, node, azure-functions, aws-lambda, connect, express, fastify, hapi, koa, nestjs, gcp-functions, astro (server), nextjs (server), nuxt (server), remix (server), solidstart (server), sveltekit (server)
  4. server-node: node, azure-functions, aws-lambda, connect, express, fastify, hapi, koa, nestjs, gcp-functions, astro (server), nextjs (server), nuxt (server), remix (server), solidstart (server), sveltekit (server)
  5. server-edge: bun, cloudflare, deno, nextjs (edge)
  6. serverless: bun, cloudflare, deno, node, azure-functions, aws-lambda, gcp-functions
  7. desktop: electron
  8. mobile: capacitor, cordova (excluding react native because it's a separate platform)We should re-organize all of our platforms for these following categories, and then restructure the docs and includes snippets to use these categories. capacitor and cordova are part of browser because they are web-views.
stephanie-anderson commented 1 month ago

There's also another one, serverless used for AWS Lambda and co

AbhiPrasad commented 1 month ago

From Francesco on slack:

I would maybe go with server-node (vs node-server )