create-new-express-app
Version:
A CLI tool to create a TypeScript Express application with best practices
27 lines (23 loc) • 585 B
text/typescript
// eslint-disable-next-line import/no-extraneous-dependencies
import validateProjectName from "validate-npm-package-name";
type ValidateNpmNameResult =
| {
valid: true;
}
| {
valid: false;
problems: string[];
};
export function validateNpmName(name: string): ValidateNpmNameResult {
const nameValidation = validateProjectName(name);
if (nameValidation.validForNewPackages) {
return { valid: true };
}
return {
valid: false,
problems: [
...(nameValidation.errors || []),
...(nameValidation.warnings || []),
],
};
}