diff --git a/libs/cli/src/generators/challenge/generator.ts b/libs/cli/src/generators/challenge/generator.ts index 778efe5..4dc5848 100644 --- a/libs/cli/src/generators/challenge/generator.ts +++ b/libs/cli/src/generators/challenge/generator.ts @@ -38,7 +38,8 @@ export async function challengeGenerator(tree: Tree, options: Schema) { const challengeNumberJson = JSON.parse( tree.read(challengeNumberPath).toString(), ); - const challengeNumber = challengeNumberJson.total + 1; + const challengeNumber = + options.challengeNumber ?? challengeNumberJson.total + 1; const difficulty = options.challengeDifficulty; const name = options.title.toLowerCase().split(' ').join('-'); diff --git a/libs/cli/src/generators/challenge/schema.d.ts b/libs/cli/src/generators/challenge/schema.d.ts index f8a6ef4..e155f2b 100644 --- a/libs/cli/src/generators/challenge/schema.d.ts +++ b/libs/cli/src/generators/challenge/schema.d.ts @@ -6,4 +6,5 @@ export interface Schema { addTest?: boolean; skipPackageJson?: boolean; rootProject?: boolean; + challengeNumber?: number; } diff --git a/libs/cli/src/generators/challenge/schema.json b/libs/cli/src/generators/challenge/schema.json index 6e339ae..98b62d6 100644 --- a/libs/cli/src/generators/challenge/schema.json +++ b/libs/cli/src/generators/challenge/schema.json @@ -95,6 +95,10 @@ ] } }, + "challengeNumber": { + "description": "Specify a challenge number (If you don't, the challenge number will be set automatically)", + "type": "number" + }, "addTest": { "description": "add spec files.", "type": "boolean",