morse-me
v1.0.0
Published
CLI Node.js/TypeScript pour convertir des fichiers texte en code Morse.
Readme
morse_me
CLI Node.js/TypeScript pour convertir des fichiers texte en code Morse.
🚀 Aperçu
- Interface de ligne de commande basée sur
yargs(morse_it). - Conversion caractère par caractère grâce à la table complète définie dans
library.ts. - Signalement des caractères non pris en charge pour faciliter le nettoyage des données.
📦 Prérequis
- Node.js ≥ 20
- npm ≥ 10
Vérifie tes versions :
node --version
npm --version🔧 Installation
git clone <repo-url>
cd morse_me
npm install🛠️ Scripts npm
| Script | Description |
|--------|-------------|
| npm run build | Compile TypeScript vers dist/ via tsc. |
| npm start | Exécute la version compilée (node dist/index.js). |
| npm test | Placeholder qui affiche un message (à remplacer par ta suite de tests). |
| npm run prepublishOnly | Compile automatiquement avant une publication npm. |
🔁 Utilisation du CLI
- Compile d’abord :
npm run build - Exemple de traduction d’un fichier :
Le résultat affiche un bloc par fichier et indique les caractères ignorés (node dist/index.js encode README.mdSkipped characters).
Alias binaire morse_it
- Installation locale :
npm link - Utilisation :
morse_it encode chemin/vers/fichier.txt
Remarques
- Les caractères non présents dans
library.tssont signalés mais ignorés dans la sortie. - Pour un format pur texte, la table Morse emploie déjà
.et-.
🧪 Tests
npm test renvoie pour l’instant « No automated tests defined yet ». Remplace la commande par Jest, Vitest ou tout autre framework lorsque tu ajoutes des tests.
🐳 Dev Container
Fichier : .devcontainer/devcontainer.json
- Ouvre le dossier dans VS Code.
- Menu Command Palette → « Dev Containers: Reopen in Container ».
npm installest lancé automatiquement (Node 20, extensions ESLint/Prettier/TS incluses).
🔄 Intégration Continue
Le workflow .github/workflows/ci.yml effectue :
npm cinpm run lint:fix(en mode tolérant)npm run buildnpm test- Un smoke test du CLI
Adapter npm test pour refléter ta vraie suite avant de faire confiance aux pipelines.
📁 Structure rapide
| Chemin | Rôle |
|--------|------|
| index.ts | Point d’entrée du CLI et définition de la commande encode. |
| read.files.ts | Lecture asynchrone des fichiers à encoder. |
| translate.files.ts | Conversion du texte en séquences Morse et rapport des caractères ignorés. |
| library.ts | Table Morse (pattern et timings). |
| cli.mjs | Shim Node utilisé par le binaire publié morse_it. |
📄 Licence
ISC
