@choosemycompany/lib
v0.1.0
Published
Shared composables, stores and types for ChooseMyCompany front apps
Readme
@choosemycompany/lib
Composables, stores et types partagés entre les apps front ChooseMyCompany (commercial, workspace).
Installation
pnpm add @choosemycompany/libUtilisation
import { useHttp, useStore, useUrlHelpers, type Store, type View } from '@choosemycompany/lib'Un seul entry point, tout est ré-exporté depuis @choosemycompany/lib.
Dépendances
Le package s'attend à être consommé dans un projet Nuxt 4 avec les peer deps suivantes installées :
vue,vue-i18n,vue-router,piniamande(client HTTP)h3(pouruseErrorHandling)ufo(pouruseUrlHelpers)@nuxtjs/i18n(useLocalePath)nuxt(pour les auto-importsuseRuntimeConfig,useState,showError)
Les composables utilisant useRuntimeConfig(), useRoute(), useI18n() doivent être appelés dans un scope Nuxt (setup, plugin, middleware).
Développement local (HMR via sandbox)
pnpm install
pnpm --filter sandbox dev # n'existe pas : sandbox est indépendant
# ou
cd sandbox && pnpm install && pnpm devLa sandbox utilise un alias Vite @choosemycompany/lib → ../src/index.ts, donc chaque modif des sources de la lib déclenche du HMR immédiat.
Build & publish
pnpm build # vite build → dist/
pnpm typecheck
pnpm test
pnpm publish # via CI CircleCI sur push mainChangements d'API notables
useStore: signature unifiée qui absorbe la varianteworkspace(search, filters, 4ᵉ génériqueFilterItem). Méthode publique :isPending(key).getViewKeytrie les clés pour garantir un cache déterministe.usePrimaryTypeTranslation(primaryTypes): reçoit désormais la liste des primaryTypes en argument au lieu de l'importer depuis@/entities/formde commercial.
