123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- import {t} from 'sentry/locale';
- import type {PlatformKey} from 'sentry/types';
- const popularPlatformCategories: Set<PlatformKey> = new Set([
- 'android',
- 'apple-ios',
- 'dotnet',
- 'dotnet-aspnetcore',
- 'flutter',
- 'go',
- 'java',
- 'java-spring-boot',
- 'javascript',
- 'javascript-angular',
- 'javascript-nextjs',
- 'javascript-react',
- 'javascript-vue',
- 'node',
- 'node-express',
- 'php',
- 'php-laravel',
- 'python',
- 'python-django',
- 'python-fastapi',
- 'python-flask',
- 'react-native',
- 'ruby-rails',
- 'ruby',
- 'unity',
- ]);
- const browser: Set<PlatformKey> = new Set([
- 'dart',
- 'javascript',
- 'javascript-angular',
- 'javascript-astro',
- 'javascript-ember',
- 'javascript-gatsby',
- 'javascript-nextjs',
- 'javascript-react',
- 'javascript-remix',
- 'javascript-svelte',
- 'javascript-sveltekit',
- 'javascript-vue',
- 'unity',
- ]);
- const server: Set<PlatformKey> = new Set([
- 'bun',
- 'dotnet',
- 'dotnet-aspnet',
- 'dotnet-aspnetcore',
- 'elixir',
- 'go',
- 'go-http',
- 'go-echo',
- 'go-fasthttp',
- 'go-gin',
- 'go-iris',
- 'go-martini',
- 'go-negroni',
- 'java',
- 'java-log4j2',
- 'java-logback',
- 'java-spring',
- 'java-spring-boot',
- 'kotlin',
- 'native',
- 'node',
- 'node-connect',
- 'node-express',
- 'node-koa',
- 'php',
- 'php-laravel',
- 'php-symfony',
- 'python',
- 'python-aiohttp',
- 'python-asgi',
- 'python-bottle',
- 'python-celery',
- 'python-chalice',
- 'python-django',
- 'python-falcon',
- 'python-fastapi',
- 'python-flask',
- 'python-pyramid',
- 'python-quart',
- 'python-rq',
- 'python-sanic',
- 'python-starlette',
- 'python-tornado',
- 'python-tryton',
- 'python-wsgi',
- 'ruby',
- 'ruby-rack',
- 'ruby-rails',
- 'rust',
- ]);
- const mobile: Set<PlatformKey> = new Set([
- 'android',
- 'apple-ios',
- 'capacitor',
- 'cordova',
- 'dotnet-maui',
- 'dotnet-xamarin',
- 'flutter',
- 'ionic',
- 'react-native',
- 'unity',
- 'unreal',
- ]);
- const desktop: Set<PlatformKey> = new Set([
- 'apple-macos',
- 'dotnet',
- 'dotnet-maui',
- 'dotnet-winforms',
- 'dotnet-wpf',
- 'electron',
- 'flutter',
- 'java',
- 'kotlin',
- 'minidump',
- 'native',
- 'native-qt',
- 'unity',
- 'unreal',
- ]);
- const serverless: Set<PlatformKey> = new Set([
- 'dotnet-awslambda',
- 'dotnet-gcpfunctions',
- 'node-awslambda',
- 'node-azurefunctions',
- 'node-gcpfunctions',
- 'python-awslambda',
- 'python-gcpfunctions',
- 'python-serverless',
- ]);
- export const createablePlatforms: Set<PlatformKey> = new Set([
- ...popularPlatformCategories,
- ...browser,
- ...server,
- ...mobile,
- ...desktop,
- ...serverless,
- ]);
- /**
- * Additional aliases used for filtering in the platform picker
- */
- export const filterAliases: Partial<Record<PlatformKey, string[]>> = {
- native: ['cpp', 'c++'],
- };
- const categoryList = [
- {id: 'popular', name: t('Popular'), platforms: popularPlatformCategories},
- {id: 'browser', name: t('Browser'), platforms: browser},
- {id: 'server', name: t('Server'), platforms: server},
- {id: 'mobile', name: t('Mobile'), platforms: mobile},
- {id: 'desktop', name: t('Desktop'), platforms: desktop},
- {id: 'serverless', name: t('Serverless'), platforms: serverless},
- {
- id: 'all',
- name: t('All'),
- platforms: createablePlatforms,
- },
- ];
- export default categoryList;
- // TODO(aknaus): Drop in favour of PlatformIntegration
- export type Platform = {
- key: PlatformKey;
- id?: string;
- link?: string | null;
- name?: string;
- };
|