ruch
Version:
Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.
19 lines (15 loc) • 738 B
text/typescript
import path from 'path';
export const DOMAINS_SOURCE_DIRECTORY = 'src/domains';
export const buildDomainDirectoryPath = (domainName: string): string => {
return path.join(process.cwd(), DOMAINS_SOURCE_DIRECTORY, domainName);
};
export const getDomainsSourceDirectoryPath = (): string => {
return path.join(process.cwd(), DOMAINS_SOURCE_DIRECTORY);
};
export const validateDomainName = (name: string): boolean => {
// Check that the name is a valid TypeScript identifier
// Must start with letter or underscore, followed by letters, numbers, or underscores
// No hyphens, spaces, or special characters allowed
const validNamePattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
return validNamePattern.test(name) && name.length > 0;
};