{"_id":"@aubain-nicolas/morse-me","_rev":"5-6e4ed8831d5a251c9d6fe944e7bf4db8","name":"@aubain-nicolas/morse-me","dist-tags":{"beta":"1.1.1","latest":"2.0.3"},"versions":{"1.1.1":{"name":"@aubain-nicolas/morse-me","version":"1.1.1","license":"ISC","_id":"@aubain-nicolas/morse-me@1.1.1","maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"bin":{"morse_it":"cli.mjs"},"dist":{"shasum":"2835bcc01e2628771246661c41bd9a1290f4ec86","tarball":"https://registry.npmjs.org/@aubain-nicolas/morse-me/-/morse-me-1.1.1.tgz","fileCount":18,"integrity":"sha512-DZWm0EIqvBtwbniXZtHRm9KT4PW9zvr/EPlggEosY7vTzYXYHSEydRR/g4ZVxpjSMcTUV6kV48JU8j4cwEAlNQ==","signatures":[{"sig":"MEUCIEs1Xp8Q8OVmzfv1N0Omxp8VR3wF1JPGJyjOHfArE7nfAiEA9pTyRfi0EWg6ntvn/NtZAJAfgN9ETJqGLsqdN4ieIPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44453},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"gitHead":"a8b53b355eff3d9a399587acc4a6374f0620aa95","scripts":{"lint":"eslint .","test":"npm run build && node --test \"dist/tests/**/*.test.js\"","build":"tsc","start":"node dist/index.js","lint:fix":"eslint . --fix","prepublishOnly":"npm run build"},"_npmUser":{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"},"_npmVersion":"11.14.0","description":"CLI Node.js/TypeScript pour convertir des fichiers texte en code Morse.","directories":{},"_nodeVersion":"22.10.0","dependencies":{"yargs":"^18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","eslint":"^9.15.0","globals":"^15.12.0","@eslint/js":"^9.15.0","typescript":"^5.3.3","@types/node":"^25.6.0","@types/yargs":"^17.0.35","typescript-eslint":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/morse-me_1.1.1_1783628852330_0.30147025774306035","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aubain-nicolas/morse-me","version":"2.0.0","keywords":["morse","morse-code","cli","encode","decode","wav","audio"],"license":"ISC","_id":"@aubain-nicolas/morse-me@2.0.0","maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"homepage":"https://github.com/Aubain-web/morse_me#readme","bugs":{"url":"https://github.com/Aubain-web/morse_me/issues"},"bin":{"morse_it":"cli.mjs"},"dist":{"shasum":"aeb5d0d0abbec993c93e6a78f14912b3ef7e5c1a","tarball":"https://registry.npmjs.org/@aubain-nicolas/morse-me/-/morse-me-2.0.0.tgz","fileCount":18,"integrity":"sha512-FilymSXn8hS6GvpFrzb2+ltRfpJInEJuSd6YObEyH3+xxJ62pUB/rqBavN/6c/h8CbSRSNt0GgfEeOqo/dYmCQ==","signatures":[{"sig":"MEYCIQDXcZsNA9XlkrASkgnRb0hZzDQTFqeUO6R8U/3zlHEVIgIhAPkTrkE+l9KbgTkrIo1EkQn9pP6DuSZrIT5qOtvpsyn5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aubain-nicolas%2fmorse-me@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"448060b11a200b319f238ca34ce4bd116915607a","scripts":{"lint":"eslint .","test":"npm run build && node scripts/run-tests.mjs","build":"npm run clean && tsc","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","start":"node cli.mjs","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2b1e4642-8af9-40d4-8909-3d497ccb4717"}},"repository":{"url":"git+https://github.com/Aubain-web/morse_me.git","type":"git"},"_npmVersion":"12.0.2","description":"Encode text to Morse code, decode it back, and play it as audio — as a CLI or a library.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"yargs":"^18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","eslint":"^9.15.0","globals":"^15.12.0","prettier":"^3.4.2","@eslint/js":"^9.15.0","typescript":"^5.3.3","@types/node":"^25.6.0","@types/yargs":"^17.0.35","typescript-eslint":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/morse-me_2.0.0_1785483162026_0.6925868581813548","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aubain-nicolas/morse-me","version":"2.0.1","keywords":["morse","morse-code","cli","encode","decode","wav","audio"],"license":"ISC","_id":"@aubain-nicolas/morse-me@2.0.1","maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"homepage":"https://github.com/Aubain-web/morse_me#readme","bugs":{"url":"https://github.com/Aubain-web/morse_me/issues"},"bin":{"morse_it":"cli.mjs"},"dist":{"shasum":"1d9c2bd467f07b0341a3bf6c49de462637450744","tarball":"https://registry.npmjs.org/@aubain-nicolas/morse-me/-/morse-me-2.0.1.tgz","fileCount":18,"integrity":"sha512-6lkq0F0tGzPz8HzX/KiSKZXw3ML479EFKYWSTliMHMEDsTRMu6bha2J0LkUuh7T2ukkjKBs9b+zR2opylN2U3A==","signatures":[{"sig":"MEQCIEeHKe3I7D2Bmj0pvqzFdLkG5cKNgL9iE3sYIm6mx76xAiAE2ObvXcxzJGdIGHVB0O1L0Xug71TBVD8+j+e91/uWfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCNldUaSaTmFziXB45jIKfuFPkgN9+l7rkIG5KHZD3qXQIhAKT75741z1e6bRvOZQ3ue08CaJCYi4NPH/T6jEfTOTZU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aubain-nicolas%2fmorse-me@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7bcb81ecc5b564d3770e24c93925d3d934f80653","scripts":{"lint":"eslint .","test":"npm run build && node scripts/run-tests.mjs","build":"npm run clean && tsc","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","start":"node cli.mjs","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2b1e4642-8af9-40d4-8909-3d497ccb4717"}},"repository":{"url":"git+https://github.com/Aubain-web/morse_me.git","type":"git"},"_npmVersion":"12.0.2","description":"Encode text to Morse code, decode it back, and play it as audio — as a CLI or a library.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yargs":"^18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.4.2","@eslint/js":"^10.0.1","typescript":"^5.3.3","@types/node":"^26.2.0","@types/yargs":"^17.0.35","typescript-eslint":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/morse-me_2.0.1_1789590913750_0.10708115506845006","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@aubain-nicolas/morse-me","version":"2.0.2","keywords":["morse","morse-code","cli","encode","decode","wav","audio"],"license":"ISC","_id":"@aubain-nicolas/morse-me@2.0.2","maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"homepage":"https://github.com/Aubain-web/morse_me#readme","bugs":{"url":"https://github.com/Aubain-web/morse_me/issues"},"bin":{"morse_it":"cli.mjs"},"dist":{"shasum":"e38ae34323f3e3f0850d350613e03e4a3b661355","tarball":"https://registry.npmjs.org/@aubain-nicolas/morse-me/-/morse-me-2.0.2.tgz","fileCount":18,"integrity":"sha512-gfvDhI8rqPS9N0QpntdBwISU7lvAtlGtX74JYgGO6zFTbT7YM1uCgWKEhZWZ9vDa+CAaEvcXRHUKAcUIVunIDQ==","signatures":[{"sig":"MEYCIQDMFNFVOwYSQ6gVKvFTzv7L3fm8FnllguDSgB7E4uj2/AIhAMhbNSlxdjqRnzQGGiiGwcoQRJwtofSqHmhZMwF0JYTh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6P2J+otx/476HgdO0sV7DT0kx+xEu6l3vctRRqLITSgIhAKfySQfbeT+B8ySYCO7Uc5hPCysqBsY7MIaxc41yfdyw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aubain-nicolas%2fmorse-me@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"0815a49b9af2e54f6c24c4ab0bd95d119693f978","scripts":{"lint":"eslint .","test":"npm run build && node scripts/run-tests.mjs","build":"npm run clean && tsc","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","start":"node cli.mjs","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2b1e4642-8af9-40d4-8909-3d497ccb4717"}},"repository":{"url":"git+https://github.com/Aubain-web/morse_me.git","type":"git"},"_npmVersion":"12.0.2","description":"Encode text to Morse code, decode it back, and play it as audio — as a CLI or a library.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yargs":"^18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.4.2","@eslint/js":"^10.0.1","typescript":"^5.3.3","@types/node":"^26.2.0","@types/yargs":"^17.0.35","typescript-eslint":"^8.15.0"},"_npmOperationalInternal":{"tmp":"tmp/morse-me_2.0.2_1789591633093_0.3399766928545074","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"_id":"@aubain-nicolas/morse-me@2.0.3","bin":{"morse_it":"cli.mjs"},"bugs":{"url":"https://github.com/Aubain-web/morse_me/issues"},"dist":{"shasum":"df341f81ca801d767b7408bba242ff314942e521","tarball":"https://registry.npmjs.org/@aubain-nicolas/morse-me/-/morse-me-2.0.3.tgz","fileCount":18,"integrity":"sha512-CocUnjeWBrOM+i92LiBTRk/Kgj6Bwu1UmX5yKSasznDbNIW8xWg4zCuj0UB08SwZq+lzIXMnQABOl8C5Yql8Tw==","signatures":[{"sig":"MEQCIBa7rltlmGC9Vg6N6oql5o5SI7bgo8KqnUgpPe0c9zHVAiAfcjGjsbCy/9Y16Zqdkbtzqr/n4cWiWBhxhkxrjPFVkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVc5ti+mNE4vFfvKKf6s4KWAopwpuuaD0/RLsWTOHVtAIhAPUzdXdATZvTJHw0dVFLZ+hVJNa+fQqP5I63RZb0Hzus"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aubain-nicolas%2fmorse-me@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34846},"main":"./dist/index.js","name":"@aubain-nicolas/morse-me","type":"module","types":"./dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"1269ccc19f1ff74390440401fd219c4bc807376a","license":"ISC","scripts":{"lint":"eslint .","test":"npm run build && node scripts/run-tests.mjs","build":"npm run clean && tsc","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","start":"node cli.mjs","format":"prettier --write .","lint:fix":"eslint . --fix","format:check":"prettier --check .","prepublishOnly":"npm run build"},"version":"2.0.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2b1e4642-8af9-40d4-8909-3d497ccb4717"}},"homepage":"https://github.com/Aubain-web/morse_me#readme","keywords":["morse","morse-code","cli","encode","decode","wav","audio"],"repository":{"url":"git+https://github.com/Aubain-web/morse_me.git","type":"git"},"_npmVersion":"12.0.2","description":"Encode text to Morse code, decode it back, and play it as audio — as a CLI or a library.","directories":{},"maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"yargs":"^18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","eslint":"^10.8.0","globals":"^17.9.0","prettier":"^3.4.2","@eslint/js":"^10.0.1","typescript":"^5.3.3","@types/node":"^26.2.0","@types/yargs":"^17.0.35","typescript-eslint":"^8.15.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/morse-me_2.0.3_1789644564844_0.677287565047435"}}},"time":{"created":"2026-07-09T20:27:32.114Z","modified":"2026-09-17T11:29:25.241Z","1.1.1":"2026-07-09T20:27:32.488Z","2.0.0":"2026-07-31T07:32:42.149Z","2.0.1":"2026-09-16T20:35:13.836Z","2.0.2":"2026-09-16T20:47:13.182Z","2.0.3":"2026-09-17T11:29:24.925Z"},"bugs":{"url":"https://github.com/Aubain-web/morse_me/issues"},"license":"ISC","homepage":"https://github.com/Aubain-web/morse_me#readme","keywords":["morse","morse-code","cli","encode","decode","wav","audio"],"repository":{"url":"git+https://github.com/Aubain-web/morse_me.git","type":"git"},"description":"Encode text to Morse code, decode it back, and play it as audio — as a CLI or a library.","maintainers":[{"name":"aubain","email":"nzoghebarroaubainnicolas@gmail.com"}],"readme":"# morse_me\n\nCLI et bibliothèque Node.js/TypeScript pour encoder du texte en code Morse, le décoder, et le\njouer en audio. Sans dépendance native.\n\nNode.js ≥ 20.\n\n## Installation\n\n```bash\nnpm install -g @aubain-nicolas/morse-me\nmorse_it encode --text \"SOS\"\n```\n\n## CLI\n\nLes trois commandes acceptent les mêmes sources d'entrée, dans cet ordre de priorité :\n`--text`, puis les fichiers passés en argument, puis stdin.\n\n```bash\nmorse_it encode --text \"SOS MORSE ME\"          # ... --- ... / -- --- .-. ... . / -- .\nmorse_it decode --text \"... --- ...\"           # SOS\necho \"SOS\" | morse_it encode\nmorse_it play fichier.txt                      # joue le Morse\nmorse_it play --text \"SOS\" --out morse.wav     # joue ET conserve le WAV\n```\n\nOptions de `play` :\n\n| Option                 | Alias | Défaut | Rôle                                                   |\n| ---------------------- | ----- | ------ | ------------------------------------------------------ |\n| `--out`                | `-o`  | —      | Chemin du WAV à conserver.                             |\n| `--play` / `--no-play` | —     | `true` | Tenter (ou non) la lecture audio.                      |\n| `--frequency`          | `-f`  | `800`  | Fréquence du bip, en Hz.                               |\n| `--unitMs`             | `-u`  | `80`   | Durée d'une unité Morse, en ms (point = 1, trait = 3). |\n\nLa lecture passe par un outil système : PowerShell sur Windows, `afplay` sur macOS, `paplay` /\n`aplay` / `ffplay` sur Linux. Si aucun n'est disponible, exporte un WAV avec `--no-play --out`.\n\n## Bibliothèque\n\nLe point d'entrée du paquet n'exécute pas le CLI : il n'expose que l'API.\n\n```ts\nimport {\n  translateTextToMorse,\n  translateMorseToText,\n  playMorseFromText,\n} from '@aubain-nicolas/morse-me';\n\ntranslateTextToMorse('SOS'); // { output: '... --- ...', skipped: [] }\ntranslateMorseToText('... --- ...'); // { output: 'SOS', skipped: [] }\n\nawait playMorseFromText('SOS', { outFile: 'sos.wav', play: false });\n// { wavPath: '/chemin/absolu/sos.wav', played: false }\n```\n\nAutres exports : `buildBeepSchedule`, `renderMorseWavSamples`, `encodeWavPcm16Mono`, `readFiles`,\n`resolveInputs`, `MORSE_CODE`, `MORSE_PATTERNS`, `MORSE_BY_PATTERN`, `TIMING`.\n\n## Documentation complète\n\nTable Morse, timings, dépannage audio, développement et contribution :\n**[github.com/Aubain-web/morse_me](https://github.com/Aubain-web/morse_me#readme)**\n\n## Licence\n\nISC — voir [LICENSE](https://github.com/Aubain-web/morse_me/blob/main/LICENSE).\n","readmeFilename":"README.md"}