From 50e73c89b577a70e3dc750b8d2f22a3acec389d1 Mon Sep 17 00:00:00 2001 From: Aleksander Katan <56294622+aleksanderkatan@users.noreply.github.com> Date: Wed, 27 May 2026 12:12:59 +0200 Subject: [PATCH 1/2] Remove initial value, add default value --- packages/typegpu-cli/src/utils/inputs.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/typegpu-cli/src/utils/inputs.ts b/packages/typegpu-cli/src/utils/inputs.ts index 722779e347..61fa1f1d4a 100644 --- a/packages/typegpu-cli/src/utils/inputs.ts +++ b/packages/typegpu-cli/src/utils/inputs.ts @@ -15,9 +15,9 @@ export async function getProjectName(initialValue: string) { let projectName = await p.text({ message: 'Project name:', placeholder: initialValue, - initialValue, + defaultValue: initialValue, validate: (value) => { - return value && !isValidProjectDirectory(value) ? 'Invalid project name.' : undefined; + return !isValidProjectDirectory(value) ? 'Invalid project name.' : undefined; }, }); @@ -25,14 +25,12 @@ export async function getProjectName(initialValue: string) { cancelExit(); } - projectName ??= '.'; return projectName.trim(); } export async function getPackageName() { const packageName = await p.text({ message: 'Package name:', - initialValue: '', validate: (value) => { return !value || !isValidPackageName(value) ? 'Invalid package name.' : undefined; }, From 7d0e25bbf270e38afa32288a34d48f615e5c3d29 Mon Sep 17 00:00:00 2001 From: Szymon Szulc Date: Wed, 27 May 2026 18:51:10 +0200 Subject: [PATCH 2/2] fix --- packages/typegpu-cli/src/utils/inputs.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/typegpu-cli/src/utils/inputs.ts b/packages/typegpu-cli/src/utils/inputs.ts index 61fa1f1d4a..4c6f25fab3 100644 --- a/packages/typegpu-cli/src/utils/inputs.ts +++ b/packages/typegpu-cli/src/utils/inputs.ts @@ -4,11 +4,15 @@ import type { PackageJson } from './types.ts'; import { hasDependency, typegpuPkgs, VERSION } from './pkg.ts'; function isValidProjectDirectory(projectDir: string) { - return !/[<>:"\\|?*\s]|\/+$/.test(projectDir.trim()); + const trimmedDir = projectDir.trim(); + return ( + projectDir.length === 0 || (trimmedDir.length > 0 && !/[<>:"\\|?*\s]|\/+$/.test(trimmedDir)) + ); } export function isValidPackageName(packageName: string) { - return /^(?:@[a-z\d][a-z\d\-._]*\/)?[a-z\d][a-z\d\-._]*$/.test(packageName.trim()); + const trimmedName = packageName.trim(); + return /^(?:@[a-z\d][a-z\d\-._]*\/)?[a-z\d][a-z\d\-._]*$/.test(trimmedName); } export async function getProjectName(initialValue: string) { @@ -32,7 +36,7 @@ export async function getPackageName() { const packageName = await p.text({ message: 'Package name:', validate: (value) => { - return !value || !isValidPackageName(value) ? 'Invalid package name.' : undefined; + return !isValidPackageName(value) ? 'Invalid package name.' : undefined; }, });