@@ -115,7 +115,7 @@ export type Argv = {
115115 'package-name' ?: string ;
116116} ;
117117
118- export const BUILTIN_TOOLS = [ 'biome ' , 'eslint ' , 'prettier' ] ;
118+ export const BUILTIN_TOOLS = [ 'eslint ' , 'rslint' , 'biome ', 'prettier' ] ;
119119
120120function logHelpMessage (
121121 name : string ,
@@ -200,9 +200,10 @@ async function getTools(
200200 }
201201
202202 const options = [
203- { value : 'biome' , label : 'Biome - linting & formatting' } ,
204203 { value : 'eslint' , label : 'ESLint - linting' } ,
204+ { value : 'rslint' , label : 'Rslint - linting (experimental)' } ,
205205 { value : 'prettier' , label : 'Prettier - formatting' } ,
206+ { value : 'biome' , label : 'Biome - linting & formatting' } ,
206207 ] ;
207208
208209 if ( filteredExtraTools ) {
@@ -253,7 +254,9 @@ function orderExtraSkills(extraSkills: ExtraSkill[] | undefined) {
253254
254255 return [
255256 ...extraSkills . filter ( ( extraSkill ) => extraSkill . order === 'pre' ) ,
256- ...extraSkills . filter ( ( extraSkill ) => typeof extraSkill . order === 'undefined' ) ,
257+ ...extraSkills . filter (
258+ ( extraSkill ) => typeof extraSkill . order === 'undefined' ,
259+ ) ,
257260 ...extraSkills . filter ( ( extraSkill ) => extraSkill . order === 'post' ) ,
258261 ] ;
259262}
@@ -266,7 +269,11 @@ async function getSkills(
266269 promptMultiselect : typeof multiselect = multiselect ,
267270) {
268271 const parsedSkills = parseSkillsOption ( skill ) ;
269- const filteredExtraSkills = filterExtraSkills ( extraSkills , templateName , tools ) ;
272+ const filteredExtraSkills = filterExtraSkills (
273+ extraSkills ,
274+ templateName ,
275+ tools ,
276+ ) ;
270277
271278 if ( parsedSkills !== null ) {
272279 // Treat explicit `--skill` values as authoritative as long as they refer to
@@ -288,7 +295,8 @@ async function getSkills(
288295
289296 return checkCancel < string [ ] > (
290297 await promptMultiselect ( {
291- message : 'Select optional skills (Use <space> to select, <enter> to continue)' ,
298+ message :
299+ 'Select optional skills (Use <space> to select, <enter> to continue)' ,
292300 options : orderedExtraSkills . map ( ( extraSkill ) => ( {
293301 value : extraSkill . value ,
294302 label : extraSkill . label ,
@@ -384,7 +392,11 @@ type ExtraSkill = {
384392 order ?: 'pre' | 'post' ;
385393} ;
386394
387- async function runCommand ( command : string , cwd : string , packageManager : string ) {
395+ async function runCommand (
396+ command : string ,
397+ cwd : string ,
398+ packageManager : string ,
399+ ) {
388400 // Replace `npm create` with the equivalent command for the detected package manager
389401 if ( command . startsWith ( 'npm create ' ) ) {
390402 const createReplacements : Record < string , string > = {
@@ -415,17 +427,17 @@ async function runCommand(command: string, cwd: string, packageManager: string)
415427 } ) ;
416428
417429 if ( result . exitCode !== 0 ) {
418- const details = [ result . stderr , result . stdout ] . filter ( Boolean ) . join ( '\n' ) . trim ( ) ;
430+ const details = [ result . stderr , result . stdout ]
431+ . filter ( Boolean )
432+ . join ( '\n' )
433+ . trim ( ) ;
419434 throw new Error (
420435 `Failed to run command: ${ command } ${ details ? `\n${ details } ` : '' } ` ,
421436 ) ;
422437 }
423438}
424439
425- async function runSkillCommand (
426- skills : ExtraSkill [ ] ,
427- cwd : string ,
428- ) {
440+ async function runSkillCommand ( skills : ExtraSkill [ ] , cwd : string ) {
429441 const [ firstSkill ] = skills ;
430442 // `skills add` accepts repeated `--skill` flags for a single source.
431443 const installArgs = skills . flatMap ( ( skill ) => [
@@ -465,7 +477,9 @@ async function runSkillCommand(
465477 const result = await proc ;
466478
467479 if ( result . exitCode !== 0 ) {
468- const quotedSkillLabel = skills . map ( ( skill ) => `"${ skill . value } "` ) . join ( ', ' ) ;
480+ const quotedSkillLabel = skills
481+ . map ( ( skill ) => `"${ skill . value } "` )
482+ . join ( ', ' ) ;
469483 const message = `Failed to install ${ skillNoun } ${ quotedSkillLabel } from "${ firstSkill . source } " using command: ${ command } ` ;
470484 installationTaskLog . error ( message ) ;
471485 throw new Error ( message ) ;
@@ -579,7 +593,13 @@ export async function create({
579593
580594 const templateName = await getTemplateName ( argv ) ;
581595 const tools = await getTools ( argv , extraTools , templateName ) ;
582- const skills = await getSkills ( argv , extraSkills , templateName , tools , multiselect ) ;
596+ const skills = await getSkills (
597+ argv ,
598+ extraSkills ,
599+ templateName ,
600+ tools ,
601+ multiselect ,
602+ ) ;
583603
584604 const srcFolder = path . join ( root , `template-${ templateName } ` ) ;
585605 const commonFolder = path . join ( root , 'template-common' ) ;
0 commit comments