TypeScript configuration for RentX, an open-source CRM for real estate. Enables strict null checks with ES module interop and Node resolution.
A TypeScript configuration skill for RentX, an open-source real estate CRM platform. This skill enforces type safety with strict null checking while maintaining flexibility for rapid development.
Configures the TypeScript compiler for the RentX CRM project with:
When working on this TypeScript project, follow these compiler configuration rules:
1. **Enable TypeScript**: Always use TypeScript for new files
2. **Null Safety**: Enforce strict null checks (`strictNullChecks: true`) - explicitly handle null and undefined values
3. **Module System**: Use Node.js module resolution (`moduleResolution: "node"`)
4. **ES Module Interop**: Enable ES module interoperability (`esModuleInterop: true`) for seamless imports
5. **Type Flexibility**: Allow implicit `any` types when needed (`noImplicitAny: false`)
6. **Unused Variables**: Do not warn about unused variables (`noUnusedVars: false`)
7. **JavaScript Files**: Do not allow `.js` files in the project (`allowJs: false`)
8. **Linting**: Disable TypeScript linting in favor of external linters (`lint: false`)
This configuration balances type safety with developer productivity:
When creating new files or refactoring existing code:
```typescript
// ✅ Good: Explicit null handling
function getUser(id: string): User | null {
const user = findUser(id);
if (!user) {
return null;
}
return user;
}
// ✅ Allowed: Using any when type is unclear
function processDynamicData(data: any) {
// Quick prototyping allowed
}
// ✅ Allowed: Unused variables won't trigger warnings
function handleEvent(event: Event, _metadata: unknown) {
console.log(event);
}
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/rentx-crm-typescript-configuration/raw