create-eth
Version:
Create a Scaffold-ETH-2 app
24 lines (20 loc) • 565 B
text/typescript
import { basename, resolve } from "path";
import validateProjectName from "validate-npm-package-name";
type ValidateNpmNameResult =
| {
valid: true;
}
| {
valid: false;
problems: string[];
};
export function validateNpmName(name: string): ValidateNpmNameResult {
const nameValidation = validateProjectName(basename(resolve(name)));
if (nameValidation.validForNewPackages) {
return { valid: true };
}
return {
valid: false,
problems: [...(nameValidation.errors || []), ...(nameValidation.warnings || [])],
};
}