Qu'est-ce que le format de fichier JSX ?
Un fichier .jsx dans l'écosystème Adobe est un script d'automatisation ExtendScript - un programme basé sur JavaScript pour contrôler les applications Adobe Creative Cloud telles que Photoshop, Illustrator, InDesign et After Effects. ExtendScript est basé sur ECMAScript 3 (et non sur le ES6+ moderne) et l'étend avec un DOM spécifique à Adobe (objets comme app, document, layer) ainsi que des classes utilitaires telles que File, Folder et ScriptUI pour créer des interfaces de dialogue simples.
Les scripts commencent généralement par une directive #target (par exemple, #target photoshop) qui indique au moteur ExtendScript quelle application adresser. Les tâches courantes incluent l'exportation par lots de fichiers, le redimensionnement de calques, la génération de PDF à partir de modèles et l'automatisation de flux de production répétitifs.
L'extension .jsx est également utilisée par React pour les fichiers sources JSX (JavaScript XML) - un contexte complètement différent. Lors de la rencontre d'un fichier .jsx, le projet environnant (un dossier de scripts Adobe par rapport à un projet de développement web) détermine sa signification.
La forme compilée et obscurcie d'un fichier ExtendScript est .jsxbin, qui dissimule le code source tout en restant exécutable par le moteur Adobe. Les scripts peuvent être lancés à partir du menu Scripts d'une application, via l'extension VS Code ExtendScript Debugger, ou par la messagerie inter-applications BridgeTalk.
Adobe remplace progressivement ExtendScript par UXP (Unified Extensibility Platform) utilisant des moteurs JavaScript modernes, bien qu'ExtendScript reste pris en charge dans la plupart des applications Creative Cloud actuelles.
Sécurité et sûreté
RISQUE : MEDIUMUn .jsx est un code exécutable. ExtendScript peut lire, écrire et supprimer des fichiers sur le disque (via les objets File/Folder) et automatiser l'application hôte, donc l'exécution d'un .jsx provenant d'une source non fiable peut être dangereuse. Inspectez d'abord le script dans un éditeur de texte, méfiez-vous des opérations sur le système de fichiers ou le réseau, et n'activez « Autoriser les scripts à écrire des fichiers et à accéder au réseau » que pour les scripts en lesquels vous avez confiance. La source React .jsx est également du code - la même prudence s'applique avant d'exécuter des outils de build dessus.
Détails du format
en bref- React JSX (JavaScript XML) - Fichiers sources pour les composants React mélangeant JavaScript avec un balisage de type XML ; transpilés par Babel, sans rapport avec Adobe.
- JavaScript générique avec syntaxe JSX - Tout fichier de chaîne d'outils JS utilisant la syntaxe JSX (Preact, Solid, etc.) ; un fichier source de développeur, pas un script Adobe.
Programmes qui ouvrent les fichiers JSX
Détails techniques
spécifications approfondies| Encodage | Texte, UTF-8 (avec détection de BOM) ; les fichiers hérités peuvent utiliser ASCII ou Latin-1 |
| Conteneur | Texte brut |
| Chiffrement | Aucun (la variante compilée/obscurcie est .jsxbin) |
| Taille typique | 1 Ko - quelques centaines de Ko |
| Langage de script | ECMAScript 3 avec extensions DOM Adobe (objets app, document, layer) et ScriptUI pour la création de dialogues |
| Directive cible | La ligne optionnelle de préprocesseur #target <nom_app> ou //@target dirige le script vers la bonne application Adobe |
| Forme compilée | .jsxbin - forme binaire encodée/protégée qui cache le code source tout en restant exécutable par le moteur Adobe |
| OS associé | Windows, macOS |
| Runtime | Moteur Adobe ExtendScript intégré aux applications Creative Cloud ; débogué via l'extension VS Code ExtendScript Debugger |
| Remplacé par | Adobe UXP (Unified Extensibility Platform) avec des moteurs JavaScript modernes dans les nouvelles applications Creative Cloud |
| Collision de noms | .jsx est également utilisé pour les fichiers sources React JSX (JavaScript XML) - un format totalement distinct sans rapport avec Adobe |
| Publié | Early 2000s (Adobe Creative Suite scripting; ExtendScript based on ECMAScript 3) |
| Dernière version | ExtendScript (ECMAScript 3-based) with the ExtendScript Toolkit/VS Code debugger; modern UXP is its successor |
| Standard ouvert | Oui · libre de droits |
| Spécification | extendscript.docsforadobe.dev |
Conversions JSX
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers JSX.