Change type import rule (#13751)

Forcing "type" to be explicit, works best will rollup on the frontend to
exclude depdendencies
This commit is contained in:
Félix Malfait
2025-08-08 01:27:05 +02:00
committed by GitHub
parent 525c8bfe3c
commit 8b4b9ef8da
2050 changed files with 5124 additions and 4912 deletions
@@ -1,7 +1,7 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Test, type TestingModule } from '@nestjs/testing';
import { ConfigCacheService } from 'src/engine/core-modules/twenty-config/cache/config-cache.service';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
describe('ConfigCacheService', () => {
let service: ConfigCacheService;
@@ -1,9 +1,9 @@
import { Injectable, OnModuleDestroy } from '@nestjs/common';
import { Injectable, type OnModuleDestroy } from '@nestjs/common';
import {
ConfigCacheEntry,
ConfigKey,
ConfigValue,
type ConfigCacheEntry,
type ConfigKey,
type ConfigValue,
} from './interfaces/config-cache-entry.interface';
@Injectable()
@@ -1,4 +1,4 @@
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
export type ConfigKey = keyof ConfigVariables;
export type ConfigValue<T extends ConfigKey> = ConfigVariables[T];
@@ -1,4 +1,4 @@
import { LogLevel, Logger } from '@nestjs/common';
import { type LogLevel, Logger } from '@nestjs/common';
import { plainToClass } from 'class-transformer';
import {
@@ -6,7 +6,7 @@ import {
IsOptional,
IsUrl,
ValidateIf,
ValidationError,
type ValidationError,
validateSync,
} from 'class-validator';
import { isDefined } from 'twenty-shared/utils';
@@ -20,7 +20,7 @@ import { EmailDriver } from 'src/engine/core-modules/email/enums/email-driver.en
import { ExceptionHandlerDriver } from 'src/engine/core-modules/exception-handler/interfaces';
import { StorageDriverType } from 'src/engine/core-modules/file-storage/interfaces';
import { LoggerDriverType } from 'src/engine/core-modules/logger/interfaces';
import { MeterDriver } from 'src/engine/core-modules/metrics/types/meter-driver.type';
import { type MeterDriver } from 'src/engine/core-modules/metrics/types/meter-driver.type';
import { ServerlessDriverType } from 'src/engine/core-modules/serverless/serverless.interface';
import { CastToLogLevelArray } from 'src/engine/core-modules/twenty-config/decorators/cast-to-log-level-array.decorator';
import { CastToMeterDriverArray } from 'src/engine/core-modules/twenty-config/decorators/cast-to-meter-driver.decorator';
@@ -1,7 +1,7 @@
import { LogLevel } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import { type LogLevel } from '@nestjs/common';
import { Test, type TestingModule } from '@nestjs/testing';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { CONFIG_VARIABLES_INSTANCE_TOKEN } from 'src/engine/core-modules/twenty-config/constants/config-variables-instance-tokens.constants';
import { ConfigValueConverterService } from 'src/engine/core-modules/twenty-config/conversion/config-value-converter.service';
import { ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
@@ -2,7 +2,7 @@ import { Inject, Injectable, Logger } from '@nestjs/common';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { CONFIG_VARIABLES_INSTANCE_TOKEN } from 'src/engine/core-modules/twenty-config/constants/config-variables-instance-tokens.constants';
import { ConfigVariablesMetadataMap } from 'src/engine/core-modules/twenty-config/decorators/config-variables-metadata.decorator';
import { type ConfigVariablesMetadataMap } from 'src/engine/core-modules/twenty-config/decorators/config-variables-metadata.decorator';
import { ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
import {
ConfigVariableException,
@@ -1,7 +1,7 @@
import {
ValidationOptions,
type ValidationOptions,
registerDecorator,
ValidationArguments,
type ValidationArguments,
} from 'class-validator';
export const AssertOrWarn = (
@@ -1,12 +1,12 @@
import {
IsOptional,
registerDecorator,
ValidationOptions,
type ValidationOptions,
} from 'class-validator';
import { ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
import { ConfigVariablesGroup } from 'src/engine/core-modules/twenty-config/enums/config-variables-group.enum';
import { ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { type ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
import { type ConfigVariablesGroup } from 'src/engine/core-modules/twenty-config/enums/config-variables-group.enum';
import { type ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { applyBasicValidators } from 'src/engine/core-modules/twenty-config/utils/apply-basic-validators.util';
import { TypedReflect } from 'src/utils/typed-reflect';
@@ -1,8 +1,8 @@
import {
registerDecorator,
ValidationOptions,
type ValidationOptions,
ValidatorConstraint,
ValidatorConstraintInterface,
type ValidatorConstraintInterface,
} from 'class-validator';
@ValidatorConstraint({ async: true })
@@ -1,8 +1,8 @@
import {
registerDecorator,
ValidationOptions,
type ValidationOptions,
ValidatorConstraint,
ValidatorConstraintInterface,
type ValidatorConstraintInterface,
} from 'class-validator';
@ValidatorConstraint({ async: true })
@@ -1,5 +1,5 @@
import { isNonEmptyString } from '@sniptt/guards';
import { ValidateIf, ValidationOptions, isDefined } from 'class-validator';
import { ValidateIf, type ValidationOptions, isDefined } from 'class-validator';
export function IsOptionalOrEmptyString(validationOptions?: ValidationOptions) {
return ValidateIf((_obj, value) => {
@@ -1,7 +1,7 @@
import {
registerDecorator,
ValidationArguments,
ValidationOptions,
type ValidationArguments,
type ValidationOptions,
} from 'class-validator';
export const IsStrictlyLowerThan = (
@@ -1,9 +1,9 @@
import {
registerDecorator,
ValidationArguments,
ValidationOptions,
type ValidationArguments,
type ValidationOptions,
ValidatorConstraint,
ValidatorConstraintInterface,
type ValidatorConstraintInterface,
} from 'class-validator';
import semver from 'semver';
@@ -1,7 +1,7 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Test, type TestingModule } from '@nestjs/testing';
import { ConfigCacheService } from 'src/engine/core-modules/twenty-config/cache/config-cache.service';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { DatabaseConfigDriver } from 'src/engine/core-modules/twenty-config/drivers/database-config.driver';
import { ConfigStorageService } from 'src/engine/core-modules/twenty-config/storage/config-storage.service';
import { isEnvOnlyConfigVar } from 'src/engine/core-modules/twenty-config/utils/is-env-only-config-var.util';
@@ -1,5 +1,5 @@
import { ConfigService } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { Test, type TestingModule } from '@nestjs/testing';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { CONFIG_VARIABLES_INSTANCE_TOKEN } from 'src/engine/core-modules/twenty-config/constants/config-variables-instance-tokens.constants';
@@ -1,7 +1,7 @@
import { Injectable, Logger, OnModuleInit } from '@nestjs/common';
import { Injectable, Logger, type OnModuleInit } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
import { DatabaseConfigDriverInterface } from 'src/engine/core-modules/twenty-config/drivers/interfaces/database-config-driver.interface';
import { type DatabaseConfigDriverInterface } from 'src/engine/core-modules/twenty-config/drivers/interfaces/database-config-driver.interface';
import { ConfigCacheService } from 'src/engine/core-modules/twenty-config/cache/config-cache.service';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
@@ -1,4 +1,4 @@
import { DynamicModule, Module } from '@nestjs/common';
import { type DynamicModule, Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
import { TypeOrmModule } from '@nestjs/typeorm';
@@ -1,4 +1,4 @@
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
/**
* Interface for drivers that support database-backed configuration
@@ -1,8 +1,8 @@
import { createHash } from 'crypto';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { ConfigVariablesGroup } from 'src/engine/core-modules/twenty-config/enums/config-variables-group.enum';
import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
import { type ConfigVariablesGroup } from 'src/engine/core-modules/twenty-config/enums/config-variables-group.enum';
import { type TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
import { TypedReflect } from 'src/utils/typed-reflect';
export abstract class DriverFactoryBase<TDriver> {
@@ -1,4 +1,6 @@
import { Catch, ExceptionFilter } from '@nestjs/common';
import { Catch, type ExceptionFilter } from '@nestjs/common';
import { assertUnreachable } from 'twenty-shared/utils';
import {
ForbiddenError,
@@ -27,9 +29,7 @@ export class ConfigVariableGraphqlApiExceptionFilter
case ConfigVariableExceptionCode.UNSUPPORTED_CONFIG_TYPE:
throw exception;
default: {
const _exhaustiveCheck: never = exception.code;
throw exception;
assertUnreachable(exception.code);
}
}
}
@@ -1,7 +1,7 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Test, type TestingModule } from '@nestjs/testing';
import { getRepositoryToken } from '@nestjs/typeorm';
import { DeleteResult, IsNull, Repository } from 'typeorm';
import { type DeleteResult, IsNull, type Repository } from 'typeorm';
import * as authUtils from 'src/engine/core-modules/auth/auth.util';
import {
@@ -18,8 +18,8 @@ import {
ConfigVariableException,
ConfigVariableExceptionCode,
} from 'src/engine/core-modules/twenty-config/twenty-config.exception';
import { User } from 'src/engine/core-modules/user/user.entity';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { type User } from 'src/engine/core-modules/user/user.entity';
import { type Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { TypedReflect } from 'src/utils/typed-reflect';
jest.mock('src/engine/core-modules/auth/auth.util', () => ({
@@ -1,7 +1,7 @@
import { Injectable, Logger } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { FindOptionsWhere, IsNull, Repository } from 'typeorm';
import { type FindOptionsWhere, IsNull, Repository } from 'typeorm';
import {
decryptText,
@@ -21,7 +21,7 @@ import {
} from 'src/engine/core-modules/twenty-config/twenty-config.exception';
import { TypedReflect } from 'src/utils/typed-reflect';
import { ConfigStorageInterface } from './interfaces/config-storage.interface';
import { type ConfigStorageInterface } from './interfaces/config-storage.interface';
@Injectable()
export class ConfigStorageService implements ConfigStorageInterface {
@@ -1,4 +1,4 @@
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
export interface ConfigStorageInterface {
get<T extends keyof ConfigVariables>(
@@ -1,4 +1,4 @@
import { DynamicModule, Global, Module } from '@nestjs/common';
import { type DynamicModule, Global, Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import {
@@ -1,7 +1,7 @@
import { ConfigService } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { Test, type TestingModule } from '@nestjs/testing';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { type ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { CONFIG_VARIABLES_INSTANCE_TOKEN } from 'src/engine/core-modules/twenty-config/constants/config-variables-instance-tokens.constants';
import { DatabaseConfigDriver } from 'src/engine/core-modules/twenty-config/drivers/database-config.driver';
import { EnvironmentConfigDriver } from 'src/engine/core-modules/twenty-config/drivers/environment-config.driver';
@@ -1,13 +1,13 @@
import { Injectable, Logger, Optional } from '@nestjs/common';
import { isString } from 'class-validator';
import { LoggerOptions } from 'typeorm/logger/LoggerOptions';
import { type LoggerOptions } from 'typeorm/logger/LoggerOptions';
import { NodeEnvironment } from 'src/engine/core-modules/twenty-config/interfaces/node-environment.interface';
import { ConfigVariables } from 'src/engine/core-modules/twenty-config/config-variables';
import { CONFIG_VARIABLES_MASKING_CONFIG } from 'src/engine/core-modules/twenty-config/constants/config-variables-masking-config';
import { ConfigVariablesMetadataOptions } from 'src/engine/core-modules/twenty-config/decorators/config-variables-metadata.decorator';
import { type ConfigVariablesMetadataOptions } from 'src/engine/core-modules/twenty-config/decorators/config-variables-metadata.decorator';
import { DatabaseConfigDriver } from 'src/engine/core-modules/twenty-config/drivers/database-config.driver';
import { EnvironmentConfigDriver } from 'src/engine/core-modules/twenty-config/drivers/environment-config.driver';
import { ConfigSource } from 'src/engine/core-modules/twenty-config/enums/config-source.enum';
@@ -1,9 +1,9 @@
import { ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
import { type ConfigVariableType } from 'src/engine/core-modules/twenty-config/enums/config-variable-type.enum';
import {
ConfigVariableException,
ConfigVariableExceptionCode,
} from 'src/engine/core-modules/twenty-config/twenty-config.exception';
import { ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { type ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { typeTransformers } from 'src/engine/core-modules/twenty-config/utils/type-transformers.registry';
export function applyBasicValidators(
@@ -12,7 +12,7 @@ import {
ConfigVariableException,
ConfigVariableExceptionCode,
} from 'src/engine/core-modules/twenty-config/twenty-config.exception';
import { ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { type ConfigVariableOptions } from 'src/engine/core-modules/twenty-config/types/config-variable-options.type';
import { configTransformers } from 'src/engine/core-modules/twenty-config/utils/config-transformers.util';
export interface TypeTransformer<T> {