À propos du projet

guessit-js est un portage TypeScript de la bibliothèque Python guessit permettant d’extraire des métadonnées à partir de noms de fichiers multimédias. Il détecte 50 propriétés, notamment le titre, l’année, la saison, l’épisode, la résolution, le codec, la langue, le service de streaming, le groupe de sortie, etc. Capacités clés : - Compatibilité à 100 % avec Python guessit 4.4.0 (1342/1342 fixtures passées) - 3,5 fois plus rapide que Python (~4,4 ms contre ~15,5 ms par analyse sur Node.js) - 50 propriétés détectées avec un schéma JSON lisible par machine - CLI avec les mêmes options que Python guessit, plus des extras comme --serve pour l’API REST, --benchmark et la complétion shell - Serveur d’API REST (npx guessit-js --serve) - Version WASM via Javy/QuickJS pour les environnements non-JS (identique bit à bit à JS) - Prise en charge double ESM et CommonJS - Définitions de types TypeScript complètes avec champs de valeur en énumération - Dépendance unique (rebulk-js) - Charge automatiquement la configuration utilisateur depuis ~/.guessit/options.json Le projet corrige 32 bogues historiques en amont de Python guessit et gère correctement des cas que la version Python traite encore mal, comme les titres courts (X2), les caractères CJK pleine largeur, les titres d’anime avec tirets composés et les numéros d’événements UFC. La CLI est un remplacement direct de la commande Python guessit. Une démo hébergée et une API REST sont disponibles pour les tests, et le projet fournit un schéma JSON draft-07 pour la validation des résultats et la génération de clients dans d’autres langues.