name: typescript description: Typescript rules for the project Applies to files matching: .tsx,.ts.
Typing Guidelines
- Avoid
anyat all cost. The types should work or they indicate a problem. - Never use
as "any"oras unknown asto solve/avoid type errors. The types should work or they indicate a problem. - Avoid using
asto cast to a specific type. The types should work or they indicate a problem.
Exports / Imports
- Never create index barrel files (index.ts, index.js)
- Always use direct imports with named exports
- Always use inline interfaces with function parameters
Examples
Good - Inline interface with function:
export function processData({
id,
name,
options,
}: {
id: string;
name: string;
options: ProcessingOptions;
}): ProcessedResult {
// implementation
}
Bad - Separated interface:
interface ProcessDataProps {
id: string;
name: string;
options: ProcessingOptions;
}
export function processDAta({
id,
name,
options,
}: ProcessDataProps): ProcessResult {
// Implementation
}