Compile with swc on twenty-server (#4863)

Experiment using swc instead of tsc (as we did the switch on
twenty-front)

It's **much** faster (at least 5x) but has stricter requirements.
I fixed the build but there's still an error while starting the server,
opening this PR for discussion.

Checkout the branch and try `nx build:swc twenty-server`

Read: https://docs.nestjs.com/recipes/swc#common-pitfalls
This commit is contained in:
Félix Malfait
2024-04-14 09:09:51 +02:00
committed by GitHub
parent f82b1ff9ef
commit 9aa24ed803
50 changed files with 600 additions and 152 deletions

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { messageChannelMessageAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -29,7 +31,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageChannelId',
})
@IsNullable()
messageChannel: MessageChannelObjectMetadata;
messageChannel: Relation<MessageChannelObjectMetadata>;
@FieldMetadata({
standardId: messageChannelMessageAssociationStandardFieldIds.message,
@ -40,7 +42,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageId',
})
@IsNullable()
message: MessageObjectMetadata;
message: Relation<MessageObjectMetadata>;
@FieldMetadata({
standardId:
@ -62,7 +64,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe
joinColumn: 'messageThreadId',
})
@IsNullable()
messageThread: MessageThreadObjectMetadata;
messageThread: Relation<MessageThreadObjectMetadata>;
@FieldMetadata({
standardId:

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -89,7 +91,7 @@ export class MessageChannelObjectMetadata extends BaseObjectMetadata {
icon: 'IconUserCircle',
joinColumn: 'connectedAccountId',
})
connectedAccount: ConnectedAccountObjectMetadata;
connectedAccount: Relation<ConnectedAccountObjectMetadata>;
@FieldMetadata({
standardId: messageChannelStandardFieldIds.type,
@ -139,7 +141,9 @@ export class MessageChannelObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
@FieldMetadata({
standardId: messageChannelStandardFieldIds.syncCursor,

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { messageParticipantStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
@ -28,7 +30,7 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
icon: 'IconMessage',
joinColumn: 'messageId',
})
message: MessageObjectMetadata;
message: Relation<MessageObjectMetadata>;
@FieldMetadata({
standardId: messageParticipantStandardFieldIds.role,
@ -73,7 +75,7 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'personId',
})
@IsNullable()
person: PersonObjectMetadata;
person: Relation<PersonObjectMetadata>;
@FieldMetadata({
standardId: messageParticipantStandardFieldIds.workspaceMember,
@ -84,5 +86,5 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata {
joinColumn: 'workspaceMemberId',
})
@IsNullable()
workspaceMember: WorkspaceMemberObjectMetadata;
workspaceMember: Relation<WorkspaceMemberObjectMetadata>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -37,7 +39,7 @@ export class MessageThreadObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messages: MessageObjectMetadata[];
messages: Relation<MessageObjectMetadata[]>;
@FieldMetadata({
standardId: messageThreadStandardFieldIds.messageChannelMessageAssociations,
@ -52,5 +54,7 @@ export class MessageThreadObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.RESTRICT,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
}

View File

@ -1,3 +1,5 @@
import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
RelationMetadataType,
@ -43,7 +45,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
joinColumn: 'messageThreadId',
})
@IsNullable()
messageThread: MessageThreadObjectMetadata;
messageThread: Relation<MessageThreadObjectMetadata>;
@FieldMetadata({
standardId: messageStandardFieldIds.direction,
@ -101,7 +103,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageParticipants: MessageParticipantObjectMetadata[];
messageParticipants: Relation<MessageParticipantObjectMetadata[]>;
@FieldMetadata({
standardId: messageStandardFieldIds.messageChannelMessageAssociations,
@ -116,5 +118,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.CASCADE,
})
@IsNullable()
messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[];
messageChannelMessageAssociations: Relation<
MessageChannelMessageAssociationObjectMetadata[]
>;
}