mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-26 06:11:15 +00:00
Merge branch 'main' into custom-themes
This commit is contained in:
commit
794011af62
22 changed files with 281 additions and 472 deletions
|
@ -75,7 +75,6 @@
|
|||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"husky": "^7.0.4",
|
||||
"import-sort-style-module": "^6.0.0",
|
||||
"iso-639-1": "^2.1.10",
|
||||
"lemmy-js-client": "0.15.1-rc.1",
|
||||
"lint-staged": "^12.1.2",
|
||||
"mini-css-extract-plugin": "^2.4.5",
|
||||
|
|
|
@ -145,7 +145,7 @@ server.get("/*", async (req, res) => {
|
|||
if (errCode == "instance_is_private") {
|
||||
return res.redirect(`/signup`);
|
||||
} else {
|
||||
return res.redirect(`/404?err=${errCode}`);
|
||||
return res.send(`404: ${errCode}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ server.get("/*", async (req, res) => {
|
|||
`);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
return res.redirect(`/404?err=${err}`);
|
||||
return res.send(`404: ${err}`);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ import { UserService, WebSocketService } from "../../services";
|
|||
import {
|
||||
authField,
|
||||
donateLemmyUrl,
|
||||
getLanguage,
|
||||
getLanguages,
|
||||
isBrowser,
|
||||
notifyComment,
|
||||
notifyPrivateMessage,
|
||||
|
@ -612,7 +612,7 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
setTheme(
|
||||
UserService.Instance.myUserInfo.local_user_view.local_user.theme
|
||||
);
|
||||
i18n.changeLanguage(getLanguage());
|
||||
i18n.changeLanguage(getLanguages()[0]);
|
||||
this.state.isLoggedIn = true;
|
||||
this.setState(this.state);
|
||||
} else if (op == UserOperation.CreateComment) {
|
||||
|
|
|
@ -10,6 +10,7 @@ import {
|
|||
mdToHtml,
|
||||
pictrsDeleteToast,
|
||||
randomStr,
|
||||
relTags,
|
||||
setupTippy,
|
||||
setupTribute,
|
||||
toast,
|
||||
|
@ -297,7 +298,7 @@ export class MarkdownTextArea extends Component<
|
|||
href={markdownHelpUrl}
|
||||
class="btn btn-sm text-muted font-weight-bold"
|
||||
title={i18n.t("formatting_help")}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
<Icon icon="help-circle" classes="icon-inline" />
|
||||
</a>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component } from "inferno";
|
||||
import moment from "moment";
|
||||
import { i18n } from "../../i18next";
|
||||
import { capitalizeFirstLetter, getMomentLanguage } from "../../utils";
|
||||
import { capitalizeFirstLetter, getLanguages } from "../../utils";
|
||||
import { Icon } from "./icon";
|
||||
|
||||
interface MomentTimeProps {
|
||||
|
@ -18,7 +18,7 @@ export class MomentTime extends Component<MomentTimeProps, any> {
|
|||
constructor(props: any, context: any) {
|
||||
super(props, context);
|
||||
|
||||
let lang = getMomentLanguage();
|
||||
let lang = getLanguages();
|
||||
|
||||
moment.locale(lang);
|
||||
}
|
||||
|
|
|
@ -32,8 +32,9 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
|
|||
loading="lazy"
|
||||
className={classNames({
|
||||
"img-fluid": !this.props.icon && !this.props.iconOverlay,
|
||||
"banner": this.props.banner,
|
||||
"thumbnail rounded": this.props.thumbnail && !this.props.icon && !this.props.banner,
|
||||
banner: this.props.banner,
|
||||
"thumbnail rounded":
|
||||
this.props.thumbnail && !this.props.icon && !this.props.banner,
|
||||
"img-expanded slight-radius":
|
||||
!this.props.thumbnail && !this.props.icon,
|
||||
"img-blur": this.props.thumbnail && this.props.nsfw,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component, linkEvent } from "inferno";
|
||||
import { SortType } from "lemmy-js-client";
|
||||
import { i18n } from "../../i18next";
|
||||
import { randomStr, sortingHelpUrl } from "../../utils";
|
||||
import { randomStr, relTags, sortingHelpUrl } from "../../utils";
|
||||
import { Icon } from "./icon";
|
||||
|
||||
interface SortSelectProps {
|
||||
|
@ -71,7 +71,7 @@ export class SortSelect extends Component<SortSelectProps, SortSelectState> {
|
|||
<a
|
||||
className="text-muted"
|
||||
href={sortingHelpUrl}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
title={i18n.t("sorting_help")}
|
||||
>
|
||||
<Icon icon="help-circle" classes="icon-inline" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component } from "inferno";
|
||||
import { Link } from "inferno-router";
|
||||
import { CommunitySafe } from "lemmy-js-client";
|
||||
import { hostname, showAvatars } from "../../utils";
|
||||
import { hostname, relTags, showAvatars } from "../../utils";
|
||||
import { PictrsImage } from "../common/pictrs-image";
|
||||
|
||||
interface CommunityLinkProps {
|
||||
|
@ -48,6 +48,7 @@ export class CommunityLink extends Component<CommunityLinkProps, any> {
|
|||
title={apubName}
|
||||
className={`${this.props.muted ? "text-muted" : ""}`}
|
||||
href={link}
|
||||
rel={relTags}
|
||||
>
|
||||
{this.avatarAndName(displayName)}
|
||||
</a>
|
||||
|
|
|
@ -38,6 +38,7 @@ import {
|
|||
getPageFromProps,
|
||||
getSortTypeFromProps,
|
||||
notifyPost,
|
||||
relTags,
|
||||
restoreScrollPosition,
|
||||
saveCommentRes,
|
||||
saveScrollPosition,
|
||||
|
@ -370,7 +371,7 @@ export class Community extends Component<any, State> {
|
|||
<span class="mr-2">
|
||||
<SortSelect sort={this.state.sort} onChange={this.handleSortChange} />
|
||||
</span>
|
||||
<a href={communityRss} title="RSS" rel="noopener">
|
||||
<a href={communityRss} title="RSS" rel={relTags}>
|
||||
<Icon icon="rss" classes="text-muted small" />
|
||||
</a>
|
||||
<link rel="alternate" type="application/atom+xml" href={communityRss} />
|
||||
|
|
|
@ -43,6 +43,7 @@ import {
|
|||
mdToHtml,
|
||||
notifyPost,
|
||||
numToSI,
|
||||
relTags,
|
||||
restoreScrollPosition,
|
||||
saveCommentRes,
|
||||
saveScrollPosition,
|
||||
|
@ -695,7 +696,7 @@ export class Home extends Component<any, HomeState> {
|
|||
</span>
|
||||
{this.state.listingType == ListingType.All && (
|
||||
<>
|
||||
<a href={allRss} rel="noopener" title="RSS">
|
||||
<a href={allRss} rel={relTags} title="RSS">
|
||||
<Icon icon="rss" classes="text-muted small" />
|
||||
</a>
|
||||
<link rel="alternate" type="application/atom+xml" href={allRss} />
|
||||
|
@ -703,7 +704,7 @@ export class Home extends Component<any, HomeState> {
|
|||
)}
|
||||
{this.state.listingType == ListingType.Local && (
|
||||
<>
|
||||
<a href={localRss} rel="noopener" title="RSS">
|
||||
<a href={localRss} rel={relTags} title="RSS">
|
||||
<Icon icon="rss" classes="text-muted small" />
|
||||
</a>
|
||||
<link rel="alternate" type="application/atom+xml" href={localRss} />
|
||||
|
@ -712,7 +713,7 @@ export class Home extends Component<any, HomeState> {
|
|||
{UserService.Instance.myUserInfo &&
|
||||
this.state.listingType == ListingType.Subscribed && (
|
||||
<>
|
||||
<a href={frontRss} title="RSS" rel="noopener">
|
||||
<a href={frontRss} title="RSS" rel={relTags}>
|
||||
<Icon icon="rss" classes="text-muted small" />
|
||||
</a>
|
||||
<link
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component } from "inferno";
|
||||
import { GetSiteResponse } from "lemmy-js-client";
|
||||
import { i18n } from "../../i18next";
|
||||
import { setIsoData } from "../../utils";
|
||||
import { relTags, setIsoData } from "../../utils";
|
||||
import { HtmlTags } from "../common/html-tags";
|
||||
|
||||
interface InstancesState {
|
||||
|
@ -60,7 +60,7 @@ export class Instances extends Component<any, InstancesState> {
|
|||
<ul>
|
||||
{items.map(i => (
|
||||
<li>
|
||||
<a href={`https://${i}`} rel="noopener">
|
||||
<a href={`https://${i}`} rel={relTags}>
|
||||
{i}
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -30,6 +30,7 @@ import {
|
|||
editCommentRes,
|
||||
fetchLimit,
|
||||
isBrowser,
|
||||
relTags,
|
||||
saveCommentRes,
|
||||
setIsoData,
|
||||
setupTippy,
|
||||
|
@ -157,7 +158,7 @@ export class Inbox extends Component<any, InboxState> {
|
|||
<h5 class="mb-2">
|
||||
{i18n.t("inbox")}
|
||||
<small>
|
||||
<a href={inboxRss} title="RSS" rel="noopener">
|
||||
<a href={inboxRss} title="RSS" rel={relTags}>
|
||||
<Icon icon="rss" classes="ml-2 text-muted small" />
|
||||
</a>
|
||||
<link
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component } from "inferno";
|
||||
import { Link } from "inferno-router";
|
||||
import { PersonSafe } from "lemmy-js-client";
|
||||
import { hostname, isCakeDay, showAvatars } from "../../utils";
|
||||
import { hostname, isCakeDay, relTags, showAvatars } from "../../utils";
|
||||
import { PictrsImage } from "../common/pictrs-image";
|
||||
import { CakeDay } from "./cake-day";
|
||||
|
||||
|
@ -60,6 +60,7 @@ export class PersonListing extends Component<PersonListingProps, any> {
|
|||
title={apubName}
|
||||
className={this.props.muted ? "text-muted" : "text-info"}
|
||||
href={link}
|
||||
rel={relTags}
|
||||
>
|
||||
{this.avatarAndName(displayName)}
|
||||
</a>
|
||||
|
|
|
@ -29,6 +29,7 @@ import {
|
|||
mdToHtml,
|
||||
numToSI,
|
||||
previewLines,
|
||||
relTags,
|
||||
restoreScrollPosition,
|
||||
routeSortTypeToEnum,
|
||||
saveCommentRes,
|
||||
|
@ -346,7 +347,7 @@ export class Profile extends Component<any, ProfileState> {
|
|||
hideHot
|
||||
hideMostComments
|
||||
/>
|
||||
<a href={profileRss} rel="noopener" title="RSS">
|
||||
<a href={profileRss} rel={relTags} title="RSS">
|
||||
<Icon icon="rss" classes="text-muted small mx-2" />
|
||||
</a>
|
||||
<link rel="alternate" type="application/atom+xml" href={profileRss} />
|
||||
|
@ -419,7 +420,7 @@ export class Profile extends Component<any, ProfileState> {
|
|||
className={`d-flex align-self-start btn btn-secondary mr-2 ${
|
||||
!pv.person.matrix_user_id && "invisible"
|
||||
}`}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
href={`https://matrix.to/#/${pv.person.matrix_user_id}`}
|
||||
>
|
||||
{i18n.t("send_secure_message")}
|
||||
|
|
|
@ -18,7 +18,7 @@ import {
|
|||
UserOperation,
|
||||
} from "lemmy-js-client";
|
||||
import { Subscription } from "rxjs";
|
||||
import { i18n } from "../../i18next";
|
||||
import { i18n, languages } from "../../i18next";
|
||||
import { UserService, WebSocketService } from "../../services";
|
||||
import {
|
||||
authField,
|
||||
|
@ -31,12 +31,11 @@ import {
|
|||
fetchCommunities,
|
||||
fetchThemes,
|
||||
fetchUsers,
|
||||
getLanguage,
|
||||
getNativeLanguageName,
|
||||
getLanguages,
|
||||
isBrowser,
|
||||
languages,
|
||||
personSelectName,
|
||||
personToChoice,
|
||||
relTags,
|
||||
setIsoData,
|
||||
setTheme,
|
||||
setupTippy,
|
||||
|
@ -466,7 +465,7 @@ export class Settings extends Component<any, SettingsState> {
|
|||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-5 col-form-label" htmlFor="matrix-user-id">
|
||||
<a href={elementUrl} rel="noopener">
|
||||
<a href={elementUrl} rel={relTags}>
|
||||
{i18n.t("matrix_user_id")}
|
||||
</a>
|
||||
</label>
|
||||
|
@ -526,9 +525,7 @@ export class Settings extends Component<any, SettingsState> {
|
|||
{languages
|
||||
.sort((a, b) => a.code.localeCompare(b.code))
|
||||
.map(lang => (
|
||||
<option value={lang.code}>
|
||||
{getNativeLanguageName(lang.code)}
|
||||
</option>
|
||||
<option value={lang.code}>{lang.name}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
|
@ -935,7 +932,7 @@ export class Settings extends Component<any, SettingsState> {
|
|||
|
||||
handleLangChange(i: Settings, event: any) {
|
||||
i.state.saveUserSettingsForm.lang = event.target.value;
|
||||
i18n.changeLanguage(getLanguage(i.state.saveUserSettingsForm.lang));
|
||||
i18n.changeLanguage(getLanguages(i.state.saveUserSettingsForm.lang)[0]);
|
||||
i.setState(i.state);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { Component, linkEvent } from "inferno";
|
||||
import { Post } from "lemmy-js-client";
|
||||
import { i18n } from "../../i18next";
|
||||
import { relTags } from "../../utils";
|
||||
import { Icon } from "../common/icon";
|
||||
|
||||
interface MetadataCardProps {
|
||||
|
@ -35,7 +36,7 @@ export class MetadataCard extends Component<
|
|||
<div class="card-body">
|
||||
{post.name !== post.embed_title && [
|
||||
<h5 class="card-title d-inline">
|
||||
<a class="text-body" href={post.url} rel="noopener">
|
||||
<a class="text-body" href={post.url} rel={relTags}>
|
||||
{post.embed_title}
|
||||
</a>
|
||||
</h5>,
|
||||
|
@ -43,7 +44,7 @@ export class MetadataCard extends Component<
|
|||
<a
|
||||
class="text-muted font-italic"
|
||||
href={post.url}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
{new URL(post.url).hostname}
|
||||
<Icon icon="external-link" classes="ml-1" />
|
||||
|
|
|
@ -33,6 +33,7 @@ import {
|
|||
isBrowser,
|
||||
isImage,
|
||||
pictrsDeleteToast,
|
||||
relTags,
|
||||
setupTippy,
|
||||
toast,
|
||||
validTitle,
|
||||
|
@ -219,7 +220,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
|
|||
this.state.postForm.url
|
||||
)}`}
|
||||
class="mr-2 d-inline-block float-right text-muted small font-weight-bold"
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
archive.org {i18n.t("archive_link")}
|
||||
</a>
|
||||
|
@ -228,7 +229,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
|
|||
this.state.postForm.url
|
||||
)}`}
|
||||
class="mr-2 d-inline-block float-right text-muted small font-weight-bold"
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
ghostarchive.org {i18n.t("archive_link")}
|
||||
</a>
|
||||
|
@ -237,7 +238,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
|
|||
this.state.postForm.url
|
||||
)}`}
|
||||
class="mr-2 d-inline-block float-right text-muted small font-weight-bold"
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
archive.today {i18n.t("archive_link")}
|
||||
</a>
|
||||
|
|
|
@ -36,6 +36,7 @@ import {
|
|||
mdToHtml,
|
||||
numToSI,
|
||||
previewLines,
|
||||
relTags,
|
||||
setupTippy,
|
||||
showScores,
|
||||
wsClient,
|
||||
|
@ -244,7 +245,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
<a
|
||||
class="text-body d-inline-block position-relative mb-2"
|
||||
href={post.url}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
title={post.url}
|
||||
>
|
||||
{this.imgThumb(this.imageSrc)}
|
||||
|
@ -272,7 +273,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
className="text-body"
|
||||
href={post.url}
|
||||
title={post.url}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
<div class="thumbnail rounded bg-light d-flex justify-content-center">
|
||||
<Icon icon="external-link" classes="d-flex align-items-center" />
|
||||
|
@ -335,7 +336,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
className="text-muted font-italic"
|
||||
href={post_view.post.url}
|
||||
title={post_view.post.url}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
{hostname(post_view.post.url)}
|
||||
</a>
|
||||
|
@ -418,7 +419,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
className={!post.stickied ? "text-body" : "text-primary"}
|
||||
href={post.url}
|
||||
title={post.url}
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
>
|
||||
{post.name}
|
||||
</a>
|
||||
|
@ -445,11 +446,6 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
/>
|
||||
</button>
|
||||
)}
|
||||
{!post.local && (
|
||||
<a className="ml-2" title={i18n.t("link")} href={post.ap_id}>
|
||||
<Icon icon="fedilink" />
|
||||
</a>
|
||||
)}
|
||||
{post.removed && (
|
||||
<small className="ml-2 text-muted font-italic">
|
||||
{i18n.t("removed")}
|
||||
|
@ -515,9 +511,19 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
|
|||
}
|
||||
|
||||
commentsLine(mobile = false) {
|
||||
let post = this.props.post_view.post;
|
||||
return (
|
||||
<div class="d-flex justify-content-start flex-wrap text-muted font-weight-bold mb-1">
|
||||
{this.commentsButton}
|
||||
{!post.local && (
|
||||
<a
|
||||
className="btn btn-link btn-animate text-muted py-0"
|
||||
title={i18n.t("link")}
|
||||
href={post.ap_id}
|
||||
>
|
||||
<Icon icon="fedilink" inline />
|
||||
</a>
|
||||
)}
|
||||
{mobile && !this.props.viewOnly && this.mobileVotes}
|
||||
{UserService.Instance.myUserInfo &&
|
||||
!this.props.viewOnly &&
|
||||
|
|
|
@ -16,6 +16,7 @@ import {
|
|||
authField,
|
||||
capitalizeFirstLetter,
|
||||
isBrowser,
|
||||
relTags,
|
||||
setupTippy,
|
||||
toast,
|
||||
wsClient,
|
||||
|
@ -141,7 +142,7 @@ export class PrivateMessageForm extends Component<
|
|||
#
|
||||
<a
|
||||
class="alert-link"
|
||||
rel="noopener"
|
||||
rel={relTags}
|
||||
href="https://element.io/get-started"
|
||||
>
|
||||
#
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
import i18next, { i18nTyped } from "i18next";
|
||||
import i18next, { i18nTyped, Resource } from "i18next";
|
||||
import { ar } from "./translations/ar";
|
||||
import { as } from "./translations/as";
|
||||
import { bg } from "./translations/bg";
|
||||
import { bn } from "./translations/bn";
|
||||
import { ca } from "./translations/ca";
|
||||
import { cs } from "./translations/cs";
|
||||
import { cy } from "./translations/cy";
|
||||
import { da } from "./translations/da";
|
||||
import { de } from "./translations/de";
|
||||
import { el } from "./translations/el";
|
||||
|
@ -18,88 +15,57 @@ import { fi } from "./translations/fi";
|
|||
import { fr } from "./translations/fr";
|
||||
import { ga } from "./translations/ga";
|
||||
import { gl } from "./translations/gl";
|
||||
import { hi } from "./translations/hi";
|
||||
import { hr } from "./translations/hr";
|
||||
import { hu } from "./translations/hu";
|
||||
import { id } from "./translations/id";
|
||||
import { it } from "./translations/it";
|
||||
import { ja } from "./translations/ja";
|
||||
import { ka } from "./translations/ka";
|
||||
import { km } from "./translations/km";
|
||||
import { ko } from "./translations/ko";
|
||||
import { lt } from "./translations/lt";
|
||||
import { ml } from "./translations/ml";
|
||||
import { mnc } from "./translations/mnc";
|
||||
import { nb_NO } from "./translations/nb_NO";
|
||||
import { nl } from "./translations/nl";
|
||||
import { oc } from "./translations/oc";
|
||||
import { pl } from "./translations/pl";
|
||||
import { pt } from "./translations/pt";
|
||||
import { pt_BR } from "./translations/pt_BR";
|
||||
import { ru } from "./translations/ru";
|
||||
import { sk } from "./translations/sk";
|
||||
import { sq } from "./translations/sq";
|
||||
import { sr_Latn } from "./translations/sr_Latn";
|
||||
import { sv } from "./translations/sv";
|
||||
import { th } from "./translations/th";
|
||||
import { tr } from "./translations/tr";
|
||||
import { uk } from "./translations/uk";
|
||||
import { vi } from "./translations/vi";
|
||||
import { zh } from "./translations/zh";
|
||||
import { zh_Hant } from "./translations/zh_Hant";
|
||||
import { getLanguage } from "./utils";
|
||||
import { getLanguages } from "./utils";
|
||||
|
||||
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
|
||||
const resources = {
|
||||
en,
|
||||
el,
|
||||
eu,
|
||||
eo,
|
||||
es,
|
||||
ka,
|
||||
hi,
|
||||
de,
|
||||
zh,
|
||||
fr,
|
||||
sv,
|
||||
ru,
|
||||
nl,
|
||||
it,
|
||||
fi,
|
||||
ca,
|
||||
fa,
|
||||
pl,
|
||||
pt_BR,
|
||||
ja,
|
||||
gl,
|
||||
tr,
|
||||
hu,
|
||||
uk,
|
||||
sq,
|
||||
km,
|
||||
ga,
|
||||
sr_Latn,
|
||||
da,
|
||||
oc,
|
||||
hr,
|
||||
th,
|
||||
bg,
|
||||
ar,
|
||||
ko,
|
||||
id,
|
||||
nb_NO,
|
||||
zh_Hant,
|
||||
cy,
|
||||
mnc,
|
||||
sk,
|
||||
vi,
|
||||
pt,
|
||||
bn,
|
||||
ml,
|
||||
cs,
|
||||
as,
|
||||
lt,
|
||||
};
|
||||
export const languages = [
|
||||
{ resource: ar, code: "ar", name: "العربية" },
|
||||
{ resource: bg, code: "bg", name: "Български" },
|
||||
{ resource: ca, code: "ca", name: "Català" },
|
||||
{ resource: cs, code: "cs", name: "Česky" },
|
||||
{ resource: da, code: "da", name: "Dansk" },
|
||||
{ resource: de, code: "de", name: "Deutsch" },
|
||||
{ resource: el, code: "el", name: "Ελληνικά" },
|
||||
{ resource: en, code: "en", name: "English" },
|
||||
{ resource: eo, code: "eo", name: "Esperanto" },
|
||||
{ resource: es, code: "es", name: "Español" },
|
||||
{ resource: eu, code: "eu", name: "Euskara" },
|
||||
{ resource: fa, code: "fa", name: "فارسی" },
|
||||
{ resource: fi, code: "fi", name: "Suomi" },
|
||||
{ resource: fr, code: "fr", name: "Français" },
|
||||
{ resource: ga, code: "ga", name: "Gaeilge" },
|
||||
{ resource: gl, code: "gl", name: "Galego" },
|
||||
{ resource: hr, code: "hr", name: "Hrvatski" },
|
||||
{ resource: id, code: "id", name: "Bahasa Indonesia" },
|
||||
{ resource: it, code: "it", name: "Italiano" },
|
||||
{ resource: ja, code: "ja", name: "日本語" },
|
||||
{ resource: ko, code: "ko", name: "한국어" },
|
||||
{ resource: nl, code: "nl", name: "Nederlands" },
|
||||
{ resource: pl, code: "pl", name: "Polski" },
|
||||
{ resource: pt, code: "pt", name: "Português" },
|
||||
{ resource: pt_BR, code: "pt_BR", name: "Português (Brasil)" },
|
||||
{ resource: ru, code: "ru", name: "Русский" },
|
||||
{ resource: sv, code: "sv", name: "Svenska" },
|
||||
{ resource: vi, code: "vi", name: "Tiếng Việt" },
|
||||
{ resource: zh, code: "zh", name: "中文" },
|
||||
{ resource: zh_Hant, code: "zh_Hant", name: "文言" },
|
||||
];
|
||||
|
||||
const resources: Resource = {};
|
||||
languages.forEach(l => (resources[l.code] = l.resource));
|
||||
|
||||
function format(value: any, format: any): any {
|
||||
return format === "uppercase" ? value.toUpperCase() : value;
|
||||
|
@ -109,14 +75,11 @@ i18next.init({
|
|||
debug: false,
|
||||
compatibilityJSON: "v3",
|
||||
// load: 'languageOnly',
|
||||
|
||||
// initImmediate: false,
|
||||
lng: getLanguage(),
|
||||
lng: getLanguages()[0],
|
||||
fallbackLng: "en",
|
||||
resources,
|
||||
interpolation: { format },
|
||||
});
|
||||
|
||||
export const i18n = i18next as i18nTyped;
|
||||
|
||||
export { resources };
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import emojiShortName from "emoji-short-name";
|
||||
import ISO6391 from "iso-639-1";
|
||||
import {
|
||||
BlockCommunityResponse,
|
||||
BlockPersonResponse,
|
||||
|
@ -35,51 +34,12 @@ import markdown_it_html5_embed from "markdown-it-html5-embed";
|
|||
import markdown_it_sub from "markdown-it-sub";
|
||||
import markdown_it_sup from "markdown-it-sup";
|
||||
import moment from "moment";
|
||||
import "moment/locale/bg";
|
||||
import "moment/locale/bn";
|
||||
import "moment/locale/ca";
|
||||
import "moment/locale/cs";
|
||||
import "moment/locale/cy";
|
||||
import "moment/locale/da";
|
||||
import "moment/locale/de";
|
||||
import "moment/locale/el";
|
||||
import "moment/locale/eo";
|
||||
import "moment/locale/es";
|
||||
import "moment/locale/eu";
|
||||
import "moment/locale/fa";
|
||||
import "moment/locale/fi";
|
||||
import "moment/locale/fr";
|
||||
import "moment/locale/ga";
|
||||
import "moment/locale/gl";
|
||||
import "moment/locale/hi";
|
||||
import "moment/locale/hr";
|
||||
import "moment/locale/hu";
|
||||
import "moment/locale/id";
|
||||
import "moment/locale/it";
|
||||
import "moment/locale/ja";
|
||||
import "moment/locale/ka";
|
||||
import "moment/locale/km";
|
||||
import "moment/locale/ko";
|
||||
import "moment/locale/ml";
|
||||
import "moment/locale/nb";
|
||||
import "moment/locale/nl";
|
||||
import "moment/locale/pl";
|
||||
import "moment/locale/pt-br";
|
||||
import "moment/locale/ru";
|
||||
import "moment/locale/sk";
|
||||
import "moment/locale/sq";
|
||||
import "moment/locale/sr";
|
||||
import "moment/locale/sv";
|
||||
import "moment/locale/tr";
|
||||
import "moment/locale/uk";
|
||||
import "moment/locale/vi";
|
||||
import "moment/locale/zh-cn";
|
||||
import { Subscription } from "rxjs";
|
||||
import { delay, retryWhen, take } from "rxjs/operators";
|
||||
import tippy from "tippy.js";
|
||||
import Toastify from "toastify-js";
|
||||
import { httpBase } from "./env";
|
||||
import { i18n } from "./i18next";
|
||||
import { i18n, languages } from "./i18next";
|
||||
import {
|
||||
CommentNode as CommentNodeI,
|
||||
CommentSortType,
|
||||
|
@ -115,56 +75,7 @@ export const postRefetchSeconds: number = 60 * 1000;
|
|||
export const fetchLimit = 20;
|
||||
export const mentionDropdownFetchLimit = 10;
|
||||
|
||||
export const languages = [
|
||||
{ code: "ca" },
|
||||
{ code: "en" },
|
||||
{ code: "el" },
|
||||
{ code: "eu" },
|
||||
{ code: "eo" },
|
||||
{ code: "es" },
|
||||
{ code: "da" },
|
||||
{ code: "de" },
|
||||
{ code: "ga" },
|
||||
{ code: "gl" },
|
||||
{ code: "hr" },
|
||||
{ code: "hu" },
|
||||
{ code: "id" },
|
||||
{ code: "ka" },
|
||||
{ code: "ko" },
|
||||
{ code: "km" },
|
||||
{ code: "hi" },
|
||||
{ code: "fa" },
|
||||
{ code: "ja" },
|
||||
{ code: "oc" },
|
||||
{ code: "nb_NO" },
|
||||
{ code: "pl" },
|
||||
{ code: "pt_BR" },
|
||||
{ code: "zh" },
|
||||
{ code: "fi" },
|
||||
{ code: "fr" },
|
||||
{ code: "sv" },
|
||||
{ code: "sq" },
|
||||
{ code: "sr_Latn" },
|
||||
{ code: "th" },
|
||||
{ code: "tr" },
|
||||
{ code: "uk" },
|
||||
{ code: "ru" },
|
||||
{ code: "nl" },
|
||||
{ code: "it" },
|
||||
{ code: "bg" },
|
||||
{ code: "zh_Hant" },
|
||||
{ code: "cy" },
|
||||
{ code: "mnc" },
|
||||
{ code: "sk" },
|
||||
{ code: "vi" },
|
||||
{ code: "pt" },
|
||||
{ code: "ar" },
|
||||
{ code: "bn" },
|
||||
{ code: "ml" },
|
||||
{ code: "cs" },
|
||||
{ code: "as" },
|
||||
{ code: "lt" },
|
||||
];
|
||||
export const relTags = "noopener nofollow";
|
||||
|
||||
export function fetchThemes(): Promise<string[]> {
|
||||
var promise = new Promise<string[]>((resolve, reject) => {
|
||||
|
@ -429,20 +340,7 @@ export function debounce(func: any, wait = 1000, immediate = false) {
|
|||
};
|
||||
}
|
||||
|
||||
export function getNativeLanguageName(code: string): string {
|
||||
let [isoCode, qualifier] = code.split("_");
|
||||
|
||||
let native = ISO6391.getNativeName(isoCode) || code;
|
||||
|
||||
if (qualifier) {
|
||||
return `${native}_${qualifier}`;
|
||||
} else {
|
||||
return native;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO
|
||||
export function getLanguage(override?: string): string {
|
||||
export function getLanguages(override?: string): string[] {
|
||||
let myUserInfo = UserService.Instance.myUserInfo;
|
||||
let lang =
|
||||
override ||
|
||||
|
@ -451,13 +349,13 @@ export function getLanguage(override?: string): string {
|
|||
: "browser");
|
||||
|
||||
if (lang == "browser" && isBrowser()) {
|
||||
return getBrowserLanguage();
|
||||
return getBrowserLanguages();
|
||||
} else {
|
||||
return lang;
|
||||
return [lang];
|
||||
}
|
||||
}
|
||||
|
||||
export function getBrowserLanguage(): string {
|
||||
function getBrowserLanguages(): string[] {
|
||||
// Intersect lemmy's langs, with the browser langs
|
||||
let langs = languages ? languages.map(l => l.code) : ["en"];
|
||||
|
||||
|
@ -465,105 +363,7 @@ export function getBrowserLanguage(): string {
|
|||
let allowedLangs = navigator.languages
|
||||
.concat("en")
|
||||
.filter(v => langs.includes(v));
|
||||
return allowedLangs[0];
|
||||
}
|
||||
|
||||
export function getMomentLanguage(): string {
|
||||
let lang = getLanguage();
|
||||
if (lang.startsWith("zh")) {
|
||||
lang = "zh-cn";
|
||||
} else if (lang.startsWith("sv")) {
|
||||
lang = "sv";
|
||||
} else if (lang.startsWith("fr")) {
|
||||
lang = "fr";
|
||||
} else if (lang.startsWith("de")) {
|
||||
lang = "de";
|
||||
} else if (lang.startsWith("ru")) {
|
||||
lang = "ru";
|
||||
} else if (lang.startsWith("es")) {
|
||||
lang = "es";
|
||||
} else if (lang.startsWith("eo")) {
|
||||
lang = "eo";
|
||||
} else if (lang.startsWith("nl")) {
|
||||
lang = "nl";
|
||||
} else if (lang.startsWith("it")) {
|
||||
lang = "it";
|
||||
} else if (lang.startsWith("fi")) {
|
||||
lang = "fi";
|
||||
} else if (lang.startsWith("ca")) {
|
||||
lang = "ca";
|
||||
} else if (lang.startsWith("fa")) {
|
||||
lang = "fa";
|
||||
} else if (lang.startsWith("pl")) {
|
||||
lang = "pl";
|
||||
} else if (lang.startsWith("pt_BR")) {
|
||||
lang = "pt-br";
|
||||
} else if (lang.startsWith("ja")) {
|
||||
lang = "ja";
|
||||
} else if (lang.startsWith("ka")) {
|
||||
lang = "ka";
|
||||
} else if (lang.startsWith("hi")) {
|
||||
lang = "hi";
|
||||
} else if (lang.startsWith("el")) {
|
||||
lang = "el";
|
||||
} else if (lang.startsWith("eu")) {
|
||||
lang = "eu";
|
||||
} else if (lang.startsWith("gl")) {
|
||||
lang = "gl";
|
||||
} else if (lang.startsWith("tr")) {
|
||||
lang = "tr";
|
||||
} else if (lang.startsWith("hu")) {
|
||||
lang = "hu";
|
||||
} else if (lang.startsWith("uk")) {
|
||||
lang = "uk";
|
||||
} else if (lang.startsWith("sq")) {
|
||||
lang = "sq";
|
||||
} else if (lang.startsWith("km")) {
|
||||
lang = "km";
|
||||
} else if (lang.startsWith("ga")) {
|
||||
lang = "ga";
|
||||
} else if (lang.startsWith("sr")) {
|
||||
lang = "sr";
|
||||
} else if (lang.startsWith("ko")) {
|
||||
lang = "ko";
|
||||
} else if (lang.startsWith("da")) {
|
||||
lang = "da";
|
||||
} else if (lang.startsWith("oc")) {
|
||||
lang = "oc";
|
||||
} else if (lang.startsWith("hr")) {
|
||||
lang = "hr";
|
||||
} else if (lang.startsWith("th")) {
|
||||
lang = "th";
|
||||
} else if (lang.startsWith("bg")) {
|
||||
lang = "bg";
|
||||
} else if (lang.startsWith("id")) {
|
||||
lang = "id";
|
||||
} else if (lang.startsWith("nb")) {
|
||||
lang = "nb";
|
||||
} else if (lang.startsWith("cy")) {
|
||||
lang = "cy";
|
||||
} else if (lang.startsWith("sk")) {
|
||||
lang = "sk";
|
||||
} else if (lang.startsWith("vi")) {
|
||||
lang = "vi";
|
||||
} else if (lang.startsWith("pt")) {
|
||||
lang = "pt";
|
||||
} else if (lang.startsWith("ar")) {
|
||||
lang = "ar";
|
||||
} else if (lang.startsWith("bn")) {
|
||||
lang = "bn";
|
||||
} else if (lang.startsWith("ml")) {
|
||||
lang = "ml";
|
||||
} else if (lang.startsWith("cs")) {
|
||||
lang = "cs";
|
||||
} else if (lang.startsWith("as")) {
|
||||
lang = "as";
|
||||
} else if (lang.startsWith("lt")) {
|
||||
lang = "lt";
|
||||
} else {
|
||||
lang = "en";
|
||||
}
|
||||
return lang;
|
||||
return allowedLangs;
|
||||
}
|
||||
|
||||
export function setTheme(theme: string, forceReload = false) {
|
||||
|
@ -1520,7 +1320,7 @@ export function personSelectName(pvs: PersonViewSafe): string {
|
|||
|
||||
export function initializeSite(site: GetSiteResponse) {
|
||||
UserService.Instance.myUserInfo = site.my_user;
|
||||
i18n.changeLanguage(getLanguage());
|
||||
i18n.changeLanguage(getLanguages()[0]);
|
||||
}
|
||||
|
||||
const SHORTNUM_SI_FORMAT = new Intl.NumberFormat("en-US", {
|
||||
|
|
317
yarn.lock
317
yarn.lock
|
@ -22,9 +22,9 @@
|
|||
integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==
|
||||
|
||||
"@babel/core@^7.16.0", "@babel/core@^7.2.2":
|
||||
version "7.17.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.4.tgz#a22f1ae8999122873b3d18865e98c7a3936b8c8b"
|
||||
integrity sha512-R9x5r4t4+hBqZTmioSnkrW+I6NmbojwjGT8p4G2Gw1thWbXIHGDnmGdLdFw0/7ljucdIrNRp7Npgb4CyBYzzJg==
|
||||
version "7.17.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225"
|
||||
integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==
|
||||
dependencies:
|
||||
"@ampproject/remapping" "^2.1.0"
|
||||
"@babel/code-frame" "^7.16.7"
|
||||
|
@ -76,10 +76,10 @@
|
|||
browserslist "^4.17.5"
|
||||
semver "^6.3.0"
|
||||
|
||||
"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7":
|
||||
version "7.17.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21"
|
||||
integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==
|
||||
"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6":
|
||||
version "7.17.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9"
|
||||
integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure" "^7.16.7"
|
||||
"@babel/helper-environment-visitor" "^7.16.7"
|
||||
|
@ -163,9 +163,9 @@
|
|||
"@babel/types" "^7.16.7"
|
||||
|
||||
"@babel/helper-module-transforms@^7.16.7":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
|
||||
integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
|
||||
version "7.17.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0"
|
||||
integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==
|
||||
dependencies:
|
||||
"@babel/helper-environment-visitor" "^7.16.7"
|
||||
"@babel/helper-module-imports" "^7.16.7"
|
||||
|
@ -173,8 +173,8 @@
|
|||
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||
"@babel/helper-validator-identifier" "^7.16.7"
|
||||
"@babel/template" "^7.16.7"
|
||||
"@babel/traverse" "^7.16.7"
|
||||
"@babel/types" "^7.16.7"
|
||||
"@babel/traverse" "^7.17.3"
|
||||
"@babel/types" "^7.17.0"
|
||||
|
||||
"@babel/helper-optimise-call-expression@^7.16.7":
|
||||
version "7.16.7"
|
||||
|
@ -306,11 +306,11 @@
|
|||
"@babel/helper-plugin-utils" "^7.16.7"
|
||||
|
||||
"@babel/plugin-proposal-class-static-block@^7.16.7":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a"
|
||||
integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==
|
||||
version "7.17.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c"
|
||||
integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==
|
||||
dependencies:
|
||||
"@babel/helper-create-class-features-plugin" "^7.16.7"
|
||||
"@babel/helper-create-class-features-plugin" "^7.17.6"
|
||||
"@babel/helper-plugin-utils" "^7.16.7"
|
||||
"@babel/plugin-syntax-class-static-block" "^7.14.5"
|
||||
|
||||
|
@ -960,9 +960,9 @@
|
|||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@humanwhocodes/config-array@^0.9.2":
|
||||
version "0.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e"
|
||||
integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==
|
||||
version "0.9.5"
|
||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
|
||||
integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
|
||||
dependencies:
|
||||
"@humanwhocodes/object-schema" "^1.2.1"
|
||||
debug "^4.1.1"
|
||||
|
@ -1145,9 +1145,9 @@
|
|||
form-data "^3.0.0"
|
||||
|
||||
"@types/node@*", "@types/node@^17.0.8":
|
||||
version "17.0.18"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074"
|
||||
integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==
|
||||
version "17.0.21"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644"
|
||||
integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
|
||||
|
||||
"@types/qs@*":
|
||||
version "6.9.7"
|
||||
|
@ -1192,20 +1192,20 @@
|
|||
"@types/node" "*"
|
||||
|
||||
"@types/ws@^8.2.2":
|
||||
version "8.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21"
|
||||
integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==
|
||||
version "8.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.0.tgz#805ceb3f68eaebbed1a3004a66f16e35b7f3bf14"
|
||||
integrity sha512-mTClfhq5cuGyW4jthaFuig6Q8OVfB3IRyZfN/9SCyJtiM5H0SubwM89cHoT9UngO6HyUFic88HvT1zSNLNyxWA==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^5.6.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.0.tgz#bb46dd7ce7015c0928b98af1e602118e97df6c70"
|
||||
integrity sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ==
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4"
|
||||
integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "5.12.0"
|
||||
"@typescript-eslint/type-utils" "5.12.0"
|
||||
"@typescript-eslint/utils" "5.12.0"
|
||||
"@typescript-eslint/scope-manager" "5.12.1"
|
||||
"@typescript-eslint/type-utils" "5.12.1"
|
||||
"@typescript-eslint/utils" "5.12.1"
|
||||
debug "^4.3.2"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
ignore "^5.1.8"
|
||||
|
@ -1214,68 +1214,68 @@
|
|||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/parser@^5.6.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.0.tgz#0ca669861813df99ce54916f66f524c625ed2434"
|
||||
integrity sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog==
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b"
|
||||
integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "5.12.0"
|
||||
"@typescript-eslint/types" "5.12.0"
|
||||
"@typescript-eslint/typescript-estree" "5.12.0"
|
||||
"@typescript-eslint/scope-manager" "5.12.1"
|
||||
"@typescript-eslint/types" "5.12.1"
|
||||
"@typescript-eslint/typescript-estree" "5.12.1"
|
||||
debug "^4.3.2"
|
||||
|
||||
"@typescript-eslint/scope-manager@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz#59619e6e5e2b1ce6cb3948b56014d3a24da83f5e"
|
||||
integrity sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ==
|
||||
"@typescript-eslint/scope-manager@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817"
|
||||
integrity sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.12.0"
|
||||
"@typescript-eslint/visitor-keys" "5.12.0"
|
||||
"@typescript-eslint/types" "5.12.1"
|
||||
"@typescript-eslint/visitor-keys" "5.12.1"
|
||||
|
||||
"@typescript-eslint/type-utils@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.0.tgz#aaf45765de71c6d9707c66ccff76ec2b9aa31bb6"
|
||||
integrity sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q==
|
||||
"@typescript-eslint/type-utils@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0"
|
||||
integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg==
|
||||
dependencies:
|
||||
"@typescript-eslint/utils" "5.12.0"
|
||||
"@typescript-eslint/utils" "5.12.1"
|
||||
debug "^4.3.2"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/types@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.0.tgz#5b4030a28222ee01e851836562c07769eecda0b8"
|
||||
integrity sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ==
|
||||
"@typescript-eslint/types@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89"
|
||||
integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==
|
||||
|
||||
"@typescript-eslint/typescript-estree@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz#cabf545fd592722f0e2b4104711e63bf89525cd2"
|
||||
integrity sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ==
|
||||
"@typescript-eslint/typescript-estree@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722"
|
||||
integrity sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.12.0"
|
||||
"@typescript-eslint/visitor-keys" "5.12.0"
|
||||
"@typescript-eslint/types" "5.12.1"
|
||||
"@typescript-eslint/visitor-keys" "5.12.1"
|
||||
debug "^4.3.2"
|
||||
globby "^11.0.4"
|
||||
is-glob "^4.0.3"
|
||||
semver "^7.3.5"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/utils@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.0.tgz#92fd3193191621ab863add2f553a7b38b65646af"
|
||||
integrity sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw==
|
||||
"@typescript-eslint/utils@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920"
|
||||
integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.9"
|
||||
"@typescript-eslint/scope-manager" "5.12.0"
|
||||
"@typescript-eslint/types" "5.12.0"
|
||||
"@typescript-eslint/typescript-estree" "5.12.0"
|
||||
"@typescript-eslint/scope-manager" "5.12.1"
|
||||
"@typescript-eslint/types" "5.12.1"
|
||||
"@typescript-eslint/typescript-estree" "5.12.1"
|
||||
eslint-scope "^5.1.1"
|
||||
eslint-utils "^3.0.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz#1ac9352ed140b07ba144ebf371b743fdf537ec16"
|
||||
integrity sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg==
|
||||
"@typescript-eslint/visitor-keys@5.12.1":
|
||||
version "5.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3"
|
||||
integrity sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.12.0"
|
||||
"@typescript-eslint/types" "5.12.1"
|
||||
eslint-visitor-keys "^3.0.0"
|
||||
|
||||
"@webassemblyjs/ast@1.11.1":
|
||||
|
@ -1439,7 +1439,7 @@ abbrev@1, abbrev@~1.1.1:
|
|||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
||||
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
|
||||
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
|
||||
integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
|
||||
|
@ -1457,7 +1457,7 @@ acorn-jsx@^5.3.1:
|
|||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn@^8.4.1, acorn@^8.7.0:
|
||||
acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0:
|
||||
version "8.7.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
|
||||
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
|
||||
|
@ -1837,20 +1837,20 @@ bluebird@~3.5.1:
|
|||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
|
||||
integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
|
||||
|
||||
body-parser@1.19.1:
|
||||
version "1.19.1"
|
||||
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4"
|
||||
integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
|
||||
body-parser@1.19.2:
|
||||
version "1.19.2"
|
||||
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
|
||||
integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
|
||||
dependencies:
|
||||
bytes "3.1.1"
|
||||
bytes "3.1.2"
|
||||
content-type "~1.0.4"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
http-errors "1.8.1"
|
||||
iconv-lite "0.4.24"
|
||||
on-finished "~2.3.0"
|
||||
qs "6.9.6"
|
||||
raw-body "2.4.2"
|
||||
qs "6.9.7"
|
||||
raw-body "2.4.3"
|
||||
type-is "~1.6.18"
|
||||
|
||||
bonjour@^3.5.0:
|
||||
|
@ -1904,14 +1904,14 @@ braces@^3.0.1, braces@~3.0.2:
|
|||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1:
|
||||
version "4.19.1"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
|
||||
integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
|
||||
version "4.19.3"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383"
|
||||
integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001286"
|
||||
electron-to-chromium "^1.4.17"
|
||||
caniuse-lite "^1.0.30001312"
|
||||
electron-to-chromium "^1.4.71"
|
||||
escalade "^3.1.1"
|
||||
node-releases "^2.0.1"
|
||||
node-releases "^2.0.2"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
|
@ -1962,10 +1962,10 @@ bytes@3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
|
||||
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
|
||||
|
||||
bytes@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a"
|
||||
integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
|
||||
bytes@3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
|
||||
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
|
||||
|
||||
cacache@^10.0.0, cacache@^10.0.4:
|
||||
version "10.0.4"
|
||||
|
@ -2053,7 +2053,7 @@ camelcase@^5.0.0:
|
|||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
|
||||
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
|
||||
|
||||
caniuse-lite@^1.0.30001286:
|
||||
caniuse-lite@^1.0.30001312:
|
||||
version "1.0.30001312"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f"
|
||||
integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==
|
||||
|
@ -2423,10 +2423,10 @@ cookie-signature@1.0.6:
|
|||
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
|
||||
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
|
||||
|
||||
cookie@0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
|
||||
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
|
||||
cookie@0.4.2:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
cookie@^0.1.2:
|
||||
version "0.1.5"
|
||||
|
@ -2458,9 +2458,9 @@ copy-webpack-plugin@^10.0.0:
|
|||
serialize-javascript "^6.0.0"
|
||||
|
||||
core-js-compat@^3.20.2, core-js-compat@^3.21.0:
|
||||
version "3.21.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885"
|
||||
integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A==
|
||||
version "3.21.1"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82"
|
||||
integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==
|
||||
dependencies:
|
||||
browserslist "^4.19.1"
|
||||
semver "7.0.0"
|
||||
|
@ -2574,7 +2574,7 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3:
|
|||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debuglog@^1.0.1:
|
||||
debuglog@*, debuglog@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
|
||||
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
|
||||
|
@ -2806,10 +2806,10 @@ ee-first@1.1.1:
|
|||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
electron-to-chromium@^1.4.17:
|
||||
version "1.4.71"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6"
|
||||
integrity sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==
|
||||
electron-to-chromium@^1.4.71:
|
||||
version "1.4.72"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.72.tgz#19b871f1da8be8199b2330d694fc84fcdb72ecd9"
|
||||
integrity sha512-9LkRQwjW6/wnSfevR21a3k8sOJ+XWSH7kkzs9/EUenKmuDkndP3W9y1yCZpOxufwGbX3JV8glZZSDb4o95zwXQ==
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
|
@ -3142,16 +3142,16 @@ exenv@^1.2.1:
|
|||
integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=
|
||||
|
||||
express@^4.17.1, express@~4.17.1:
|
||||
version "4.17.2"
|
||||
resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3"
|
||||
integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
|
||||
version "4.17.3"
|
||||
resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
|
||||
integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
|
||||
dependencies:
|
||||
accepts "~1.3.7"
|
||||
accepts "~1.3.8"
|
||||
array-flatten "1.1.1"
|
||||
body-parser "1.19.1"
|
||||
body-parser "1.19.2"
|
||||
content-disposition "0.5.4"
|
||||
content-type "~1.0.4"
|
||||
cookie "0.4.1"
|
||||
cookie "0.4.2"
|
||||
cookie-signature "1.0.6"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
|
@ -3166,7 +3166,7 @@ express@^4.17.1, express@~4.17.1:
|
|||
parseurl "~1.3.3"
|
||||
path-to-regexp "0.1.7"
|
||||
proxy-addr "~2.0.7"
|
||||
qs "6.9.6"
|
||||
qs "6.9.7"
|
||||
range-parser "~1.2.1"
|
||||
safe-buffer "5.2.1"
|
||||
send "0.17.2"
|
||||
|
@ -3347,9 +3347,9 @@ flush-write-stream@^1.0.0:
|
|||
readable-stream "^2.3.6"
|
||||
|
||||
follow-redirects@^1.0.0:
|
||||
version "1.14.8"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
|
||||
integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
|
||||
version "1.14.9"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
|
||||
integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
|
||||
|
||||
forever-agent@~0.6.1:
|
||||
version "0.6.1"
|
||||
|
@ -3894,9 +3894,9 @@ husky@^7.0.4:
|
|||
integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==
|
||||
|
||||
i18next@^21.5.4:
|
||||
version "21.6.11"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.6.11.tgz#de6d649221e02474cc701d152606bf3e61e37bcd"
|
||||
integrity sha512-tJ2+o0lVO+fhi8bPkCpBAeY1SgkqmQm5NzgPWCQssBrywJw98/o+Kombhty5nxQOpHtvMmsxcOopczUiH6bJxQ==
|
||||
version "21.6.12"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.6.12.tgz#5080a611af98f4104062a88452b30704b29fa924"
|
||||
integrity sha512-xlGTPdu2g5PZEUIE6TA1mQ9EIAAv9nMFONzgwAIrKL/KTmYYWufQNGgOmp5Og1PvgUji+6i1whz0rMdsz1qaKw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.12.0"
|
||||
|
||||
|
@ -4034,7 +4034,7 @@ import-sort@^6.0.0:
|
|||
is-builtin-module "^3.0.0"
|
||||
resolve "^1.8.1"
|
||||
|
||||
imurmurhash@^0.1.4:
|
||||
imurmurhash@*, imurmurhash@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
|
||||
|
@ -4497,11 +4497,6 @@ isexe@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
|
||||
|
||||
iso-639-1@^2.1.10:
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/iso-639-1/-/iso-639-1-2.1.13.tgz#bfca6c6b49be6f92815f1985e892d497770ea1dc"
|
||||
integrity sha512-stYt3u6OnVDNcK4IWARGXmTOOY5Wa5g4bUmBsttZp/55ZiEjDUibR3C59ZnorKoSS0tfJmFuGMST3ksnY1zu7Q==
|
||||
|
||||
isobject@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
|
||||
|
@ -4823,6 +4818,11 @@ lockfile@^1.0.4:
|
|||
dependencies:
|
||||
signal-exit "^3.0.2"
|
||||
|
||||
lodash._baseindexof@*:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
|
||||
integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
|
||||
|
||||
lodash._baseuniq@~4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
|
||||
|
@ -4831,11 +4831,33 @@ lodash._baseuniq@~4.6.0:
|
|||
lodash._createset "~4.0.0"
|
||||
lodash._root "~3.0.0"
|
||||
|
||||
lodash._bindcallback@*:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
|
||||
integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
|
||||
|
||||
lodash._cacheindexof@*:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
|
||||
integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
|
||||
|
||||
lodash._createcache@*:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
|
||||
integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
|
||||
dependencies:
|
||||
lodash._getnative "^3.0.0"
|
||||
|
||||
lodash._createset@~4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
|
||||
integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
|
||||
|
||||
lodash._getnative@*, lodash._getnative@^3.0.0:
|
||||
version "3.9.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
|
||||
integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
|
||||
|
||||
lodash._root@~3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
|
||||
|
@ -4861,6 +4883,11 @@ lodash.pick@^4.4.0:
|
|||
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
|
||||
integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
|
||||
|
||||
lodash.restparam@*:
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
|
||||
integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
|
||||
|
||||
lodash.union@~4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
|
||||
|
@ -5102,11 +5129,16 @@ micromatch@^4.0.2, micromatch@^4.0.4:
|
|||
braces "^3.0.1"
|
||||
picomatch "^2.2.3"
|
||||
|
||||
mime-db@1.51.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.6.0:
|
||||
mime-db@1.51.0:
|
||||
version "1.51.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
|
||||
integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
|
||||
|
||||
"mime-db@>= 1.43.0 < 2", mime-db@^1.6.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
|
||||
version "2.1.34"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
|
||||
|
@ -5281,9 +5313,9 @@ mute-stream@~0.0.4:
|
|||
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
|
||||
|
||||
nanoid@^3.2.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.0.tgz#5906f776fd886c66c24f3653e0c46fcb1d4ad6b0"
|
||||
integrity sha512-JzxqqT5u/x+/KOFSd7JP15DOo9nOoHpx6DYatqIHUW2+flybkm+mdcraotSQR5WcnZr+qhGVh8Ted0KdfSMxlg==
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
|
||||
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
|
@ -5356,7 +5388,7 @@ node-gyp@^4.0.0:
|
|||
tar "^4.4.8"
|
||||
which "1"
|
||||
|
||||
node-releases@^2.0.1:
|
||||
node-releases@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
|
||||
integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
|
||||
|
@ -6308,10 +6340,10 @@ qrcode-terminal@^0.12.0:
|
|||
resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819"
|
||||
integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==
|
||||
|
||||
qs@6.9.6:
|
||||
version "6.9.6"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
|
||||
integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
|
||||
qs@6.9.7:
|
||||
version "6.9.7"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
|
||||
integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
|
||||
|
||||
qs@~6.5.2:
|
||||
version "6.5.3"
|
||||
|
@ -6350,12 +6382,12 @@ range-parser@^1.2.1, range-parser@~1.2.1:
|
|||
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
raw-body@2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32"
|
||||
integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==
|
||||
raw-body@2.4.3:
|
||||
version "2.4.3"
|
||||
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
|
||||
integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
|
||||
dependencies:
|
||||
bytes "3.1.1"
|
||||
bytes "3.1.2"
|
||||
http-errors "1.8.1"
|
||||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
@ -6466,7 +6498,7 @@ readable-stream@~1.1.10:
|
|||
isarray "0.0.1"
|
||||
string_decoder "~0.10.x"
|
||||
|
||||
readdir-scoped-modules@^1.0.0:
|
||||
readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
|
||||
integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
|
||||
|
@ -6769,9 +6801,9 @@ sass-loader@^12.3.0:
|
|||
neo-async "^2.6.2"
|
||||
|
||||
sass@^1.47.0:
|
||||
version "1.49.7"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49"
|
||||
integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ==
|
||||
version "1.49.9"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9"
|
||||
integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==
|
||||
dependencies:
|
||||
chokidar ">=3.0.0 <4.0.0"
|
||||
immutable "^4.0.0"
|
||||
|
@ -7473,10 +7505,11 @@ terser-webpack-plugin@^5.1.3:
|
|||
terser "^5.7.2"
|
||||
|
||||
terser@^5.10.0, terser@^5.7.2:
|
||||
version "5.10.0"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc"
|
||||
integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==
|
||||
version "5.11.0"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f"
|
||||
integrity sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==
|
||||
dependencies:
|
||||
acorn "^8.5.0"
|
||||
commander "^2.20.0"
|
||||
source-map "~0.7.2"
|
||||
source-map-support "~0.5.20"
|
||||
|
|
Loading…
Reference in a new issue