Certamente è arbitrario, ma è un po’ ridicolo dover eseguire discourse_theme da un clone locale di discourse quando l’istanza di discourse in fase di test non è l’istanza locale.
Comunque, ho fatto come hai suggerito, sia in un nuovo codespace di GitHub, sia nel mio ambiente di sviluppo, e continua a generare gli stessi errori.
Leggendo tutto il log (o tutto quello che entra nella cronologia del terminale), tutte le directory su cui genera errori sono /node_modules/.pnpm. Testando ed eseguendo discourse_theme contro un altro TC che non è ancora stato aggiornato per utilizzare pnpm invece di yarn, non vedo errori, quindi sono quasi sicuro al 100% che il problema sia con l’osservazione di .pnpm.
Da Symlinked `node_modules` structure | pnpm, sembra che la normale struttura di node_modules sia preservata spostando tutto il codice effettivo in /node_modules/.pnpm e le altre directory in /node_modules/ siano solo symlink a .pnpm. Quindi ignorare .pnpm evita l’errore “la directory è già in fase di osservazione!”.
Ho giocato un po’ con la gemma discourse_theme e ho aggiunto listener.ignore /node_modules\\/\\.pnpm/ a watcher.rb, e sembra funzionare bene senza messaggi di errore. Ha persino rilevato una nuova installazione di pacchetti pnpm.