diff --git a/copy_generated_types_from_lemmy.sh b/copy_generated_types_from_lemmy.sh index a8955284..5b045584 100755 --- a/copy_generated_types_from_lemmy.sh +++ b/copy_generated_types_from_lemmy.sh @@ -35,5 +35,5 @@ find src/types -type f -name '*.ts' -exec sed -i 's/bigint/number/g' {} + node putTypesInIndex.js -prettier -w src +pnpm prettier -w src diff --git a/src/http.ts b/src/http.ts index 47d0ef01..b037febd 100644 --- a/src/http.ts +++ b/src/http.ts @@ -67,6 +67,7 @@ import { CreateComment } from "./types/CreateComment"; import { CreateCommentLike } from "./types/CreateCommentLike"; import { CreateCommentReport } from "./types/CreateCommentReport"; import { CreateCommunity } from "./types/CreateCommunity"; +import { CreateCommunityTag } from "./types/CreateCommunityTag"; import { CreateCustomEmoji } from "./types/CreateCustomEmoji"; import { CreateOAuthProvider } from "./types/CreateOAuthProvider"; import { CreatePost } from "./types/CreatePost"; @@ -79,6 +80,7 @@ import { CustomEmojiResponse } from "./types/CustomEmojiResponse"; import { DeleteAccount } from "./types/DeleteAccount"; import { DeleteComment } from "./types/DeleteComment"; import { DeleteCommunity } from "./types/DeleteCommunity"; +import { DeleteCommunityTag } from "./types/DeleteCommunityTag"; import { DeleteCustomEmoji } from "./types/DeleteCustomEmoji"; import { DeleteOAuthProvider } from "./types/DeleteOAuthProvider"; import { DeletePost } from "./types/DeletePost"; @@ -153,6 +155,7 @@ import { Search } from "./types/Search"; import { SearchResponse } from "./types/SearchResponse"; import { SiteResponse } from "./types/SiteResponse"; import { TransferCommunity } from "./types/TransferCommunity"; +import { UpdateCommunityTag } from "./types/UpdateCommunityTag"; import { VerifyEmail } from "./types/VerifyEmail"; import { HideCommunity } from "./types/HideCommunity"; import { GenerateTotpSecretResponse } from "./types/GenerateTotpSecretResponse"; @@ -200,6 +203,7 @@ import { ListInbox } from "./types/ListInbox"; import { MarkPersonCommentMentionAsRead } from "./types/MarkPersonCommentMentionAsRead"; import { MarkPersonPostMentionAsRead } from "./types/MarkPersonPostMentionAsRead"; import { GetCommentsSlimResponse } from "./types/GetCommentsSlimResponse"; +import { Tag } from "./types/Tag"; import { ResendVerificationEmail } from "./types/ResendVerificationEmail"; import { ListBannedPersons } from "./types/ListBannedPersons"; @@ -2091,6 +2095,60 @@ export class LemmyHttp extends Controller { ); } + /** + * @summary Create a community post tag. + */ + @Security("bearerAuth") + @Post("/community/tag") + @Tags("Community") + createCommunityTag( + @Body() form: CreateCommunityTag, + @Inject() options?: RequestOptions, + ) { + return this.#wrapper( + HttpType.Post, + "/community/tag", + form, + options, + ); + } + + /** + * @summary Update a community post tag. + */ + @Security("bearerAuth") + @Put("/community/tag") + @Tags("Community") + updateCommunityTag( + @Body() form: UpdateCommunityTag, + @Inject() options?: RequestOptions, + ) { + return this.#wrapper( + HttpType.Put, + "/community/tag", + form, + options, + ); + } + + /** + * @summary Delete a post tag in a community. + */ + @Security("bearerAuth") + @Post("/community/tag") + @Tags("Community") + deleteCommunityTag( + @Body() form: DeleteCommunityTag, + @Inject() options?: RequestOptions, + ) { + return this.#wrapper( + HttpType.Delete, + "/community/tag", + form, + options, + ); + } + /** * @summary Create a new oauth provider method */ diff --git a/src/index.ts b/src/index.ts index 0451468e..bfe58ba3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -72,6 +72,7 @@ export { CreateCommentLike } from "./types/CreateCommentLike"; export { CreateCommentReport } from "./types/CreateCommentReport"; export { CreateCommunity } from "./types/CreateCommunity"; export { CreateCommunityReport } from "./types/CreateCommunityReport"; +export { CreateCommunityTag } from "./types/CreateCommunityTag"; export { CreateCustomEmoji } from "./types/CreateCustomEmoji"; export { CreateOAuthProvider } from "./types/CreateOAuthProvider"; export { CreatePost } from "./types/CreatePost"; @@ -90,6 +91,7 @@ export { DbUrl } from "./types/DbUrl"; export { DeleteAccount } from "./types/DeleteAccount"; export { DeleteComment } from "./types/DeleteComment"; export { DeleteCommunity } from "./types/DeleteCommunity"; +export { DeleteCommunityTag } from "./types/DeleteCommunityTag"; export { DeleteCustomEmoji } from "./types/DeleteCustomEmoji"; export { DeleteImageParams } from "./types/DeleteImageParams"; export { DeleteOAuthProvider } from "./types/DeleteOAuthProvider"; @@ -97,6 +99,7 @@ export { DeletePost } from "./types/DeletePost"; export { DeletePrivateMessage } from "./types/DeletePrivateMessage"; export { DeleteTagline } from "./types/DeleteTagline"; export { DistinguishComment } from "./types/DistinguishComment"; +export { DonationDialogShown } from "./types/DonationDialogShown"; export { EditComment } from "./types/EditComment"; export { EditCommunity } from "./types/EditCommunity"; export { EditCustomEmoji } from "./types/EditCustomEmoji"; @@ -256,6 +259,7 @@ export { PersonPostMentionId } from "./types/PersonPostMentionId"; export { PersonPostMentionView } from "./types/PersonPostMentionView"; export { PersonSavedCombinedView } from "./types/PersonSavedCombinedView"; export { PersonView } from "./types/PersonView"; +export { PluginMetadata } from "./types/PluginMetadata"; export { Post } from "./types/Post"; export { PostActions } from "./types/PostActions"; export { PostFeatureType } from "./types/PostFeatureType"; @@ -320,7 +324,9 @@ export { TagId } from "./types/TagId"; export { Tagline } from "./types/Tagline"; export { TaglineId } from "./types/TaglineId"; export { TaglineResponse } from "./types/TaglineResponse"; +export { TagsView } from "./types/TagsView"; export { TransferCommunity } from "./types/TransferCommunity"; +export { UpdateCommunityTag } from "./types/UpdateCommunityTag"; export { UpdateTagline } from "./types/UpdateTagline"; export { UpdateTotp } from "./types/UpdateTotp"; export { UpdateTotpResponse } from "./types/UpdateTotpResponse"; diff --git a/src/types/Comment.ts b/src/types/Comment.ts index 80316da3..c11b8682 100644 --- a/src/types/Comment.ts +++ b/src/types/Comment.ts @@ -50,4 +50,9 @@ export type Comment = { child_count: number; report_count: number; unresolved_report_count: number; + /** + * If a local user comments in a remote community, the comment is hidden until it is confirmed + * accepted by the community (by receiving it back via federation). + */ + federation_pending: boolean; }; diff --git a/src/types/CommentReplyView.ts b/src/types/CommentReplyView.ts index cfa5ff5e..0f0de6f9 100644 --- a/src/types/CommentReplyView.ts +++ b/src/types/CommentReplyView.ts @@ -8,6 +8,7 @@ import type { InstanceActions } from "./InstanceActions"; import type { Person } from "./Person"; import type { PersonActions } from "./PersonActions"; import type { Post } from "./Post"; +import type { TagsView } from "./TagsView"; /** * A comment reply view. @@ -23,7 +24,9 @@ export type CommentReplyView = { comment_actions?: CommentActions; person_actions?: PersonActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_community_actions?: CommunityActions; creator_is_admin: boolean; + post_tags: TagsView; can_mod: boolean; }; diff --git a/src/types/CommentSlimView.ts b/src/types/CommentSlimView.ts index b82f3b4b..0ce66764 100644 --- a/src/types/CommentSlimView.ts +++ b/src/types/CommentSlimView.ts @@ -16,6 +16,7 @@ export type CommentSlimView = { person_actions?: PersonActions; creator_community_actions?: CommunityActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_is_admin: boolean; can_mod: boolean; }; diff --git a/src/types/CommentView.ts b/src/types/CommentView.ts index 7cb27e0c..874937fa 100644 --- a/src/types/CommentView.ts +++ b/src/types/CommentView.ts @@ -7,6 +7,7 @@ import type { InstanceActions } from "./InstanceActions"; import type { Person } from "./Person"; import type { PersonActions } from "./PersonActions"; import type { Post } from "./Post"; +import type { TagsView } from "./TagsView"; /** * A comment view. @@ -20,7 +21,9 @@ export type CommentView = { comment_actions?: CommentActions; person_actions?: PersonActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_community_actions?: CommunityActions; creator_is_admin: boolean; + post_tags: TagsView; can_mod: boolean; }; diff --git a/src/types/Community.ts b/src/types/Community.ts index b59b78ef..426d6827 100644 --- a/src/types/Community.ts +++ b/src/types/Community.ts @@ -80,4 +80,5 @@ export type Community = { subscribers_local: number; report_count: number; unresolved_report_count: number; + local_removed: boolean; }; diff --git a/src/types/CommunityView.ts b/src/types/CommunityView.ts index 99928cde..78ec0733 100644 --- a/src/types/CommunityView.ts +++ b/src/types/CommunityView.ts @@ -2,6 +2,7 @@ import type { Community } from "./Community"; import type { CommunityActions } from "./CommunityActions"; import type { InstanceActions } from "./InstanceActions"; +import type { TagsView } from "./TagsView"; /** * A community view. @@ -11,4 +12,5 @@ export type CommunityView = { community_actions?: CommunityActions; instance_actions?: InstanceActions; can_mod: boolean; + post_tags: TagsView; }; diff --git a/src/types/CreateCommunityTag.ts b/src/types/CreateCommunityTag.ts new file mode 100644 index 00000000..3d0d1a2b --- /dev/null +++ b/src/types/CreateCommunityTag.ts @@ -0,0 +1,10 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { CommunityId } from "./CommunityId"; + +/** + * Create a tag for a community. + */ +export type CreateCommunityTag = { + community_id: CommunityId; + display_name: string; +}; diff --git a/src/types/CreateSite.ts b/src/types/CreateSite.ts index b5cb4a7a..d17abd76 100644 --- a/src/types/CreateSite.ts +++ b/src/types/CreateSite.ts @@ -52,6 +52,5 @@ export type CreateSite = { post_downvotes?: FederationMode; comment_upvotes?: FederationMode; comment_downvotes?: FederationMode; - disable_donation_dialog?: boolean; disallow_nsfw_content?: boolean; }; diff --git a/src/types/DeleteCommunityTag.ts b/src/types/DeleteCommunityTag.ts new file mode 100644 index 00000000..9c0e505f --- /dev/null +++ b/src/types/DeleteCommunityTag.ts @@ -0,0 +1,7 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { TagId } from "./TagId"; + +/** + * Delete a community tag. + */ +export type DeleteCommunityTag = { tag_id: TagId }; diff --git a/src/types/DonationDialogShown.ts b/src/types/DonationDialogShown.ts new file mode 100644 index 00000000..469a32c3 --- /dev/null +++ b/src/types/DonationDialogShown.ts @@ -0,0 +1,6 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Make a request to resend your verification email. + */ +export type DonationDialogShown = { hide_permanently?: boolean }; diff --git a/src/types/EditPost.ts b/src/types/EditPost.ts index a70e2b65..4a8d6528 100644 --- a/src/types/EditPost.ts +++ b/src/types/EditPost.ts @@ -24,9 +24,9 @@ export type EditPost = { * Instead of fetching a thumbnail, use a custom one. */ custom_thumbnail?: string; - tags?: Array; /** * Time when this post should be scheduled. Null means publish immediately. */ scheduled_publish_time?: number; + tags?: Array; }; diff --git a/src/types/EditSite.ts b/src/types/EditSite.ts index 80affc04..438f698c 100644 --- a/src/types/EditSite.ts +++ b/src/types/EditSite.ts @@ -160,11 +160,6 @@ export type EditSite = { * What kind of comment downvotes your site allows. */ comment_downvotes?: FederationMode; - /** - * If this is true, users will never see the dialog asking to support Lemmy development with - * donations. - */ - disable_donation_dialog?: boolean; /** * Block NSFW content being created */ diff --git a/src/types/GetSiteResponse.ts b/src/types/GetSiteResponse.ts index 5d9ee794..0675f0f5 100644 --- a/src/types/GetSiteResponse.ts +++ b/src/types/GetSiteResponse.ts @@ -4,6 +4,7 @@ import type { LanguageId } from "./LanguageId"; import type { LocalSiteUrlBlocklist } from "./LocalSiteUrlBlocklist"; import type { OAuthProvider } from "./OAuthProvider"; import type { PersonView } from "./PersonView"; +import type { PluginMetadata } from "./PluginMetadata"; import type { PublicOAuthProvider } from "./PublicOAuthProvider"; import type { SiteView } from "./SiteView"; import type { Tagline } from "./Tagline"; @@ -28,4 +29,5 @@ export type GetSiteResponse = { admin_oauth_providers: Array; blocked_urls: Array; image_upload_disabled: boolean; + active_plugins: Array; }; diff --git a/src/types/InstanceActions.ts b/src/types/InstanceActions.ts index 42b923f0..574de334 100644 --- a/src/types/InstanceActions.ts +++ b/src/types/InstanceActions.ts @@ -9,4 +9,12 @@ export type InstanceActions = { * When the instance was blocked. */ blocked?: string; + /** + * When this user received a site ban. + */ + received_ban?: string; + /** + * When their ban expires. + */ + ban_expires?: string; }; diff --git a/src/types/LemmyErrorType.ts b/src/types/LemmyErrorType.ts index 5b177fb3..ed2ad371 100644 --- a/src/types/LemmyErrorType.ts +++ b/src/types/LemmyErrorType.ts @@ -39,7 +39,6 @@ export type LemmyErrorType = | { error: "site_description_length_overflow" } | { error: "honeypot_failed" } | { error: "registration_application_is_pending" } - | { error: "cant_enable_private_instance_and_federation_together" } | { error: "locked" } | { error: "couldnt_create_comment" } | { error: "max_comment_depth_reached" } @@ -127,6 +126,8 @@ export type LemmyErrorType = | { error: "ban_expiration_in_past" } | { error: "invalid_unix_time" } | { error: "invalid_bot_action" } + | { error: "invalid_tag_name" } + | { error: "tag_not_in_community" } | { error: "cant_block_local_instance" } | { error: "unknown"; message: string } | { error: "url_length_overflow" } @@ -140,4 +141,5 @@ export type LemmyErrorType = | { error: "too_many_scheduled_posts" } | { error: "cannot_combine_federation_blocklist_and_allowlist" } | { error: "federation_error"; message: { error?: FederationError } } - | { error: "couldnt_parse_pagination_token" }; + | { error: "couldnt_parse_pagination_token" } + | { error: "plugin_error"; message: string }; diff --git a/src/types/LocalSite.ts b/src/types/LocalSite.ts index 5d1bd935..5336bba7 100644 --- a/src/types/LocalSite.ts +++ b/src/types/LocalSite.ts @@ -115,11 +115,6 @@ export type LocalSite = { * What kind of comment downvotes your site allows. */ comment_downvotes: FederationMode; - /** - * If this is true, users will never see the dialog asking to support Lemmy development with - * donations. - */ - disable_donation_dialog: boolean; /** * A default time range limit to apply to post sorts, in seconds. */ diff --git a/src/types/LocalUserView.ts b/src/types/LocalUserView.ts index 1e66fa2a..1c68616b 100644 --- a/src/types/LocalUserView.ts +++ b/src/types/LocalUserView.ts @@ -1,8 +1,13 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { InstanceActions } from "./InstanceActions"; import type { LocalUser } from "./LocalUser"; import type { Person } from "./Person"; /** * A local user view. */ -export type LocalUserView = { local_user: LocalUser; person: Person }; +export type LocalUserView = { + local_user: LocalUser; + person: Person; + instance_actions?: InstanceActions; +}; diff --git a/src/types/ModBan.ts b/src/types/ModBan.ts index 6fe2dad3..4615a8c0 100644 --- a/src/types/ModBan.ts +++ b/src/types/ModBan.ts @@ -1,4 +1,5 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { InstanceId } from "./InstanceId"; import type { ModBanId } from "./ModBanId"; import type { PersonId } from "./PersonId"; @@ -13,4 +14,5 @@ export type ModBan = { banned: boolean; expires?: string; published: string; + instance_id: InstanceId; }; diff --git a/src/types/Person.ts b/src/types/Person.ts index 8a974022..9c7f4ad7 100644 --- a/src/types/Person.ts +++ b/src/types/Person.ts @@ -17,10 +17,6 @@ export type Person = { * A URL for an avatar. */ avatar?: DbUrl; - /** - * Whether the person is banned. - */ - banned: boolean; published: string; updated?: string; /** @@ -51,10 +47,6 @@ export type Person = { * Whether the person is a bot account. */ bot_account: boolean; - /** - * When their ban, if it exists, expires, if at all. - */ - ban_expires?: string; instance_id: InstanceId; post_count: number; comment_count: number; diff --git a/src/types/PersonCommentMentionView.ts b/src/types/PersonCommentMentionView.ts index 4b23e226..2bd394f9 100644 --- a/src/types/PersonCommentMentionView.ts +++ b/src/types/PersonCommentMentionView.ts @@ -23,6 +23,7 @@ export type PersonCommentMentionView = { comment_actions?: CommentActions; person_actions?: PersonActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_community_actions?: CommunityActions; creator_is_admin: boolean; can_mod: boolean; diff --git a/src/types/PersonPostMentionView.ts b/src/types/PersonPostMentionView.ts index 9ac422fd..59da2d5c 100644 --- a/src/types/PersonPostMentionView.ts +++ b/src/types/PersonPostMentionView.ts @@ -8,6 +8,7 @@ import type { PersonActions } from "./PersonActions"; import type { PersonPostMention } from "./PersonPostMention"; import type { Post } from "./Post"; import type { PostActions } from "./PostActions"; +import type { TagsView } from "./TagsView"; /** * A person post mention view. @@ -23,7 +24,9 @@ export type PersonPostMentionView = { person_actions?: PersonActions; post_actions?: PostActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_community_actions?: CommunityActions; creator_is_admin: boolean; can_mod: boolean; + post_tags: TagsView; }; diff --git a/src/types/PersonView.ts b/src/types/PersonView.ts index 2d3512ea..07f92f38 100644 --- a/src/types/PersonView.ts +++ b/src/types/PersonView.ts @@ -1,7 +1,13 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { InstanceActions } from "./InstanceActions"; import type { Person } from "./Person"; /** * A person view. */ -export type PersonView = { person: Person; is_admin: boolean }; +export type PersonView = { + person: Person; + is_admin: boolean; + instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; +}; diff --git a/src/types/PluginMetadata.ts b/src/types/PluginMetadata.ts new file mode 100644 index 00000000..861b1c49 --- /dev/null +++ b/src/types/PluginMetadata.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type PluginMetadata = { name: string; url: string; description: string }; diff --git a/src/types/Post.ts b/src/types/Post.ts index 1fe62f53..bf7ccfbe 100644 --- a/src/types/Post.ts +++ b/src/types/Post.ts @@ -91,4 +91,9 @@ export type Post = { newest_comment_time: string; report_count: number; unresolved_report_count: number; + /** + * If a local user posts in a remote community, the comment is hidden until it is confirmed + * accepted by the community (by receiving it back via federation). + */ + federation_pending: boolean; }; diff --git a/src/types/PostView.ts b/src/types/PostView.ts index aae0b197..6f7185ad 100644 --- a/src/types/PostView.ts +++ b/src/types/PostView.ts @@ -7,6 +7,7 @@ import type { Person } from "./Person"; import type { PersonActions } from "./PersonActions"; import type { Post } from "./Post"; import type { PostActions } from "./PostActions"; +import type { TagsView } from "./TagsView"; /** * A post view. @@ -20,7 +21,9 @@ export type PostView = { person_actions?: PersonActions; post_actions?: PostActions; instance_actions?: InstanceActions; + home_instance_actions?: InstanceActions; creator_community_actions?: CommunityActions; creator_is_admin: boolean; + tags: TagsView; can_mod: boolean; }; diff --git a/src/types/SiteView.ts b/src/types/SiteView.ts index 8eef6563..6c98a0ab 100644 --- a/src/types/SiteView.ts +++ b/src/types/SiteView.ts @@ -1,4 +1,5 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Instance } from "./Instance"; import type { LocalSite } from "./LocalSite"; import type { LocalSiteRateLimit } from "./LocalSiteRateLimit"; import type { Site } from "./Site"; @@ -10,4 +11,5 @@ export type SiteView = { site: Site; local_site: LocalSite; local_site_rate_limit: LocalSiteRateLimit; + instance: Instance; }; diff --git a/src/types/Tag.ts b/src/types/Tag.ts index 7f16edbc..89a93a8f 100644 --- a/src/types/Tag.ts +++ b/src/types/Tag.ts @@ -9,16 +9,18 @@ import type { TagId } from "./TagId"; * The assignment happens by the post creator and can be updated by the community moderators. * * A tag is a federatable object that gives additional context to another object, which can be - * displayed and filtered on currently, we only have community post tags, which is a tag that is - * created by post authors as well as mods of a community, to categorize a post. in the future we - * may add more tag types, depending on the requirements, this will lead to either expansion of - * this table (community_id optional, addition of tag_type enum) or split of this table / creation - * of new tables. + * displayed and filtered on. Currently, we only have community post tags, which is a tag that is + * created by the mods of a community, then assigned to posts by post authors as well as mods of a + * community, to categorize a post. + * + * In the future we may add more tag types, depending on the requirements, this will lead to either + * expansion of this table (community_id optional, addition of tag_type enum) or split of this + * table / creation of new tables. */ export type Tag = { id: TagId; ap_id: DbUrl; - name: string; + display_name: string; /** * the community that owns this tag */ diff --git a/src/types/TagsView.ts b/src/types/TagsView.ts new file mode 100644 index 00000000..6ca48e6e --- /dev/null +++ b/src/types/TagsView.ts @@ -0,0 +1,7 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Tag } from "./Tag"; + +/** + * we wrap this in a struct so we can implement FromSqlRow for it + */ +export type TagsView = Array; diff --git a/src/types/UpdateCommunityTag.ts b/src/types/UpdateCommunityTag.ts new file mode 100644 index 00000000..e1c541f3 --- /dev/null +++ b/src/types/UpdateCommunityTag.ts @@ -0,0 +1,7 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { TagId } from "./TagId"; + +/** + * Update a community tag. + */ +export type UpdateCommunityTag = { tag_id: TagId; display_name: string }; diff --git a/tsconfig.json b/tsconfig.json index d9c7f76e..c1275523 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,7 @@ "noImplicitAny": true, "lib": ["es2017", "es7", "es6", "dom"], "outDir": "./dist", - "target": "ES2015", + "target": "ES2020", "experimentalDecorators": true, "strictNullChecks": true, "moduleResolution": "Node",