Patch TScode

Bonjour à tous.


Ce message s'adresse à toute personne rencontrant cette erreur lors du lancement d'un serveur
Node.js sur CraftServ : TypeError: Cannot read properties of undefined (reading 'fileExists')

Pourquoi cette erreur ?


Le problème vient du startup command de l'egg Pelican utilisé par CraftServ. La condition suivante est
cassée : if [[ "${MAIN_FILE}" == "*.js" ]]
En bash, cette syntaxe ne fonctionne pas correctement, ce qui fait que le panel utilise toujours tsnode pour lancer votre fichier, même si c'est un fichier .js classique. Or le ts-node global installé sur le
serveur est incompatible avec les versions récentes de Node.js (v20+).

Solution (côté utilisateur) :


  1. Allez dans l'onglet Files de votre serveur
    2. Ouvrez votre package.json et ajoutez ces deux dépendances :
    "ts-node": "^10.9.2",
    "typescript": "^5.4.5"

    3. Créez un fichier tsconfig.json à la racine avec ce contenu :

    {
    "compilerOptions": {
    "allowJs": true,
    "esModuleInterop": true
    },
    "ts-node": {
    "esm": true,
    "experimentalSpecifierResolution": "node"
    }

 

4. Redémarrez votre serveur.

 

Fait par ARN_Zelef & tr4nsmission

  • 5 A felhasználók hasznosnak találták ezt
Hasznosnak találta ezt a választ?