diff --git a/package.json b/package.json index fbb8e741a..e5a44158a 100644 --- a/package.json +++ b/package.json @@ -220,6 +220,7 @@ "@storybook/testing-library": "^0.2.2", "@stylistic/eslint-plugin": "^1.5.0", "@swc-node/register": "1.8.0", + "@swc/cli": "^0.3.12", "@swc/core": "~1.3.100", "@swc/helpers": "~0.5.2", "@testing-library/jest-dom": "^6.1.5", diff --git a/packages/twenty-server/.swcrc b/packages/twenty-server/.swcrc new file mode 100644 index 000000000..e51680b8a --- /dev/null +++ b/packages/twenty-server/.swcrc @@ -0,0 +1,14 @@ + +{ + "$schema": "https://json.schemastore.org/swcrc", + "sourceMaps": true, + "jsc": { + "parser": { + "syntax": "typescript", + "decorators": true, + "dynamicImport": true + }, + "baseUrl": "./../../" + }, + "minify": false + } diff --git a/packages/twenty-server/@types/common.d.ts b/packages/twenty-server/@types/common.d.ts index fb78d4d60..25e390d68 100644 --- a/packages/twenty-server/@types/common.d.ts +++ b/packages/twenty-server/@types/common.d.ts @@ -6,3 +6,9 @@ type DeepPartial = { // eslint-disable-next-line @typescript-eslint/ban-types type ExcludeFunctions = T extends Function ? never : T; + +/** + * Wrapper type used to circumvent ESM modules circular dependency issue + * caused by reflection metadata saving the type of the property. + */ +type CircularDep = T; diff --git a/packages/twenty-server/nest-cli.json b/packages/twenty-server/nest-cli.json index 256648114..851fbb380 100644 --- a/packages/twenty-server/nest-cli.json +++ b/packages/twenty-server/nest-cli.json @@ -1,5 +1,9 @@ { "$schema": "https://json.schemastore.org/nest-cli", "collection": "@nestjs/schematics", - "sourceRoot": "src" + "sourceRoot": "src", + "compilerOptions": { + "builder": "swc", + "typeCheck": true + } } diff --git a/packages/twenty-server/project.json b/packages/twenty-server/project.json index 95da95eec..40ab2b70e 100644 --- a/packages/twenty-server/project.json +++ b/packages/twenty-server/project.json @@ -9,7 +9,7 @@ "cwd": "packages/twenty-server", "commands": ["rimraf dist", "nest build --path ./tsconfig.build.json"] } - }, + }, "build:packageJson": { "executor": "@nx/js:tsc", "options": { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts index 862c439ac..51371924d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-builder/factories/relation-field-alias.factory.ts @@ -25,7 +25,7 @@ export class RelationFieldAliasFactory { constructor( @Inject(forwardRef(() => FieldsStringFactory)) - private readonly fieldsStringFactory: FieldsStringFactory, + private readonly fieldsStringFactory: CircularDep, private readonly argsStringFactory: ArgsStringFactory, private readonly objectMetadataService: ObjectMetadataService, ) {} diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts index 183a41903..5b0a89fa0 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type-definition.factory.ts @@ -30,7 +30,7 @@ export interface InputTypeDefinition { export class InputTypeDefinitionFactory { constructor( @Inject(forwardRef(() => InputTypeFactory)) - private readonly inputTypeFactory: InputTypeFactory, + private readonly inputTypeFactory: CircularDep, private readonly typeMapperService: TypeMapperService, ) {} diff --git a/packages/twenty-server/src/engine/core-modules/app-token/app-token.entity.ts b/packages/twenty-server/src/engine/core-modules/app-token/app-token.entity.ts index 546b5f507..80c8ac51e 100644 --- a/packages/twenty-server/src/engine/core-modules/app-token/app-token.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/app-token/app-token.entity.ts @@ -8,6 +8,7 @@ import { JoinColumn, CreateDateColumn, UpdateDateColumn, + Relation, } from 'typeorm'; import { BeforeCreateOne, IDField } from '@ptc-org/nestjs-query-graphql'; @@ -33,7 +34,7 @@ export class AppToken { onDelete: 'CASCADE', }) @JoinColumn({ name: 'userId' }) - user: User; + user: Relation; @Column() userId: string; @@ -42,7 +43,7 @@ export class AppToken { onDelete: 'CASCADE', }) @JoinColumn({ name: 'workspaceId' }) - workspace: Workspace; + workspace: Relation; @Column({ nullable: true }) workspaceId: string; diff --git a/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts index 4b13cc2aa..47f24a59e 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription-item.entity.ts @@ -4,6 +4,7 @@ import { Entity, ManyToOne, PrimaryGeneratedColumn, + Relation, Unique, UpdateDateColumn, } from 'typeorm'; @@ -42,7 +43,7 @@ export class BillingSubscriptionItem { onDelete: 'CASCADE', }, ) - billingSubscription: BillingSubscription; + billingSubscription: Relation; @Column({ nullable: false }) stripeProductId: string; diff --git a/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts index 00733fbf6..4da2b3ef5 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/entities/billing-subscription.entity.ts @@ -8,6 +8,7 @@ import { ManyToOne, OneToMany, PrimaryGeneratedColumn, + Relation, UpdateDateColumn, } from 'typeorm'; import Stripe from 'stripe'; @@ -37,7 +38,7 @@ export class BillingSubscription { onDelete: 'CASCADE', }) @JoinColumn() - workspace: Workspace; + workspace: Relation; @Column({ nullable: false, type: 'uuid' }) workspaceId: string; @@ -48,17 +49,17 @@ export class BillingSubscription { @Column({ unique: true, nullable: false }) stripeSubscriptionId: string; - @Field() - @Column({ nullable: false }) + @Field(() => String) + @Column({ type: 'text', nullable: false }) status: Stripe.Subscription.Status; - @Field({ nullable: true }) - @Column({ nullable: true }) + @Field(() => String, { nullable: true }) + @Column({ type: 'text', nullable: true }) interval: Stripe.Price.Recurring.Interval; @OneToMany( () => BillingSubscriptionItem, (billingSubscriptionItem) => billingSubscriptionItem.billingSubscription, ) - billingSubscriptionItems: BillingSubscriptionItem[]; + billingSubscriptionItems: Relation; } diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts index 617ecd03e..544e1cca1 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/feature-flag.entity.ts @@ -8,6 +8,7 @@ import { CreateDateColumn, UpdateDateColumn, ManyToOne, + Relation, } from 'typeorm'; import { IDField } from '@ptc-org/nestjs-query-graphql'; @@ -43,7 +44,7 @@ export class FeatureFlagEntity { @ManyToOne(() => Workspace, (workspace) => workspace.featureFlags, { onDelete: 'CASCADE', }) - workspace: Workspace; + workspace: Relation; @Field() @Column({ nullable: false }) diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts index 57d6cc196..0004ad405 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts @@ -8,6 +8,7 @@ import { JoinColumn, ManyToOne, PrimaryGeneratedColumn, + Relation, Unique, UpdateDateColumn, } from 'typeorm'; @@ -29,7 +30,7 @@ export class UserWorkspace { onDelete: 'CASCADE', }) @JoinColumn({ name: 'userId' }) - user: User; + user: Relation; @Field({ nullable: false }) @Column() @@ -40,7 +41,7 @@ export class UserWorkspace { onDelete: 'CASCADE', }) @JoinColumn({ name: 'workspaceId' }) - workspace: Workspace; + workspace: Relation; @Field({ nullable: false }) @Column() diff --git a/packages/twenty-server/src/engine/core-modules/user/user.entity.ts b/packages/twenty-server/src/engine/core-modules/user/user.entity.ts index ca61cadb9..30e54cf97 100644 --- a/packages/twenty-server/src/engine/core-modules/user/user.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.entity.ts @@ -8,6 +8,7 @@ import { UpdateDateColumn, OneToMany, ManyToOne, + Relation, } from 'typeorm'; import { IDField } from '@ptc-org/nestjs-query-graphql'; @@ -72,7 +73,7 @@ export class User { @ManyToOne(() => Workspace, (workspace) => workspace.users, { onDelete: 'SET NULL', }) - defaultWorkspace: Workspace; + defaultWorkspace: Relation; @Field() @Column() @@ -89,12 +90,12 @@ export class User { @OneToMany(() => AppToken, (appToken) => appToken.user, { cascade: true, }) - appTokens: AppToken[]; + appTokens: Relation; @Field(() => WorkspaceMember, { nullable: true }) - workspaceMember: WorkspaceMember; + workspaceMember: Relation; @Field(() => [UserWorkspace]) @OneToMany(() => UserWorkspace, (userWorkspace) => userWorkspace.user) - workspaces: UserWorkspace[]; + workspaces: Relation; } diff --git a/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts index 09bd051b8..8e8182c84 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts @@ -7,6 +7,7 @@ import { Entity, OneToMany, PrimaryGeneratedColumn, + Relation, UpdateDateColumn, } from 'typeorm'; import Stripe from 'stripe'; @@ -60,25 +61,25 @@ export class Workspace { @OneToMany(() => AppToken, (appToken) => appToken.workspace, { cascade: true, }) - appTokens: AppToken[]; + appTokens: Relation; @OneToMany(() => User, (user) => user.defaultWorkspace) - users: User[]; + users: Relation; @OneToMany(() => UserWorkspace, (userWorkspace) => userWorkspace.workspace, { onDelete: 'CASCADE', }) - workspaceUsers: UserWorkspace[]; + workspaceUsers: Relation; @Field() @Column({ default: true }) allowImpersonation: boolean; @OneToMany(() => FeatureFlagEntity, (featureFlag) => featureFlag.workspace) - featureFlags: FeatureFlagEntity[]; + featureFlags: Relation; - @Field() - @Column({ default: 'incomplete' }) + @Field(() => String) + @Column({ type: 'text', default: 'incomplete' }) subscriptionStatus: Stripe.Subscription.Status; @Field({ nullable: true }) @@ -91,5 +92,5 @@ export class Workspace { () => BillingSubscription, (billingSubscription) => billingSubscription.workspace, ) - billingSubscriptions: BillingSubscription[]; + billingSubscriptions: Relation; } diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts index 3f9727994..c8d3480f9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/relation-definition.dto.ts @@ -1,6 +1,7 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql'; import { IsEnum, IsNotEmpty } from 'class-validator'; +import { Relation } from 'typeorm'; import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto'; @@ -22,19 +23,19 @@ registerEnumType(RelationDefinitionType, { export class RelationDefinitionDTO { @IsNotEmpty() @Field(() => ObjectMetadataDTO) - sourceObjectMetadata: ObjectMetadataDTO; + sourceObjectMetadata: Relation; @IsNotEmpty() @Field(() => ObjectMetadataDTO) - targetObjectMetadata: ObjectMetadataDTO; + targetObjectMetadata: Relation; @IsNotEmpty() @Field(() => FieldMetadataDTO) - sourceFieldMetadata: FieldMetadataDTO; + sourceFieldMetadata: Relation; @IsNotEmpty() @Field(() => FieldMetadataDTO) - targetFieldMetadata: FieldMetadataDTO; + targetFieldMetadata: Relation; @IsEnum(RelationDefinitionType) @IsNotEmpty() diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts index ede4e44b1..4ddaecc0d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts @@ -8,6 +8,7 @@ import { OneToOne, CreateDateColumn, UpdateDateColumn, + Relation, } from 'typeorm'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; @@ -63,7 +64,7 @@ export class FieldMetadataEntity< onDelete: 'CASCADE', }) @JoinColumn({ name: 'objectMetadataId' }) - object: ObjectMetadataEntity; + object: Relation; @Column({ nullable: false }) type: FieldMetadataType; @@ -105,13 +106,13 @@ export class FieldMetadataEntity< () => RelationMetadataEntity, (relation: RelationMetadataEntity) => relation.fromFieldMetadata, ) - fromRelationMetadata: RelationMetadataEntity; + fromRelationMetadata: Relation; @OneToOne( () => RelationMetadataEntity, (relation: RelationMetadataEntity) => relation.toFieldMetadata, ) - toRelationMetadata: RelationMetadataEntity; + toRelationMetadata: Relation; @CreateDateColumn({ type: 'timestamptz' }) createdAt: Date; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts index ac806670c..d4cf45c14 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.entity.ts @@ -7,6 +7,7 @@ import { CreateDateColumn, UpdateDateColumn, ManyToOne, + Relation, } from 'typeorm'; import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; @@ -79,7 +80,7 @@ export class ObjectMetadataEntity implements ObjectMetadataInterface { @OneToMany(() => FieldMetadataEntity, (field) => field.object, { cascade: true, }) - fields: FieldMetadataEntity[]; + fields: Relation; @OneToMany( () => RelationMetadataEntity, @@ -88,7 +89,7 @@ export class ObjectMetadataEntity implements ObjectMetadataInterface { cascade: true, }, ) - fromRelations: RelationMetadataEntity[]; + fromRelations: Relation; @OneToMany( () => RelationMetadataEntity, @@ -97,12 +98,12 @@ export class ObjectMetadataEntity implements ObjectMetadataInterface { cascade: true, }, ) - toRelations: RelationMetadataEntity[]; + toRelations: Relation; @ManyToOne(() => DataSourceEntity, (dataSource) => dataSource.objects, { onDelete: 'CASCADE', }) - dataSource: DataSourceEntity; + dataSource: Relation; @CreateDateColumn({ type: 'timestamptz' }) createdAt: Date; diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts index ebe9146d8..25f0ad6f9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.entity.ts @@ -6,6 +6,7 @@ import { ManyToOne, OneToOne, PrimaryGeneratedColumn, + Relation, UpdateDateColumn, } from 'typeorm'; @@ -65,7 +66,7 @@ export class RelationMetadataEntity implements RelationMetadataInterface { onDelete: 'CASCADE', }, ) - fromObjectMetadata: ObjectMetadataEntity; + fromObjectMetadata: Relation; @ManyToOne( () => ObjectMetadataEntity, @@ -74,21 +75,21 @@ export class RelationMetadataEntity implements RelationMetadataInterface { onDelete: 'CASCADE', }, ) - toObjectMetadata: ObjectMetadataEntity; + toObjectMetadata: Relation; @OneToOne( () => FieldMetadataEntity, (field: FieldMetadataEntity) => field.fromRelationMetadata, ) @JoinColumn() - fromFieldMetadata: FieldMetadataEntity; + fromFieldMetadata: Relation; @OneToOne( () => FieldMetadataEntity, (field: FieldMetadataEntity) => field.toRelationMetadata, ) @JoinColumn() - toFieldMetadata: FieldMetadataEntity; + toFieldMetadata: Relation; @CreateDateColumn({ type: 'timestamptz' }) createdAt: Date; diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.entity.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.entity.ts index cd6edc5dd..54c71af59 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-server.entity.ts @@ -39,7 +39,7 @@ export class RemoteServerEntity { @Generated('uuid') foreignDataWrapperId: string; - @Column({ nullable: true }) + @Column({ type: 'text', nullable: true }) foreignDataWrapperType: T; @Column({ nullable: true, type: 'jsonb' }) diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json.ts similarity index 99% rename from packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json rename to packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json.ts index 799f3c262..91372c35d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json.ts @@ -1,4 +1,4 @@ -[ +export const companiesDemo = [ { "name": "Google", "domainName": "goo.gle", diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts index f1df5a2dd..49834df39 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts @@ -1,6 +1,6 @@ import { EntityManager } from 'typeorm'; -import companiesDemo from './companies-demo.json'; +import { companiesDemo } from 'src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json'; export const companyPrefillDemoData = async ( entityManager: EntityManager, diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json.ts similarity index 99% rename from packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json rename to packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json.ts index bbd4cf2fa..3d08e5582 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json.ts @@ -1,4 +1,4 @@ -[ +export const peopleDemo = [ { "firstName": "Mark", "lastName": "Young", diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/person.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/person.ts index 48df7d4b8..9ed34a977 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/person.ts +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/person.ts @@ -1,6 +1,6 @@ import { EntityManager } from 'typeorm'; -import peopleDemo from './people-demo.json'; +import { peopleDemo } from 'src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json'; export const personPrefillDemoData = async ( entityManager: EntityManager, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface.ts new file mode 100644 index 000000000..dfea3fccf --- /dev/null +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface.ts @@ -0,0 +1,5 @@ +/** + * Wrapper type used to circumvent ESM modules circular dependency issue + * caused by reflection metadata saving the type of the property. + */ +export type Relation = T; diff --git a/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts index 69986a503..3a71ce2ee 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity-target.object-metadata.ts @@ -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 { activityTargetStandardFieldIds } 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'; @@ -32,7 +34,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata { joinColumn: 'activityId', }) @IsNullable() - activity: ActivityObjectMetadata; + activity: Relation; @FieldMetadata({ standardId: activityTargetStandardFieldIds.person, @@ -43,7 +45,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: activityTargetStandardFieldIds.company, @@ -54,7 +56,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: activityTargetStandardFieldIds.opportunity, @@ -65,7 +67,7 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata { joinColumn: 'opportunityId', }) @IsNullable() - opportunity: OpportunityObjectMetadata; + opportunity: Relation; @DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({ standardId: activityTargetStandardFieldIds.custom, @@ -75,5 +77,5 @@ export class ActivityTargetObjectMetadata extends BaseObjectMetadata { joinColumn: `${oppositeObjectMetadata.nameSingular}Id`, icon: 'IconBuildingSkyscraper', })) - custom: CustomObjectMetadata; + custom: Relation; } diff --git a/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts index 8a49be75f..e61224ef2 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/activity.object-metadata.ts @@ -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, @@ -97,7 +99,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - activityTargets: ActivityTargetObjectMetadata[]; + activityTargets: Relation; @FieldMetadata({ standardId: activityStandardFieldIds.attachments, @@ -112,7 +114,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - attachments: AttachmentObjectMetadata[]; + attachments: Relation; @FieldMetadata({ standardId: activityStandardFieldIds.comments, @@ -127,7 +129,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - comments: CommentObjectMetadata[]; + comments: Relation; @FieldMetadata({ standardId: activityStandardFieldIds.author, @@ -138,7 +140,7 @@ export class ActivityObjectMetadata extends BaseObjectMetadata { joinColumn: 'authorId', }) @IsNullable() - author: WorkspaceMemberObjectMetadata; + author: Relation; @FieldMetadata({ standardId: activityStandardFieldIds.assignee, @@ -149,5 +151,5 @@ export class ActivityObjectMetadata extends BaseObjectMetadata { joinColumn: 'assigneeId', }) @IsNullable() - assignee: WorkspaceMemberObjectMetadata; + assignee: Relation; } diff --git a/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts index 374751a21..3bb34d5ae 100644 --- a/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts +++ b/packages/twenty-server/src/modules/activity/standard-objects/comment.object-metadata.ts @@ -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 { commentStandardFieldIds } 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'; @@ -35,7 +37,7 @@ export class CommentObjectMetadata extends BaseObjectMetadata { icon: 'IconCircleUser', joinColumn: 'authorId', }) - author: WorkspaceMemberObjectMetadata; + author: Relation; @FieldMetadata({ standardId: commentStandardFieldIds.activity, @@ -45,5 +47,5 @@ export class CommentObjectMetadata extends BaseObjectMetadata { icon: 'IconNotes', joinColumn: 'activityId', }) - activity: ActivityObjectMetadata; + activity: Relation; } diff --git a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts index 26f410665..9bbc2a593 100644 --- a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts +++ b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.object-metadata.ts @@ -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 { attachmentStandardFieldIds } 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'; @@ -59,7 +61,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { icon: 'IconCircleUser', joinColumn: 'authorId', }) - author: WorkspaceMemberObjectMetadata; + author: Relation; @FieldMetadata({ standardId: attachmentStandardFieldIds.activity, @@ -70,7 +72,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { joinColumn: 'activityId', }) @IsNullable() - activity: ActivityObjectMetadata; + activity: Relation; @FieldMetadata({ standardId: attachmentStandardFieldIds.person, @@ -81,7 +83,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: attachmentStandardFieldIds.company, @@ -92,7 +94,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: attachmentStandardFieldIds.opportunity, @@ -103,7 +105,7 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { joinColumn: 'opportunityId', }) @IsNullable() - opportunity: OpportunityObjectMetadata; + opportunity: Relation; @DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({ standardId: attachmentStandardFieldIds.custom, @@ -113,5 +115,5 @@ export class AttachmentObjectMetadata extends BaseObjectMetadata { joinColumn: `${oppositeObjectMetadata.nameSingular}Id`, icon: 'IconBuildingSkyscraper', })) - custom: CustomObjectMetadata; + custom: Relation; } diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts index ca5d82590..c962abecc 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { calendarChannelEventAssociationStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; @@ -30,7 +32,7 @@ export class CalendarChannelEventAssociationObjectMetadata extends BaseObjectMet icon: 'IconCalendar', joinColumn: 'calendarChannelId', }) - calendarChannel: CalendarEventObjectMetadata; + calendarChannel: Relation; @FieldMetadata({ standardId: calendarChannelEventAssociationStandardFieldIds.calendarEvent, @@ -40,7 +42,7 @@ export class CalendarChannelEventAssociationObjectMetadata extends BaseObjectMet icon: 'IconCalendar', joinColumn: 'calendarEventId', }) - calendarEvent: CalendarEventObjectMetadata; + calendarEvent: Relation; @FieldMetadata({ standardId: calendarChannelEventAssociationStandardFieldIds.eventExternalId, diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts index d5ec0c1dd..eaceacc91 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-channel.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { RelationMetadataType, RelationOnDeleteAction, @@ -41,7 +43,7 @@ export class CalendarChannelObjectMetadata extends BaseObjectMetadata { icon: 'IconUserCircle', joinColumn: 'connectedAccountId', }) - connectedAccount: ConnectedAccountObjectMetadata; + connectedAccount: Relation; @FieldMetadata({ standardId: calendarChannelStandardFieldIds.handle, @@ -119,5 +121,7 @@ export class CalendarChannelObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => CalendarChannelEventAssociationObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - calendarChannelEventAssociations: CalendarChannelEventAssociationObjectMetadata[]; + calendarChannelEventAssociations: Relation< + CalendarChannelEventAssociationObjectMetadata[] + >; } diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts index 7de170d9f..3e7bebd35 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event-participant.object-metadata.ts @@ -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 { calendarEventParticipantStandardFieldIds } 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'; @@ -39,7 +41,7 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata { icon: 'IconCalendar', joinColumn: 'calendarEventId', }) - calendarEvent: CalendarEventObjectMetadata; + calendarEvent: Relation; @FieldMetadata({ standardId: calendarEventParticipantStandardFieldIds.handle, @@ -114,7 +116,7 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: calendarEventParticipantStandardFieldIds.workspaceMember, @@ -125,5 +127,5 @@ export class CalendarEventParticipantObjectMetadata extends BaseObjectMetadata { joinColumn: 'workspaceMemberId', }) @IsNullable() - workspaceMember: WorkspaceMemberObjectMetadata; + workspaceMember: Relation; } diff --git a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts index 14c8b509a..8be72db68 100644 --- a/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts +++ b/packages/twenty-server/src/modules/calendar/standard-objects/calendar-event.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator'; import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; @@ -168,7 +170,9 @@ export class CalendarEventObjectMetadata extends BaseObjectMetadata { @Gate({ featureFlag: 'IS_CALENDAR_ENABLED', }) - calendarChannelEventAssociations: CalendarChannelEventAssociationObjectMetadata[]; + calendarChannelEventAssociations: Relation< + CalendarChannelEventAssociationObjectMetadata[] + >; @FieldMetadata({ standardId: calendarEventStandardFieldIds.calendarEventParticipants, @@ -182,5 +186,5 @@ export class CalendarEventObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => CalendarEventParticipantObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - calendarEventParticipants: CalendarEventParticipantObjectMetadata[]; + calendarEventParticipants: Relation; } diff --git a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts index 78ebe912e..e4a2ea05f 100644 --- a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts +++ b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; @@ -135,7 +137,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - people: PersonObjectMetadata[]; + people: Relation; @FieldMetadata({ standardId: companyStandardFieldIds.accountOwner, @@ -162,7 +164,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - activityTargets: ActivityTargetObjectMetadata[]; + activityTargets: Relation; @FieldMetadata({ standardId: companyStandardFieldIds.opportunities, @@ -177,7 +179,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - opportunities: OpportunityObjectMetadata[]; + opportunities: Relation; @FieldMetadata({ standardId: companyStandardFieldIds.favorites, @@ -193,7 +195,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { }) @IsNullable() @IsSystem() - favorites: FavoriteObjectMetadata[]; + favorites: Relation; @FieldMetadata({ standardId: companyStandardFieldIds.attachments, @@ -208,7 +210,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - attachments: AttachmentObjectMetadata[]; + attachments: Relation; @FieldMetadata({ standardId: companyStandardFieldIds.events, @@ -224,5 +226,5 @@ export class CompanyObjectMetadata extends BaseObjectMetadata { }) @IsNullable() @IsSystem() - events: EventObjectMetadata[]; + events: Relation; } diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts index 089da894e..c821a6abb 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/blocklist.object-metadata.ts @@ -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 { blocklistStandardFieldIds } 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'; @@ -34,5 +36,5 @@ export class BlocklistObjectMetadata extends BaseObjectMetadata { icon: 'IconCircleUser', joinColumn: 'workspaceMemberId', }) - workspaceMember: WorkspaceMemberObjectMetadata; + workspaceMember: Relation; } diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts index 5f2fa98a9..fa6a4ce58 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { FeatureFlagKeys } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { @@ -75,7 +77,7 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata { icon: 'IconUserCircle', joinColumn: 'accountOwnerId', }) - accountOwner: WorkspaceMemberObjectMetadata; + accountOwner: Relation; @FieldMetadata({ standardId: connectedAccountStandardFieldIds.lastSyncHistoryId, @@ -108,7 +110,7 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => MessageChannelObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - messageChannels: MessageChannelObjectMetadata[]; + messageChannels: Relation; @FieldMetadata({ standardId: connectedAccountStandardFieldIds.calendarChannels, @@ -125,5 +127,5 @@ export class ConnectedAccountObjectMetadata extends BaseObjectMetadata { @Gate({ featureFlag: FeatureFlagKeys.IsCalendarEnabled, }) - calendarChannels: CalendarChannelObjectMetadata[]; + calendarChannels: Relation; } diff --git a/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts b/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts index 90bc5c20e..cf3dd809e 100644 --- a/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts +++ b/packages/twenty-server/src/modules/event/standard-objects/event.object-metadata.ts @@ -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 { eventStandardFieldIds } 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'; @@ -53,7 +55,7 @@ export class EventObjectMetadata extends BaseObjectMetadata { joinColumn: 'workspaceMemberId', }) @IsNullable() - workspaceMember: WorkspaceMemberObjectMetadata; + workspaceMember: Relation; @FieldMetadata({ standardId: eventStandardFieldIds.person, @@ -64,7 +66,7 @@ export class EventObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: eventStandardFieldIds.company, @@ -75,7 +77,7 @@ export class EventObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: eventStandardFieldIds.opportunity, @@ -86,7 +88,7 @@ export class EventObjectMetadata extends BaseObjectMetadata { joinColumn: 'opportunityId', }) @IsNullable() - opportunity: OpportunityObjectMetadata; + opportunity: Relation; @DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({ standardId: eventStandardFieldIds.custom, @@ -96,5 +98,5 @@ export class EventObjectMetadata extends BaseObjectMetadata { joinColumn: `${oppositeObjectMetadata.nameSingular}Id`, icon: 'IconBuildingSkyscraper', })) - custom: CustomObjectMetadata; + custom: Relation; } diff --git a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts index 104f9406c..42c6af8c0 100644 --- a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts +++ b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.object-metadata.ts @@ -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 { favoriteStandardFieldIds } 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'; @@ -42,7 +44,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata { icon: 'IconCircleUser', joinColumn: 'workspaceMemberId', }) - workspaceMember: WorkspaceMemberObjectMetadata; + workspaceMember: Relation; @FieldMetadata({ standardId: favoriteStandardFieldIds.person, @@ -53,7 +55,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: favoriteStandardFieldIds.company, @@ -64,7 +66,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: favoriteStandardFieldIds.opportunity, @@ -75,7 +77,7 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata { joinColumn: 'opportunityId', }) @IsNullable() - opportunity: OpportunityObjectMetadata; + opportunity: Relation; @DynamicRelationFieldMetadata((oppositeObjectMetadata) => ({ standardId: favoriteStandardFieldIds.custom, @@ -85,5 +87,5 @@ export class FavoriteObjectMetadata extends BaseObjectMetadata { joinColumn: `${oppositeObjectMetadata.nameSingular}Id`, icon: 'IconBuildingSkyscraper', })) - custom: CustomObjectMetadata; + custom: Relation; } diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts index 19e946bbc..795e66d93 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel-message-association.object-metadata.ts @@ -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; @FieldMetadata({ standardId: messageChannelMessageAssociationStandardFieldIds.message, @@ -40,7 +42,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe joinColumn: 'messageId', }) @IsNullable() - message: MessageObjectMetadata; + message: Relation; @FieldMetadata({ standardId: @@ -62,7 +64,7 @@ export class MessageChannelMessageAssociationObjectMetadata extends BaseObjectMe joinColumn: 'messageThreadId', }) @IsNullable() - messageThread: MessageThreadObjectMetadata; + messageThread: Relation; @FieldMetadata({ standardId: diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts index 5164e9b37..855ff0802 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-channel.object-metadata.ts @@ -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; @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, diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts index 6c0e39c6f..e317e1c1c 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-participant.object-metadata.ts @@ -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; @FieldMetadata({ standardId: messageParticipantStandardFieldIds.role, @@ -73,7 +75,7 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata { joinColumn: 'personId', }) @IsNullable() - person: PersonObjectMetadata; + person: Relation; @FieldMetadata({ standardId: messageParticipantStandardFieldIds.workspaceMember, @@ -84,5 +86,5 @@ export class MessageParticipantObjectMetadata extends BaseObjectMetadata { joinColumn: 'workspaceMemberId', }) @IsNullable() - workspaceMember: WorkspaceMemberObjectMetadata; + workspaceMember: Relation; } diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts index a6c934c91..565ec0473 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message-thread.object-metadata.ts @@ -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; @FieldMetadata({ standardId: messageThreadStandardFieldIds.messageChannelMessageAssociations, @@ -52,5 +54,7 @@ export class MessageThreadObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.RESTRICT, }) @IsNullable() - messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[]; + messageChannelMessageAssociations: Relation< + MessageChannelMessageAssociationObjectMetadata[] + >; } diff --git a/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts index f7d944e21..bbc690dec 100644 --- a/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts +++ b/packages/twenty-server/src/modules/messaging/standard-objects/message.object-metadata.ts @@ -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; @FieldMetadata({ standardId: messageStandardFieldIds.direction, @@ -101,7 +103,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - messageParticipants: MessageParticipantObjectMetadata[]; + messageParticipants: Relation; @FieldMetadata({ standardId: messageStandardFieldIds.messageChannelMessageAssociations, @@ -116,5 +118,7 @@ export class MessageObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - messageChannelMessageAssociations: MessageChannelMessageAssociationObjectMetadata[]; + messageChannelMessageAssociations: Relation< + MessageChannelMessageAssociationObjectMetadata[] + >; } diff --git a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts index c8353dd13..87123e4d4 100644 --- a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts +++ b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { CurrencyMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { @@ -109,7 +111,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { joinColumn: 'pointOfContactId', }) @IsNullable() - pointOfContact: PersonObjectMetadata; + pointOfContact: Relation; @FieldMetadata({ standardId: opportunityStandardFieldIds.company, @@ -120,7 +122,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: opportunityStandardFieldIds.favorites, @@ -136,7 +138,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { }) @IsNullable() @IsSystem() - favorites: FavoriteObjectMetadata[]; + favorites: Relation; @FieldMetadata({ standardId: opportunityStandardFieldIds.activityTargets, @@ -151,7 +153,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - activityTargets: ActivityTargetObjectMetadata[]; + activityTargets: Relation; @FieldMetadata({ standardId: opportunityStandardFieldIds.attachments, @@ -166,7 +168,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsNullable() - attachments: AttachmentObjectMetadata[]; + attachments: Relation; @FieldMetadata({ standardId: opportunityStandardFieldIds.events, @@ -181,5 +183,5 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - events: EventObjectMetadata[]; + events: Relation; } diff --git a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts index fdb851383..14ff30468 100644 --- a/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts +++ b/packages/twenty-server/src/modules/person/standard-objects/person.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; import { LinkMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; @@ -129,7 +131,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { joinColumn: 'companyId', }) @IsNullable() - company: CompanyObjectMetadata; + company: Relation; @FieldMetadata({ standardId: personStandardFieldIds.pointOfContactForOpportunities, @@ -144,7 +146,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'pointOfContact', onDelete: RelationOnDeleteAction.SET_NULL, }) - pointOfContactForOpportunities: OpportunityObjectMetadata[]; + pointOfContactForOpportunities: Relation; @FieldMetadata({ standardId: personStandardFieldIds.activityTargets, @@ -158,7 +160,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => ActivityTargetObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - activityTargets: ActivityTargetObjectMetadata[]; + activityTargets: Relation; @FieldMetadata({ standardId: personStandardFieldIds.favorites, @@ -173,7 +175,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.CASCADE, }) @IsSystem() - favorites: FavoriteObjectMetadata[]; + favorites: Relation; @FieldMetadata({ standardId: personStandardFieldIds.attachments, @@ -187,7 +189,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => AttachmentObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - attachments: AttachmentObjectMetadata[]; + attachments: Relation; @FieldMetadata({ standardId: personStandardFieldIds.messageParticipants, @@ -203,7 +205,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsSystem() - messageParticipants: MessageParticipantObjectMetadata[]; + messageParticipants: Relation; @FieldMetadata({ standardId: personStandardFieldIds.calendarEventParticipants, @@ -221,7 +223,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata { featureFlag: 'IS_CALENDAR_ENABLED', }) @IsSystem() - calendarEventParticipants: CalendarEventParticipantObjectMetadata[]; + calendarEventParticipants: Relation; @FieldMetadata({ standardId: personStandardFieldIds.events, @@ -237,5 +239,5 @@ export class PersonObjectMetadata extends BaseObjectMetadata { }) @IsNullable() @IsSystem() - events: EventObjectMetadata[]; + events: Relation; } diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts index 0912b8ddb..a9462deaf 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-filter.object-metadata.ts @@ -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; } diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts index 829b479f3..2a647335e 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-sort.object-metadata.ts @@ -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; } diff --git a/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts index 91705f1ea..00903ff38 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view.object-metadata.ts @@ -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; @FieldMetadata({ standardId: viewStandardFieldIds.viewFilters, @@ -123,7 +125,7 @@ export class ViewObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - viewFilters: ViewFilterObjectMetadata[]; + viewFilters: Relation; @FieldMetadata({ standardId: viewStandardFieldIds.viewSorts, @@ -138,5 +140,5 @@ export class ViewObjectMetadata extends BaseObjectMetadata { onDelete: RelationOnDeleteAction.SET_NULL, }) @IsNullable() - viewSorts: ViewSortObjectMetadata[]; + viewSorts: Relation; } diff --git a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts index 0839dbee9..3ed957c1e 100644 --- a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts +++ b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.object-metadata.ts @@ -1,3 +1,5 @@ +import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; + import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { @@ -104,7 +106,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'author', onDelete: RelationOnDeleteAction.SET_NULL, }) - authoredActivities: ActivityObjectMetadata[]; + authoredActivities: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.assignedActivities, @@ -119,7 +121,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'assignee', onDelete: RelationOnDeleteAction.SET_NULL, }) - assignedActivities: ActivityObjectMetadata[]; + assignedActivities: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.favorites, @@ -133,7 +135,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideTarget: () => FavoriteObjectMetadata, onDelete: RelationOnDeleteAction.CASCADE, }) - favorites: FavoriteObjectMetadata[]; + favorites: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.accountOwnerForCompanies, @@ -148,7 +150,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'accountOwner', onDelete: RelationOnDeleteAction.SET_NULL, }) - accountOwnerForCompanies: CompanyObjectMetadata[]; + accountOwnerForCompanies: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.authoredAttachments, @@ -163,7 +165,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'author', onDelete: RelationOnDeleteAction.SET_NULL, }) - authoredAttachments: AttachmentObjectMetadata[]; + authoredAttachments: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.authoredComments, @@ -178,7 +180,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'author', onDelete: RelationOnDeleteAction.SET_NULL, }) - authoredComments: CommentObjectMetadata[]; + authoredComments: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.connectedAccounts, @@ -193,7 +195,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'accountOwner', onDelete: RelationOnDeleteAction.CASCADE, }) - connectedAccounts: ConnectedAccountObjectMetadata[]; + connectedAccounts: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.messageParticipants, @@ -208,7 +210,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'workspaceMember', onDelete: RelationOnDeleteAction.SET_NULL, }) - messageParticipants: MessageParticipantObjectMetadata[]; + messageParticipants: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.blocklist, @@ -223,7 +225,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { inverseSideFieldKey: 'workspaceMember', onDelete: RelationOnDeleteAction.SET_NULL, }) - blocklist: BlocklistObjectMetadata[]; + blocklist: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.calendarEventParticipants, @@ -241,7 +243,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { @Gate({ featureFlag: 'IS_CALENDAR_ENABLED', }) - calendarEventParticipants: CalendarEventParticipantObjectMetadata[]; + calendarEventParticipants: Relation; @FieldMetadata({ standardId: workspaceMemberStandardFieldIds.events, @@ -257,5 +259,5 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata { }) @IsNullable() @IsSystem() - events: EventObjectMetadata[]; + events: Relation; } diff --git a/packages/twenty-server/src/utils/generate-front-config.ts b/packages/twenty-server/src/utils/generate-front-config.ts index 5f389e72f..f6f0f663b 100644 --- a/packages/twenty-server/src/utils/generate-front-config.ts +++ b/packages/twenty-server/src/utils/generate-front-config.ts @@ -20,10 +20,16 @@ export function generateFrontConfig(): void { )};`; const distPath = path.join(__dirname, '../..', 'front'); + const filePath = path.join(distPath, 'env-config.js'); if (!fs.existsSync(distPath)) { fs.mkdirSync(distPath, { recursive: true }); } - fs.writeFileSync(path.join(distPath, 'env-config.js'), configString, 'utf8'); + if ( + !fs.existsSync(filePath) || + fs.readFileSync(filePath, 'utf8') !== configString + ) { + fs.writeFileSync(filePath, configString, 'utf8'); + } } diff --git a/yarn.lock b/yarn.lock index c27369545..22595c1ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7597,6 +7597,22 @@ __metadata: languageName: node linkType: hard +"@mole-inc/bin-wrapper@npm:^8.0.1": + version: 8.0.1 + resolution: "@mole-inc/bin-wrapper@npm:8.0.1" + dependencies: + bin-check: "npm:^4.1.0" + bin-version-check: "npm:^5.0.0" + content-disposition: "npm:^0.5.4" + ext-name: "npm:^5.0.0" + file-type: "npm:^17.1.6" + filenamify: "npm:^5.0.2" + got: "npm:^11.8.5" + os-filter-obj: "npm:^2.0.0" + checksum: 70cfed319a46b1b8e3878dc4bdff4ced81aa913a6d9ab557b41e40f7ebdd5d39b0506b008609d8620739b63c2e4396fe0deec072487e84c717a1f3b24836ef94 + languageName: node + linkType: hard + "@motionone/animation@npm:^10.12.0": version: 10.16.3 resolution: "@motionone/animation@npm:10.16.3" @@ -14848,6 +14864,33 @@ __metadata: languageName: node linkType: hard +"@swc/cli@npm:^0.3.12": + version: 0.3.12 + resolution: "@swc/cli@npm:0.3.12" + dependencies: + "@mole-inc/bin-wrapper": "npm:^8.0.1" + "@swc/counter": "npm:^0.1.3" + commander: "npm:^8.3.0" + fast-glob: "npm:^3.2.5" + minimatch: "npm:^9.0.3" + piscina: "npm:^4.3.0" + semver: "npm:^7.3.8" + slash: "npm:3.0.0" + source-map: "npm:^0.7.3" + peerDependencies: + "@swc/core": ^1.2.66 + chokidar: ^3.5.1 + peerDependenciesMeta: + chokidar: + optional: true + bin: + spack: bin/spack.js + swc: bin/swc.js + swcx: bin/swcx.js + checksum: 6e95e7d9fce97f788ff5047b8498d65624db7a4439486ba2c4dbf162bbbb62cd6d72a469c24eaee558f27f42d61ecc3ef864070d6b70a86cc24049ce60876362 + languageName: node + linkType: hard + "@swc/core-darwin-arm64@npm:1.3.101": version: 1.3.101 resolution: "@swc/core-darwin-arm64@npm:1.3.101" @@ -15087,6 +15130,13 @@ __metadata: languageName: node linkType: hard +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: 8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 + languageName: node + linkType: hard + "@swc/helpers@npm:0.5.2": version: 0.5.2 resolution: "@swc/helpers@npm:0.5.2" @@ -18795,6 +18845,13 @@ __metadata: languageName: node linkType: hard +"arch@npm:^2.1.0": + version: 2.2.0 + resolution: "arch@npm:2.2.0" + checksum: 4ceaf8d8207817c216ebc4469742052cb0a097bc45d9b7fcd60b7507220da545a28562ab5bdd4dfe87921bb56371a0805da4e10d704e01f93a15f83240f1284c + languageName: node + linkType: hard + "archiver-utils@npm:^2.1.0": version: 2.1.0 resolution: "archiver-utils@npm:2.1.0" @@ -20586,6 +20643,16 @@ __metadata: languageName: node linkType: hard +"bin-check@npm:^4.1.0": + version: 4.1.0 + resolution: "bin-check@npm:4.1.0" + dependencies: + execa: "npm:^0.7.0" + executable: "npm:^4.1.0" + checksum: b1ad144672ab033af879bb493011f694ef11e7c1a250ce15cbdbbc2e5e6feb114046943927654b5ac3d1ce668cff01ec3b6b2703e367f357b1f918b480020d86 + languageName: node + linkType: hard + "bin-links@npm:^2.2.1": version: 2.3.0 resolution: "bin-links@npm:2.3.0" @@ -20600,6 +20667,27 @@ __metadata: languageName: node linkType: hard +"bin-version-check@npm:^5.0.0": + version: 5.1.0 + resolution: "bin-version-check@npm:5.1.0" + dependencies: + bin-version: "npm:^6.0.0" + semver: "npm:^7.5.3" + semver-truncate: "npm:^3.0.0" + checksum: f2a855b53b41e7200ab10fe6981fbd564430c2d58f7ae48cf71fe74b0071b802963efc0fa11fa066c0116057e8072e0a7cd63e2dae79283e37cc444a023116b4 + languageName: node + linkType: hard + +"bin-version@npm:^6.0.0": + version: 6.0.0 + resolution: "bin-version@npm:6.0.0" + dependencies: + execa: "npm:^5.0.0" + find-versions: "npm:^5.0.0" + checksum: e06083cdeb056910009740687ae9ba3175d42c72082408d4c5cb88c91fa102d5a8aef9112c127e94c3b48b611ce048abef390a9b8376521e42541635dbd3c506 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -22858,7 +22946,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": +"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -26395,6 +26483,21 @@ __metadata: languageName: node linkType: hard +"execa@npm:^0.7.0": + version: 0.7.0 + resolution: "execa@npm:0.7.0" + dependencies: + cross-spawn: "npm:^5.0.1" + get-stream: "npm:^3.0.0" + is-stream: "npm:^1.1.0" + npm-run-path: "npm:^2.0.0" + p-finally: "npm:^1.0.0" + signal-exit: "npm:^3.0.0" + strip-eof: "npm:^1.0.0" + checksum: 812f1776e2a6b2226532e43c1af87d8a12e26de03a06e7e043f653acf5565e0656f5f6c64d66726fefa17178ac129caaa419a50905934e7c4a846417abb25d4a + languageName: node + linkType: hard + "execa@npm:^4.0.2": version: 4.1.0 resolution: "execa@npm:4.1.0" @@ -26446,6 +26549,15 @@ __metadata: languageName: node linkType: hard +"executable@npm:^4.1.0": + version: 4.1.1 + resolution: "executable@npm:4.1.1" + dependencies: + pify: "npm:^2.2.0" + checksum: c3cc5d2d2e3cdb1b7d7b0639ebd5566d113d7ada21cfa07f5226d55ba2a210320116720e07570ed5659ef2ec516bc00c8f0488dac75d112fd324ef25c2100173 + languageName: node + linkType: hard + "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -26544,6 +26656,25 @@ __metadata: languageName: node linkType: hard +"ext-list@npm:^2.0.0": + version: 2.2.2 + resolution: "ext-list@npm:2.2.2" + dependencies: + mime-db: "npm:^1.28.0" + checksum: bfdb435f333dccbf3f9698dc9d8e38eb47b42d756800bfafa9ec0c1c8aace877c40095baf36f691bcfd09bb88ed247c6e51596e75a158280fa19cf8588a7e258 + languageName: node + linkType: hard + +"ext-name@npm:^5.0.0": + version: 5.0.0 + resolution: "ext-name@npm:5.0.0" + dependencies: + ext-list: "npm:^2.0.0" + sort-keys-length: "npm:^1.0.0" + checksum: 6750b34636bb6dca78e1bcc797615af68ecf50d62cf774624a32ee7879da99c949b5c41e8aa56ede4eb15c6abad6b1a8858d0934faab75ff6e2fd6f408debe18 + languageName: node + linkType: hard + "ext@npm:^1.1.2": version: 1.7.0 resolution: "ext@npm:1.7.0" @@ -26687,7 +26818,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:3.3.2, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": +"fast-glob@npm:3.3.2, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -26985,6 +27116,17 @@ __metadata: languageName: node linkType: hard +"file-type@npm:^17.1.6": + version: 17.1.6 + resolution: "file-type@npm:17.1.6" + dependencies: + readable-web-to-node-stream: "npm:^3.0.2" + strtok3: "npm:^7.0.0-alpha.9" + token-types: "npm:^5.0.0-alpha.2" + checksum: e75a00f4b57aadb81bac60e7315a7d15fa37276a8d2e7b551418388a039f89883e4e53fdb8e3ec6eb151f55f32e6f6a71c5069d6054c5dee20d2898fe853dcf2 + languageName: node + linkType: hard + "file-uri-to-path@npm:1.0.0": version: 1.0.0 resolution: "file-uri-to-path@npm:1.0.0" @@ -27001,6 +27143,24 @@ __metadata: languageName: node linkType: hard +"filename-reserved-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "filename-reserved-regex@npm:3.0.0" + checksum: 2b1df851a37f84723f9d8daf885ddfadd3dea2a124474db405295962abc1a01d6c9b6b27edec33bad32ef601e1a220f8a34d34f30ca5a911709700e2b517e268 + languageName: node + linkType: hard + +"filenamify@npm:^5.0.2": + version: 5.1.1 + resolution: "filenamify@npm:5.1.1" + dependencies: + filename-reserved-regex: "npm:^3.0.0" + strip-outer: "npm:^2.0.0" + trim-repeated: "npm:^2.0.0" + checksum: e644fdcb03059e5f98082214c74ce00e11175e766f4807a08d2c37f65b72b6698e5e07e6e4a18369f5c0adab57fb1a987baea034d6660ca4c6dab3e3ba5de66d + languageName: node + linkType: hard + "filesize@npm:^8.0.6": version: 8.0.7 resolution: "filesize@npm:8.0.7" @@ -27156,6 +27316,15 @@ __metadata: languageName: node linkType: hard +"find-versions@npm:^5.0.0": + version: 5.1.0 + resolution: "find-versions@npm:5.1.0" + dependencies: + semver-regex: "npm:^4.0.5" + checksum: f1ef79d0850e0bd1eba03def02892d31feccdef75129c14b2a2d1cec563e2c51ad5a01f6a7a2d59ddbf9ecca1014ff8a6353ff2e2885e004f7a81ab1488899d4 + languageName: node + linkType: hard + "find-yarn-workspace-root2@npm:1.2.16": version: 1.2.16 resolution: "find-yarn-workspace-root2@npm:1.2.16" @@ -27884,6 +28053,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "get-stream@npm:3.0.0" + checksum: 003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 + languageName: node + linkType: hard + "get-stream@npm:^4.1.0": version: 4.1.0 resolution: "get-stream@npm:4.1.0" @@ -28285,7 +28461,7 @@ __metadata: languageName: node linkType: hard -"got@npm:^11.8.3": +"got@npm:^11.8.3, got@npm:^11.8.5": version: 11.8.6 resolution: "got@npm:11.8.6" dependencies: @@ -30907,6 +31083,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^1.0.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c + languageName: node + linkType: hard + "is-plain-obj@npm:^2.0.0": version: 2.1.0 resolution: "is-plain-obj@npm:2.1.0" @@ -31032,6 +31215,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -35936,7 +36126,7 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.52.0": +"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.28.0, mime-db@npm:^1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" checksum: 0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa @@ -36775,6 +36965,17 @@ __metadata: languageName: node linkType: hard +"nice-napi@npm:^1.0.2": + version: 1.0.2 + resolution: "nice-napi@npm:1.0.2" + dependencies: + node-addon-api: "npm:^3.0.0" + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.2.2" + conditions: "!os=win32" + languageName: node + linkType: hard + "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -36801,6 +37002,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^3.0.0": + version: 3.2.1 + resolution: "node-addon-api@npm:3.2.1" + dependencies: + node-gyp: "npm:latest" + checksum: 41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302 + languageName: node + linkType: hard + "node-addon-api@npm:^5.0.0": version: 5.1.0 resolution: "node-addon-api@npm:5.1.0" @@ -36936,6 +37146,17 @@ __metadata: languageName: node linkType: hard +"node-gyp-build@npm:^4.2.2": + version: 4.8.0 + resolution: "node-gyp-build@npm:4.8.0" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 85324be16f81f0235cbbc42e3eceaeb1b5ab94c8d8f5236755e1435b4908338c65a4e75f66ee343cbcb44ddf9b52a428755bec16dcd983295be4458d95c8e1ad + languageName: node + linkType: hard + "node-gyp@npm:^7.1.0": version: 7.1.2 resolution: "node-gyp@npm:7.1.2" @@ -37330,6 +37551,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: "npm:^2.0.0" + checksum: 95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -37907,6 +38137,15 @@ __metadata: languageName: node linkType: hard +"os-filter-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "os-filter-obj@npm:2.0.0" + dependencies: + arch: "npm:^2.1.0" + checksum: 2734dcef67dfa027b3aeb8c721893c9c97b4d261efebd2a8469330d8b62ccaae072599aef0d3037bf285385fa14fb745f2e6d6958805924bb008031691cc7253 + languageName: node + linkType: hard + "os-homedir@npm:^1.0.0, os-homedir@npm:^1.0.1": version: 1.0.2 resolution: "os-homedir@npm:1.0.2" @@ -38617,6 +38856,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^2.0.0": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b + languageName: node + linkType: hard + "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -38777,6 +39023,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^5.0.0": + version: 5.0.0 + resolution: "peek-readable@npm:5.0.0" + checksum: 060aece3a907a157b4839aa923b61b664b59cac7296dc8d8e0ddcc39065a4f1e328dd2f171c8a49e869aabc6e076a1be59f939183fb0ababc81f3c870006d672 + languageName: node + linkType: hard + "peek-stream@npm:^1.1.0": version: 1.1.3 resolution: "peek-stream@npm:1.1.3" @@ -38932,7 +39185,7 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.3.0": +"pify@npm:^2.2.0, pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" checksum: 551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc @@ -38960,6 +39213,18 @@ __metadata: languageName: node linkType: hard +"piscina@npm:^4.3.0": + version: 4.4.0 + resolution: "piscina@npm:4.4.0" + dependencies: + nice-napi: "npm:^1.0.2" + dependenciesMeta: + nice-napi: + optional: true + checksum: df6c2a2b673b0633a625f8dfc32f4519155e74ee24e31be9e69d2937e76d6cec8640278b4a50195652a943cccf8c634ed406f08598933c57e959d242b5fe5d1d + languageName: node + linkType: hard + "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -41322,7 +41587,7 @@ __metadata: languageName: node linkType: hard -"readable-web-to-node-stream@npm:^3.0.0": +"readable-web-to-node-stream@npm:^3.0.0, readable-web-to-node-stream@npm:^3.0.2": version: 3.0.2 resolution: "readable-web-to-node-stream@npm:3.0.2" dependencies: @@ -42890,6 +43155,22 @@ __metadata: languageName: node linkType: hard +"semver-regex@npm:^4.0.5": + version: 4.0.5 + resolution: "semver-regex@npm:4.0.5" + checksum: c270eda133691dfaab90318df995e96222e4c26c47b17f7c8bd5e5fe88b81ed67b59695fe27546e0314b0f0423c7faed1f93379ad9db47c816df2ddf770918ff + languageName: node + linkType: hard + +"semver-truncate@npm:^3.0.0": + version: 3.0.0 + resolution: "semver-truncate@npm:3.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: faede4e69e81590ee6b4141f5e89ae1162cd0ecafe660f0ae72bca45f16677a01a3bc26283201b695cec8409e1e861b8b2b10b0621c1661983e7ab10736caeee + languageName: node + linkType: hard + "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" @@ -43333,6 +43614,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:3.0.0, slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + "slash@npm:^1.0.0": version: 1.0.0 resolution: "slash@npm:1.0.0" @@ -43347,13 +43635,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slash@npm:^4.0.0": version: 4.0.0 resolution: "slash@npm:4.0.0" @@ -43468,6 +43749,24 @@ __metadata: languageName: node linkType: hard +"sort-keys-length@npm:^1.0.0": + version: 1.0.1 + resolution: "sort-keys-length@npm:1.0.1" + dependencies: + sort-keys: "npm:^1.0.0" + checksum: 4567d08aa859c7e48b7e2cba14a8ae09a100f6a3bd7cf5d21dccd808d6332c945b9a7e2230a95c16e0e6eac1a943cd050ae51a5d1b4c8ec4b1e89a5801be9aa2 + languageName: node + linkType: hard + +"sort-keys@npm:^1.0.0": + version: 1.1.2 + resolution: "sort-keys@npm:1.1.2" + dependencies: + is-plain-obj: "npm:^1.0.0" + checksum: 5dd383b0299a40277051f7498c3999520138e2eb50d422962f658738341c9e82349fad4a3024d5ba1a3122688fbaf958f2a472d4c53bade55515097c2ce15420 + languageName: node + linkType: hard + "sort-keys@npm:^4.2.0": version: 4.2.0 resolution: "sort-keys@npm:4.2.0" @@ -43530,7 +43829,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.7.4, source-map@npm:^0.7.0, source-map@npm:^0.7.4": +"source-map@npm:0.7.4, source-map@npm:^0.7.0, source-map@npm:^0.7.3, source-map@npm:^0.7.4": version: 0.7.4 resolution: "source-map@npm:0.7.4" checksum: dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc @@ -44314,6 +44613,13 @@ __metadata: languageName: node linkType: hard +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -44369,6 +44675,13 @@ __metadata: languageName: node linkType: hard +"strip-outer@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-outer@npm:2.0.0" + checksum: 6633b62914884dd63bc94221368b8d8a8df4cbde3d50849de0cfa3bf9f76751828108c9cc9195bcd1b70d73317cc25d3c1c4d6b717be437a1f6161206f44fe75 + languageName: node + linkType: hard + "stripe@npm:^14.17.0": version: 14.17.0 resolution: "stripe@npm:14.17.0" @@ -44409,6 +44722,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^7.0.0-alpha.9": + version: 7.0.0 + resolution: "strtok3@npm:7.0.0" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + peek-readable: "npm:^5.0.0" + checksum: 63a72b10a302719242bfd31ca53955a06bb091dfec46ef14ca10c4b17ab15780ed8365cd5b270cfbde92d571f677539957add436e4bf9cccdf9977b40d762583 + languageName: node + linkType: hard + "style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": version: 4.1.0 resolution: "style-mod@npm:4.1.0" @@ -45155,6 +45478,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^5.0.0-alpha.2": + version: 5.0.1 + resolution: "token-types@npm:5.0.1" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + ieee754: "npm:^1.2.1" + checksum: cb671b2b52271362816d22b7a076082b0da033cd7807992b81ae53cfd8541bd013ac29e455c3c7a8bb4f88aa1c5315a12353c3599b7f568df238d3c1723f9d8d + languageName: node + linkType: hard + "toposort@npm:^2.0.2": version: 2.0.2 resolution: "toposort@npm:2.0.2" @@ -45262,6 +45595,15 @@ __metadata: languageName: node linkType: hard +"trim-repeated@npm:^2.0.0": + version: 2.0.0 + resolution: "trim-repeated@npm:2.0.0" + dependencies: + escape-string-regexp: "npm:^5.0.0" + checksum: 7c81ea60fc5eb509142735e41fbc41d964aeeb491f0deceea9e030a630d05ed236031f69946b5944156dbdd564f4d86cde5e9c775c321a5e96308761679128cf + languageName: node + linkType: hard + "trim-right@npm:^1.0.1": version: 1.0.1 resolution: "trim-right@npm:1.0.1" @@ -45840,6 +46182,7 @@ __metadata: "@storybook/testing-library": "npm:^0.2.2" "@stylistic/eslint-plugin": "npm:^1.5.0" "@swc-node/register": "npm:1.8.0" + "@swc/cli": "npm:^0.3.12" "@swc/core": "npm:~1.3.100" "@swc/helpers": "npm:~0.5.2" "@swc/jest": "npm:^0.2.29"