runCommand in packages/toolkit/src/utils/helpers.js logt de exitcode van eslint, stylelint of prettier, maar geeft hem niet door. Het toolkit-proces eindigt daardoor altijd met exitcode 0, ook als er lint-fouten zijn.
Gevolg: yard-toolkit lint en yard-toolkit format zijn niet bruikbaar als check in CI of in een pre-commit hook. Een fout laat de job niet falen.
child.on( 'exit', ( code ) => {
if ( code === 0 ) {
log.success( `Completed ${ tool } successfully.` );
} else {
log.error( `Exited ${ tool } with code ${ code }` );
}
// ontbreekt: exitcode doorgeven
} );
Voorstel: process.exitCode = code ?? 1; in de exit-handler. ?? 1 vangt het geval af dat het proces door een signal stopt (code is dan null).
Gevonden bij yard-blocks. Daar gebruiken we in CI nu wp-scripts lint-js / lint-style en prettier --check, tot dit is opgelost.
runCommandinpackages/toolkit/src/utils/helpers.jslogt de exitcode van eslint, stylelint of prettier, maar geeft hem niet door. Het toolkit-proces eindigt daardoor altijd met exitcode 0, ook als er lint-fouten zijn.Gevolg:
yard-toolkit lintenyard-toolkit formatzijn niet bruikbaar als check in CI of in een pre-commit hook. Een fout laat de job niet falen.Voorstel:
process.exitCode = code ?? 1;in deexit-handler.?? 1vangt het geval af dat het proces door een signal stopt (codeis dannull).Gevonden bij yard-blocks. Daar gebruiken we in CI nu
wp-scripts lint-js/lint-styleenprettier --check, tot dit is opgelost.