feat: enforce @/ alias for imports and fix all relative parent imports (#16787)
## Summary This PR enforces the use of `@/` alias for imports instead of relative parent imports (`../`). ## Changes ### ESLint Configuration - Added `no-restricted-imports` pattern in `eslint.config.react.mjs` to block `../*` imports with the message "Relative parent imports are not allowed. Use @/ alias instead." - Removed the non-working `import/no-relative-parent-imports` rule (doesn't work properly in ESLint flat config) ### VS Code Settings - Added `javascript.preferences.importModuleSpecifier: non-relative` to `.vscode/settings.json` (TypeScript setting was already there) ### Code Fixes - Fixed **941 relative parent imports** across **706 files** in `packages/twenty-front` - All `../` imports converted to use `@/` alias ## Why - Consistent import style across the codebase - Easier to move files without breaking imports - Better IDE support for auto-imports - Clearer understanding of where imports come from
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { createState } from 'twenty-ui/utilities';
|
||||
import { type SpreadsheetImportDialogOptions } from '../types';
|
||||
import { type SpreadsheetImportDialogOptions } from '@/spreadsheet-import/types';
|
||||
|
||||
export type SpreadsheetImportDialogState = {
|
||||
isOpen: boolean;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import camelCase from 'lodash.camelcase';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
import { AppTooltip, TooltipDelay } from 'twenty-ui/display';
|
||||
import { Checkbox, CheckboxVariant, Toggle } from 'twenty-ui/input';
|
||||
import { type ImportedStructuredRowMetadata } from '../types';
|
||||
import { type ImportedStructuredRowMetadata } from '@/spreadsheet-import/steps/components/ValidationStep/types';
|
||||
|
||||
const StyledHeaderContainer = styled.div`
|
||||
align-items: center;
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import { stepBarInternalState } from '@/ui/navigation/step-bar/states/stepBarInt
|
||||
import { ContextStoreDecorator } from '~/testing/decorators/ContextStoreDecorator';
|
||||
import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator';
|
||||
import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator';
|
||||
import { SpreadsheetImportStepperContainer } from '../SpreadsheetImportStepperContainer';
|
||||
import { SpreadsheetImportStepperContainer } from '@/spreadsheet-import/steps/components/SpreadsheetImportStepperContainer';
|
||||
|
||||
const meta: Meta<typeof SpreadsheetImportStepperContainer> = {
|
||||
title: 'Modules/SpreadsheetImport/Steps',
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import { type ImportedRow } from '@/spreadsheet-import/types/SpreadsheetImportIm
|
||||
import { type ImportedStructuredRow } from '@/spreadsheet-import/types/SpreadsheetImportImportedStructuredRow';
|
||||
import { type SpreadsheetImportRowHook } from '@/spreadsheet-import/types/SpreadsheetImportRowHook';
|
||||
import { type SpreadsheetImportTableHook } from '@/spreadsheet-import/types/SpreadsheetImportTableHook';
|
||||
import { type SpreadsheetImportStep } from '../steps/types/SpreadsheetImportStep';
|
||||
import { type SpreadsheetImportStep } from '@/spreadsheet-import/steps/types/SpreadsheetImportStep';
|
||||
|
||||
export type SpreadsheetImportDialogOptions = {
|
||||
// callback when RSI is closed before final submit
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
import { CSV_DANGEROUS_CHARACTERS } from '@/spreadsheet-import/constants/CsvDangerousCharacters';
|
||||
import { CSV_INJECTION_PREVENTION_ZWJ } from '@/spreadsheet-import/constants/CsvInjectionPreventionZwj';
|
||||
import { cleanZWJFromImportedValue } from '../cleanZWJFromImportedValue';
|
||||
import { containsCSVProtectionZWJ } from '../containsCSVProtectionZWJ';
|
||||
import { sanitizeValueForCSVExport } from '../sanitizeValueForCSVExport';
|
||||
import { cleanZWJFromImportedValue } from '@/spreadsheet-import/utils/cleanZWJFromImportedValue';
|
||||
import { containsCSVProtectionZWJ } from '@/spreadsheet-import/utils/containsCSVProtectionZWJ';
|
||||
import { sanitizeValueForCSVExport } from '@/spreadsheet-import/utils/sanitizeValueForCSVExport';
|
||||
|
||||
describe('csvSecurity', () => {
|
||||
describe('CSV_DANGEROUS_CHARACTERS regex', () => {
|
||||
|
||||
Reference in New Issue
Block a user