diff --git a/packages/cli-module-new/src/lib/preparation/collectPortableTemplateInput.ts b/packages/cli-module-new/src/lib/preparation/collectPortableTemplateInput.ts index f4f19d1b4e..b40a35da6d 100644 --- a/packages/cli-module-new/src/lib/preparation/collectPortableTemplateInput.ts +++ b/packages/cli-module-new/src/lib/preparation/collectPortableTemplateInput.ts @@ -272,9 +272,9 @@ export function ownerPrompt(): DistinctQuestion { // Reuses the same pattern as namePrompt/pluginIdPrompt but extended to support npm scopes // Matches: @scope/package-name, @scope/package, package-name, package -const packageNamePattern = /^[a-z0-9]+(-[a-z0-9]+)*$/; +const packageNamePattern = /^[a-z0-9][a-z0-9._-]*$/; const scopedPackageNamePattern = - /^@[a-z0-9]+(-[a-z0-9]+)*\/[a-z0-9]+(-[a-z0-9]+)*$/; + /^@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/; function isValidNpmPackageName(name: string) { return packageNamePattern.test(name) || scopedPackageNamePattern.test(name);