@service-public-de-wallonie/string-utils-lib
v1.0.0
Published
A simple string utility library
Downloads
11
Readme
NodeJS Library Example
Exemple de librairie Node.js compatible avec le composant GitLab CI nodejs-component.
Prérequis
- Node.js
20.18.x - npm
Installation
npm installScripts disponibles
| Commande | Description |
| ---------------- | ----------------------------------------- |
| npm run build | Compile la librairie (ESM + CJS + types) |
| npm test | Exécute les tests avec couverture de code |
| npm run lint | Analyse statique du code (ESLint) |
| npm run format | Formate le code (Prettier) |
Structure du projet
├── src/ # Code source
│ ├── index.ts # Point d'entrée
│ ├── string-utils.ts # Utilitaires de chaînes
│ └── text-utils.ts # Utilitaires de texte
├── test/ # Tests unitaires
│ ├── string-utils.test.ts
│ └── text-utils.test.ts
├── dist/ # Build (généré)
│ ├── esm/ # Module ESM
│ ├── cjs/ # Module CommonJS
│ └── types/ # Déclarations TypeScript
└── reports/ # Rapports (généré)Conventions pour GitLab CI
Répertoire des rapports
Tous les rapports doivent être générés dans reports/ :
| Fichier | Format | Usage |
| -------------------------------- | --------- | -------------------------- |
| reports/node-test.xunit.xml | JUnit | Résultats des tests GitLab |
| reports/lcov.info | LCOV | Couverture SonarQube |
| reports/cobertura-coverage.xml | Cobertura | Couverture GitLab MR |
Scripts obligatoires
Le composant GitLab CI exécute :
npm run build # NODE_BUILD_ARGS
npm test # NODE_TEST_ARGS (doit générer les rapports)
npm run lint # NODE_LINT_ARGSConfiguration du coverage
Le script test utilise :
- Test runner :
node:test(natif Node.js) - Coverage :
c8avec reporterslcov,cobertura,text - Test reporter :
spec(console) +junit(fichier)
Regex de couverture
Le composant CI extrait le pourcentage via :
/^All files\s*\|\s*(\d+(?:\.\d+)?)/Le reporter text de c8 génère ce format automatiquement.
