Packages

@routess/core

Types partagés, stores Zustand et utilitaires indépendants de la plateforme.

Le package de base. Tout ce qui est sûr à la fois pour le web et React Native vit ici.

Exports

Sous-cheminContenu
@routess/coreRé-exports des stores, types, utils, logger
@routess/core/storesStores Zustand : routing, auth, ui
@routess/core/typesTypes TypeScript partagés
@routess/core/utilsHelpers géospatiaux, formateurs, validateurs

Types notables

  • Coordinate : tuple [lng, lat]
  • Waypoint : { coord: Coordinate, type: 'routed' | 'direct', name?, timestamp? }
  • RouteActivity : 'run' | 'cycle' | 'walk' (avec le tableau ROUTE_ACTIVITIES pour la validation au runtime)
  • RouteVisibility : 'private' | 'unlisted' | 'public' (avec ROUTE_VISIBILITIES)
  • RoutingPreferences : { surfacePreference: SurfaceType, avoidFerries, avoidHighways }

Ajouter un nouvel util

  1. Ajoute la fonction dans src/utils/
  2. Ré-exporte-la depuis src/utils/index.ts
  3. Ajoute un test unitaire à côté
  4. Ne bump rien ; le package est workspace:* et n'est pas publié

Ajouter un store

Les stores vivent sous src/stores/. Garde-les sans framework : pas d'imports React, pas de DOM. Utilise subscribeWithSelector si tu as besoin d'abonnés ciblés.

On this page