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 { viewFilterStandardFieldIds } 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';
@ -60,5 +62,5 @@ export class ViewFilterObjectMetadata extends BaseObjectMetadata {
joinColumn: 'viewId',
})
@IsNullable()
view: ViewObjectMetadata;
view: Relation<ViewObjectMetadata>;
}

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 { viewSortStandardFieldIds } 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';
@ -45,5 +47,5 @@ export class ViewSortObjectMetadata extends BaseObjectMetadata {
joinColumn: 'viewId',
})
@IsNullable()
view: ViewObjectMetadata;
view: Relation<ViewObjectMetadata>;
}

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,
@ -108,7 +110,7 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewFields: ViewFieldObjectMetadata[];
viewFields: Relation<ViewFieldObjectMetadata[]>;
@FieldMetadata({
standardId: viewStandardFieldIds.viewFilters,
@ -123,7 +125,7 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewFilters: ViewFilterObjectMetadata[];
viewFilters: Relation<ViewFilterObjectMetadata[]>;
@FieldMetadata({
standardId: viewStandardFieldIds.viewSorts,
@ -138,5 +140,5 @@ export class ViewObjectMetadata extends BaseObjectMetadata {
onDelete: RelationOnDeleteAction.SET_NULL,
})
@IsNullable()
viewSorts: ViewSortObjectMetadata[];
viewSorts: Relation<ViewSortObjectMetadata[]>;
}