Skip to content

Commit e229215

Browse files
committed
feat: add validation for feature number in create-new-feature scripts
1 parent 0c60ed7 commit e229215

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

scripts/bash/create-new-feature.sh

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,29 @@ ARGS=()
88
while [[ $# -gt 0 ]]; do
99
case "$1" in
1010
--json) JSON_MODE=true; shift ;;
11-
--feature-num) FEATURE_NUM_OVERRIDE="$2"; shift 2 ;;
12-
--help|-h) echo "Usage: $0 [--json] [--feature-num NUMBER] <feature_description>"; exit 0 ;;
11+
--feature-num)
12+
if [[ -z "$2" || "$2" =~ ^- ]]; then
13+
echo "Error: --feature-num requires a number (1-999)" >&2
14+
exit 1
15+
fi
16+
if ! [[ "$2" =~ ^[0-9]+$ ]]; then
17+
echo "Error: --feature-num must be a positive integer" >&2
18+
exit 1
19+
fi
20+
if [[ "$2" -lt 1 || "$2" -gt 999 ]]; then
21+
echo "Error: --feature-num must be between 1 and 999" >&2
22+
exit 1
23+
fi
24+
FEATURE_NUM_OVERRIDE="$2"
25+
shift 2 ;;
26+
--help|-h) echo "Usage: $0 [--json] [--feature-num NUMBER(1-999)] <feature_description>"; exit 0 ;;
1327
*) ARGS+=("$1"); shift ;;
1428
esac
1529
done
1630

1731
FEATURE_DESCRIPTION="${ARGS[*]}"
1832
if [ -z "$FEATURE_DESCRIPTION" ]; then
19-
echo "Usage: $0 [--json] [--feature-num NUMBER] <feature_description>" >&2
33+
echo "Usage: $0 [--json] [--feature-num NUMBER(1-999)] <feature_description>" >&2
2034
exit 1
2135
fi
2236

scripts/powershell/create-new-feature.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
[CmdletBinding()]
44
param(
55
[switch]$Json,
6+
[ValidateRange(1, 999)]
67
[int]$FeatureNum = 0,
78
[Parameter(ValueFromRemainingArguments = $true)]
89
[string[]]$FeatureDescription
910
)
1011
$ErrorActionPreference = 'Stop'
1112

1213
if (-not $FeatureDescription -or $FeatureDescription.Count -eq 0) {
13-
Write-Error "Usage: ./create-new-feature.ps1 [-Json] [-FeatureNum NUMBER] <feature description>"; exit 1
14+
Write-Error "Usage: ./create-new-feature.ps1 [-Json] [-FeatureNum NUMBER(1-999)] <feature description>"; exit 1
1415
}
1516
$featureDesc = ($FeatureDescription -join ' ').Trim()
1617

0 commit comments

Comments
 (0)