From 21ce7ea4209b7f3943bf44546412b801e791d323 Mon Sep 17 00:00:00 2001
From: kratisinghh <159265433+kratisinghh@users.noreply.github.com>
Date: Sun, 25 Jan 2026 02:20:33 +0530
Subject: [PATCH] docs: align type import guidelines with ESLint configuration
(#17275)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
### Summary
The style guide currently discourages type imports, which contradicts
the enforced ESLint rule
`@typescript-eslint/consistent-type-imports` and existing code usage
(e.g. Storybook stories).
This PR updates the documentation to recommend inline type imports,
aligning the style guide
with tooling and preventing contributor confusion.
### Why
- Aligns documentation with enforced ESLint configuration
- Prevents ESLint auto-fix conflicts
- Improves contributor experience
Fixes #<### Summary
The style guide currently discourages type imports, which contradicts
the enforced ESLint rule
`@typescript-eslint/consistent-type-imports` and existing code usage
(e.g. Storybook stories).
This PR updates the documentation to recommend inline type imports,
aligning the style guide
with tooling and preventing contributor confusion.
### Why
- Aligns documentation with enforced ESLint configuration
- Prevents ESLint auto-fix conflicts
- Improves contributor experience
Fixes #<#17222>
---
> [!NOTE]
> Updates documentation to match tooling and current usage.
>
> - Replaces "Enforcing No-Type Imports" with **Type Imports**,
recommending inline type imports
> - Updates examples to prefer `import { type X } from ...` and avoid
importing types as runtime values
> - Clarifies ESLint `@typescript-eslint/consistent-type-imports`
configuration to prefer explicit type imports and enforce
`inline-type-imports` fix style
> - Changes confined to
`packages/twenty-docs/l/fr/developers/contribute/capabilities/frontend-development/style-guide.mdx`
>
> Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
e2250e43ad69a0a83f2ab1591441461a8503506d. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).
Co-authored-by: Félix Malfait
---
.../frontend-development/style-guide.mdx | 31 ++++++++++---------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/packages/twenty-docs/l/fr/developers/contribute/capabilities/frontend-development/style-guide.mdx b/packages/twenty-docs/l/fr/developers/contribute/capabilities/frontend-development/style-guide.mdx
index e3ba4a44f0..c5df02f800 100644
--- a/packages/twenty-docs/l/fr/developers/contribute/capabilities/frontend-development/style-guide.mdx
+++ b/packages/twenty-docs/l/fr/developers/contribute/capabilities/frontend-development/style-guide.mdx
@@ -258,33 +258,34 @@ const StyledButton = styled.button`
`;
```
-## Enforcing No-Type Imports
+## Type Imports
-Avoid type imports. To enforce this standard, an ESLint rule checks for and reports any type imports. This helps maintain consistency and readability in the TypeScript code.
+Prefer **inline type imports** when importing TypeScript types.
+This aligns with the enforced ESLint configuration and existing usage across the codebase.
```tsx
-// ❌ Bad
-import { type Meta, type StoryObj } from '@storybook/react';
+// ❌ Bad – imports types as runtime values
+import { Meta, StoryObj } from '@storybook/react-vite';
-// ❌ Bad
-import type { Meta, StoryObj } from '@storybook/react';
+// ❌ Bad – valid but not the preferred fix style
+import type { Meta, StoryObj } from '@storybook/react-vite';
-// ✅ Good
-import { Meta, StoryObj } from '@storybook/react';
+// ✅ Good – preferred inline type imports
+import { type Meta, type StoryObj } from '@storybook/react-vite';
```
-### Why No-Type Imports
+### Why Inline Type Imports
-* **Consistency**: By avoiding type imports and using a single approach for both type and value imports, the codebase remains consistent in its module import style.
+* **Consistency**: Matches the enforced ESLint rule and current code usage.
-* **Readability**: No-type imports improve code readability by making it clear when you're importing values or types. This reduces ambiguity and makes it easier to understand the purpose of imported symbols.
+* **Clarity**: Explicitly marks types while keeping imports grouped.
-* **Maintainability**: It enhances codebase maintainability because developers can identify and locate type-only imports when reviewing or modifying code.
+* **Tooling Alignment**: Avoids ESLint errors and unnecessary auto-fixes.
### ESLint Rule
-An ESLint rule, `@typescript-eslint/consistent-type-imports`, enforces the no-type import standard. This rule will generate errors or warnings for any type import violations.
+An ESLint rule, `@typescript-eslint/consistent-type-imports`, is configured to:
-Please note that this rule specifically addresses rare edge cases where unintentional type imports occur. TypeScript itself discourages this practice, as mentioned in the [TypeScript 3.8 release notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html). In most situations, you should not need to use type-only imports.
+* Prefer explicit type imports
-To ensure your code complies with this rule, make sure to run ESLint as part of your development workflow.
+* **Enforce** the `inline-type-imports` fix style