Skip to content

@yardinternet/toolkit: lint en format eindigen altijd met exitcode 0 #146

Description

@YvetteNikolov

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions