@pulse-91/ui-lib
v0.1.1
Published
Shadcn-like component installer for Pulse UI.
Readme
@pulse-91/ui-lib
CLI de type shadcn/ui pour injecter des composants dans un projet.
Utilisation
pnpm dlx @pulse-91/ui-lib add orion/buttons/roundedPour ecraser directement le bouton shadcn sans changer les imports:
pnpm dlx @pulse-91/ui-lib add orion/buttons/rounded --replace-shadcn buttonPar defaut, les composants sont installes dans:
src/components/pulse-lib
Exemple de resultat:
src/components/pulse-lib/orion/buttons/rounded.tsx
Configuration projet cible
Si un fichier pulse-lib.json existe a la racine du projet cible, la CLI l'utilise.
Exemple:
{
"installDir": "src/components/custom"
}Composants disponibles
La CLI calcule automatiquement les composants depuis l'arborescence components/.
Aucune entree manuelle de registry n'est necessaire.
Option --replace-shadcn
L'option permet de choisir quel composant shadcn doit etre redirige.
Exemples de cibles: button, input, form/field.
Pour orion/buttons/rounded, avec --replace-shadcn button:
- garde le fichier shadcn original intact
- redirige l'alias
@/components/shadcn-ui/buttonvers<installDir>/orion/buttons/rounded.tsx - adapte automatiquement l'import interne de ce fichier pour eviter la recursion
- ajoute un alias
@/components/shadcn-ui/buttondans lespathsTypeScript afin d'utiliser la surcouche sans changer les imports existants
Commande restore
Pour revenir en arriere sur un override:
pnpm dlx @pulse-91/ui-lib restore --shadcn buttonLa commande:
- retire l'alias
@/components/shadcn-ui/<target>detsconfig.app.jsonettsconfig.json - garde le composant installe (ex:
orion/buttons/rounded.tsx) - supprime d'anciens fichiers techniques eventuels (
<installDir>/shadcn-uiet<installDir>/_base)
Commande remove
Pour supprimer un composant et son override:
pnpm dlx @pulse-91/ui-lib remove orion/buttons/rounded --shadcn buttonLa commande:
- supprime le composant installe
- retire l'override shadcn (alias)
Publication npm via GitHub
Le projet est configure pour publier automatiquement sur npm lors d'un push sur main:
- branche declencheur:
mainuniquement - workflow:
.github/workflows/publish-npm.yml - mode par defaut: publication publique (
npm publish --access public)
Prerequis GitHub
Dans le repo GitHub, ajouter le secret:
NPM_TOKEN: token npm avec droit de publish sur@pulse-91/ui-lib(granular token recommande, avec bypass 2FA pour la publication CI)
Flow release
- Incremente la version dans
package.json(obligatoire avant chaque publication npm). - Commit et push sur
main. - GitHub Actions publie automatiquement sur npm.
Exemple:
npm version patch
git push origin main --follow-tagsScripts deploy
Pour automatiser ton flow:
npm run deploy:dev- checkout
dev pnpm check+pnpm build- bump version prerelease (
x.y.z-dev.n) - aucun push GitHub
npm run deploy:main- checkout
main pnpm check+pnpm build- bump version patch
- push
origin/mainavec tag (--follow-tags) - publication npm auto via GitHub Actions
