@@ -25,6 +25,11 @@ interface TaskResult extends StepResult {
2525 failedStep ?: string ;
2626}
2727
28+ interface CheckOptions {
29+ verbose : boolean ;
30+ skipBuild : boolean ;
31+ }
32+
2833export const rlog = createScriptLogger ( {
2934 silent : true ,
3035} ) ;
@@ -163,33 +168,43 @@ async function runTask(task: CheckTask, verbose: boolean): Promise<TaskResult> {
163168 } ;
164169}
165170
166- function parseArgs ( argv : string [ ] ) : { verbose : boolean } {
167- const knownArgs = new Set ( [ "--verbose" , "--help" , "-h" ] ) ;
171+ function parseArgs ( argv : string [ ] ) : CheckOptions {
172+ const knownArgs = new Set ( [
173+ "--verbose" ,
174+ "--skip-build" ,
175+ "--no-build" ,
176+ "--help" ,
177+ "-h" ,
178+ ] ) ;
168179 const unknownArgs = argv . filter ( ( arg ) => ! knownArgs . has ( arg ) ) ;
169180
170181 if ( argv . includes ( "--help" ) || argv . includes ( "-h" ) ) {
171- rlog . info ( "Usage: tsx scripts/check.ts [--verbose]" ) ;
182+ rlog . info ( "Usage: tsx scripts/check.ts [--verbose] [--skip-build] " ) ;
172183 rlog . info (
173- "Runs the same quality, coverage, spec, and build checks used by CI." ,
184+ "Runs the same quality, coverage, spec, and build checks used by CI. Use --skip-build for commit-time checks. " ,
174185 ) ;
175186 process . exit ( 0 ) ;
176187 }
177188
178189 if ( unknownArgs . length > 0 ) {
179190 rlog . error ( `Unknown option: ${ unknownArgs . join ( ", " ) } ` ) ;
180- rlog . info ( "Usage: tsx scripts/check.ts [--verbose]" ) ;
191+ rlog . info ( "Usage: tsx scripts/check.ts [--verbose] [--skip-build] " ) ;
181192 process . exit ( 1 ) ;
182193 }
183194
184195 return {
185196 verbose : argv . includes ( "--verbose" ) ,
197+ skipBuild : argv . includes ( "--skip-build" ) || argv . includes ( "--no-build" ) ,
186198 } ;
187199}
188200
189201export async function runCli ( argv = process . argv . slice ( 2 ) ) : Promise < void > {
190- const { verbose } = parseArgs ( argv ) ;
202+ const { verbose, skipBuild } = parseArgs ( argv ) ;
203+ const selectedTasks = skipBuild
204+ ? tasks . filter ( ( task ) => task . name !== "Build" )
205+ : tasks ;
191206 const results = await Promise . all (
192- tasks . map ( ( task ) => runTask ( task , verbose ) ) ,
207+ selectedTasks . map ( ( task ) => runTask ( task , verbose ) ) ,
193208 ) ;
194209 const failures = results . filter ( ( result ) => ! result . ok ) ;
195210
0 commit comments