You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 30, 2026. It is now read-only.
Revive and modernize this i18n string extractor. It was unpublished from npm (2025-06-19); republish after modernizing. Small, coherent tool (~100 lines) with a CLI, and existing tests guard the tricky lexer.
Why
CommonJS, untyped, and leans on the unmaintained lex lexer + yargs.
Core logic is simple enough to own outright with near-zero deps.
Tasks
Convert to src/ TypeScript (strict). Preserve behavior exactly (tests lex_test/scan_test are the guard):
Revive and modernize this i18n string extractor. It was unpublished from npm (2025-06-19); republish after modernizing. Small, coherent tool (~100 lines) with a CLI, and existing tests guard the tricky lexer.
Why
lexlexer +yargs.Tasks
src/TypeScript (strict). Preserve behavior exactly (testslex_test/scan_testare the guard):__('...')/__n('...')calls, incl. escaped-quote handlinglex→ inline a small (~30-line) tokenizer/state-machine.yargs→node:utilparseArgs. Consider droppingdebugtoo.bin(extract-gettext) throughpackage.json; ensure the CLI runs under ESM.node:test.--provenance). Mirrormvhenten/phishy.Notes
mvhenten/phishy.