bee8c31b87
This adds a lint rule to ensure we don't import dev dependencies by accident.
19 lines
483 B
TypeScript
19 lines
483 B
TypeScript
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
import validateProjectName from 'validate-npm-package-name'
|
|
|
|
export function validateNpmName(
|
|
name: string
|
|
): { valid: boolean; problems?: string[] } {
|
|
const nameValidation = validateProjectName(name)
|
|
if (nameValidation.validForNewPackages) {
|
|
return { valid: true }
|
|
}
|
|
|
|
return {
|
|
valid: false,
|
|
problems: [
|
|
...(nameValidation.errors || []),
|
|
...(nameValidation.warnings || []),
|
|
],
|
|
}
|
|
}
|