diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3b157a8bda..a366193c02 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -3,5 +3,5 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "file",
- "cSpell.words": ["blocksuite", "livedemo", "pnpm", "testid"]
+ "cSpell.words": ["blocksuite", "datacenter", "livedemo", "pnpm", "testid"]
}
diff --git a/package.json b/package.json
index 4dfae84b48..1abcf66a9b 100644
--- a/package.json
+++ b/package.json
@@ -7,12 +7,12 @@
"scripts": {
"dev": "pnpm --filter=!@affine/app build && pnpm --filter @affine/app dev",
"dev:ac": "pnpm --filter=!@affine/app build && pnpm --filter @affine/app dev:ac",
- "build": " pnpm --filter=!@affine/app build && pnpm --filter!=@affine/data-services -r build",
+ "build": " pnpm --filter=!@affine/app build && pnpm --filter!=@affine/datacenter -r build",
"export": "pnpm --filter @affine/app export",
"start": "pnpm --filter @affine/app start",
"lint": "pnpm --filter @affine/app lint",
"test": "playwright test",
- "test:dc": "pnpm --filter @affine/data-services test",
+ "test:dc": "pnpm --filter @affine/datacenter test",
"test:e2e:codegen": "npx playwright codegen http://localhost:8080",
"test:unit": "jest",
"postinstall": "husky install",
diff --git a/packages/app/next.config.js b/packages/app/next.config.js
index 31828afee2..20f12e5770 100644
--- a/packages/app/next.config.js
+++ b/packages/app/next.config.js
@@ -19,6 +19,7 @@ const nextConfig = {
EDITOR_VERSION: dependencies['@blocksuite/editor'],
},
webpack: config => {
+ config.experiments = { ...config.experiments, topLevelAwait: true };
config.resolve.alias['yjs'] = require.resolve('yjs');
config.module.rules.push({
test: /\.md$/i,
diff --git a/packages/app/package.json b/packages/app/package.json
index dc313f8f01..00b96a7fd1 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -10,11 +10,11 @@
"lint": "next lint"
},
"dependencies": {
- "@affine/data-services": "workspace:*",
- "@blocksuite/blocks": "0.3.0-20221230100352-5dfe65e",
- "@blocksuite/editor": "0.3.0-20221230100352-5dfe65e",
+ "@affine/datacenter": "workspace:*",
+ "@blocksuite/blocks": "0.3.1",
+ "@blocksuite/editor": "0.3.1",
"@blocksuite/icons": "^2.0.2",
- "@blocksuite/store": "0.3.0-20221230100352-5dfe65e",
+ "@blocksuite/store": "0.3.1",
"@emotion/css": "^11.10.0",
"@emotion/react": "^11.10.4",
"@emotion/server": "^11.10.0",
diff --git a/packages/app/public/.gitignore b/packages/app/public/.gitignore
new file mode 100644
index 0000000000..69a24fb744
--- /dev/null
+++ b/packages/app/public/.gitignore
@@ -0,0 +1,2 @@
+*.js
+*.map
\ No newline at end of file
diff --git a/packages/app/src/components/header/header-right-items/editor-option-menu.tsx b/packages/app/src/components/header/header-right-items/editor-option-menu.tsx
index 24a07245ee..ea71aef757 100644
--- a/packages/app/src/components/header/header-right-items/editor-option-menu.tsx
+++ b/packages/app/src/components/header/header-right-items/editor-option-menu.tsx
@@ -87,7 +87,7 @@ const PopoverContent = () => {
confirmType: 'danger',
}).then(confirm => {
confirm && toggleDeletePage(id);
- toast('Moved to Trash');
+ confirm && toast('Moved to Trash');
});
}}
icon={}
diff --git a/packages/app/src/components/invite-members/index.tsx b/packages/app/src/components/invite-members/index.tsx
index 1cf5951237..f06674cb6b 100644
--- a/packages/app/src/components/invite-members/index.tsx
+++ b/packages/app/src/components/invite-members/index.tsx
@@ -4,7 +4,7 @@ import { Modal, ModalWrapper, ModalCloseButton } from '@/ui/modal';
import { Button } from '@/ui/button';
import Input from '@/ui/input';
import { useState } from 'react';
-import { inviteMember, getUserByEmail } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { Avatar } from '@mui/material';
interface LoginModalProps {
open: boolean;
@@ -60,15 +60,19 @@ export const InviteMembers = ({
setShowTip(false);
debounce(
() => {
- getUserByEmail({
- email: value,
- workspace_id: workspaceId,
- }).then(data => {
- if (data?.name) {
- setUserData(data);
- setShowTip(false);
- }
- });
+ getDataCenter()
+ .then(dc =>
+ dc.apis.getUserByEmail({
+ email: value,
+ workspace_id: workspaceId,
+ })
+ )
+ .then(data => {
+ if (data?.name) {
+ setUserData(data);
+ setShowTip(false);
+ }
+ });
},
300,
true
@@ -130,7 +134,8 @@ export const InviteMembers = ({
shape="circle"
type="primary"
onClick={() => {
- inviteMember({ id: workspaceId, email: email })
+ getDataCenter()
+ .then(dc => dc.apis.inviteMember({ id: workspaceId, email }))
.then(() => {
onClose();
onInviteSuccess && onInviteSuccess();
diff --git a/packages/app/src/components/login-modal/LoginOptionButton.tsx b/packages/app/src/components/login-modal/LoginOptionButton.tsx
index 298fbd86ba..e04d8fecc7 100644
--- a/packages/app/src/components/login-modal/LoginOptionButton.tsx
+++ b/packages/app/src/components/login-modal/LoginOptionButton.tsx
@@ -1,4 +1,4 @@
-import { signInWithGoogle } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { styled } from '@/styles';
import { Button } from '@/ui/button';
import { useModal } from '@/providers/global-modal-provider';
@@ -9,7 +9,8 @@ export const GoogleLoginButton = () => {
return (
{
- signInWithGoogle()
+ getDataCenter()
+ .then(dc => dc.apis.signInWithGoogle?.())
.then(() => {
triggerLoginModal();
})
diff --git a/packages/app/src/components/workspace-setting/general/delete/delete.tsx b/packages/app/src/components/workspace-setting/general/delete/delete.tsx
index 2d0663d734..7fd14ef818 100644
--- a/packages/app/src/components/workspace-setting/general/delete/delete.tsx
+++ b/packages/app/src/components/workspace-setting/general/delete/delete.tsx
@@ -11,7 +11,7 @@ import {
import { useState } from 'react';
import { ModalCloseButton } from '@/ui/modal';
import { Button } from '@/ui/button';
-import { deleteWorkspace } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider';
@@ -39,7 +39,8 @@ export const WorkspaceDelete = ({
};
const handleDelete = async () => {
- await deleteWorkspace({ id: workspaceId });
+ const dc = await getDataCenter();
+ await dc.apis.deleteWorkspace({ id: workspaceId });
router.push(`/workspace/${nextWorkSpaceId}`);
refreshWorkspacesMeta();
onClose();
diff --git a/packages/app/src/components/workspace-setting/general/general.tsx b/packages/app/src/components/workspace-setting/general/general.tsx
index 74f355fd12..cef2daccb7 100644
--- a/packages/app/src/components/workspace-setting/general/general.tsx
+++ b/packages/app/src/components/workspace-setting/general/general.tsx
@@ -9,7 +9,7 @@ import { StyledSettingH2 } from '../style';
import { useState } from 'react';
import { Button } from '@/ui/button';
import Input from '@/ui/input';
-import { uploadBlob, Workspace, WorkspaceType } from '@affine/data-services';
+import { getDataCenter, Workspace, WorkspaceType } from '@affine/datacenter';
import { useAppState } from '@/providers/app-state-provider';
import { WorkspaceDetails } from '@/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent';
import { WorkspaceDelete } from './delete';
@@ -74,9 +74,11 @@ export const GeneralPage = ({
const fileChange = async (file: File) => {
setUploading(true);
const blob = new Blob([file], { type: file.type });
- const blobId = await uploadBlob({ blob }).finally(() => {
- setUploading(false);
- });
+ const blobId = await getDataCenter()
+ .then(dc => dc.apis.uploadBlob({ blob }))
+ .finally(() => {
+ setUploading(false);
+ });
if (blobId) {
currentWorkspace?.meta.setAvatar(blobId);
workspaces[workspace.id]?.meta.setAvatar(blobId);
diff --git a/packages/app/src/components/workspace-setting/general/leave/leave.tsx b/packages/app/src/components/workspace-setting/general/leave/leave.tsx
index 41fae82d07..3c2cf8ce22 100644
--- a/packages/app/src/components/workspace-setting/general/leave/leave.tsx
+++ b/packages/app/src/components/workspace-setting/general/leave/leave.tsx
@@ -7,7 +7,7 @@ import {
} from './style';
import { ModalCloseButton } from '@/ui/modal';
import { Button } from '@/ui/button';
-import { leaveWorkspace } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider';
@@ -28,7 +28,8 @@ export const WorkspaceLeave = ({
const router = useRouter();
const { refreshWorkspacesMeta } = useAppState();
const handleLeave = async () => {
- await leaveWorkspace({ id: workspaceId });
+ const dc = await getDataCenter();
+ await dc.apis.leaveWorkspace({ id: workspaceId });
router.push(`/workspace/${nextWorkSpaceId}`);
refreshWorkspacesMeta();
onClose();
diff --git a/packages/app/src/components/workspace-setting/workspace-setting.tsx b/packages/app/src/components/workspace-setting/workspace-setting.tsx
index ee67205ed9..c1b07e2441 100644
--- a/packages/app/src/components/workspace-setting/workspace-setting.tsx
+++ b/packages/app/src/components/workspace-setting/workspace-setting.tsx
@@ -36,13 +36,7 @@ import { useCallback, useEffect, useState } from 'react';
import { Button, IconButton } from '@/ui/button';
import Input from '@/ui/input';
import { InviteMembers } from '../invite-members/index';
-import {
- getWorkspaceMembers,
- Workspace,
- Member,
- removeMember,
- updateWorkspace,
-} from '@affine/data-services';
+import { Workspace, Member, getDataCenter } from '@affine/datacenter';
import { Avatar } from '@mui/material';
import { Menu, MenuItem } from '@/ui/menu';
import { toast } from '@/ui/toast';
@@ -169,9 +163,12 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
const [isInviteModalShow, setIsInviteModalShow] = useState(false);
const [members, setMembers] = useState([]);
const refreshMembers = useCallback(() => {
- getWorkspaceMembers({
- id: workspace.id,
- })
+ getDataCenter()
+ .then(dc =>
+ dc.apis.getWorkspaceMembers({
+ id: workspace.id,
+ })
+ )
.then(data => {
setMembers(data);
})
@@ -236,13 +233,17 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
// confirmText: 'Delete',
// confirmType: 'danger',
// }).then(confirm => {
- removeMember({
- permissionId: member.id,
- }).then(() => {
- // console.log('data: ', data);
- toast('Moved to Trash');
- refreshMembers();
- });
+ getDataCenter()
+ .then(dc =>
+ dc.apis.removeMember({
+ permissionId: member.id,
+ })
+ )
+ .then(() => {
+ // console.log('data: ', data);
+ toast('Moved to Trash');
+ refreshMembers();
+ });
// });
}}
icon={}
@@ -297,13 +298,17 @@ const PublishPage = ({ workspace }: { workspace: Workspace }) => {
workspace.public
);
const togglePublic = (flag: boolean) => {
- updateWorkspace({
- id: workspace.id,
- public: flag,
- }).then(data => {
- setPublicStatus(data?.public);
- toast('Updated Public Status Success');
- });
+ getDataCenter()
+ .then(dc =>
+ dc.apis.updateWorkspace({
+ id: workspace.id,
+ public: flag,
+ })
+ )
+ .then(data => {
+ setPublicStatus(data?.public);
+ toast('Updated Public Status Success');
+ });
};
const copyUrl = () => {
navigator.clipboard.writeText(shareUrl);
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent.tsx
index 161f6dc19b..8e101307bb 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent.tsx
@@ -12,7 +12,7 @@ import {
} from './WorkspaceItem';
import { WorkspaceSetting } from '@/components/workspace-setting';
import { useCallback, useEffect, useState } from 'react';
-import { getWorkspaceDetail, WorkspaceType } from '@affine/data-services';
+import { getDataCenter, WorkspaceType } from '@affine/datacenter';
import { useModal } from '@/providers/global-modal-provider';
export type WorkspaceDetails = Record<
@@ -54,7 +54,8 @@ export const SelectorPopperContent = ({
if (type === WorkspaceType.Private) {
return { id, member_count: 1, owner: user };
} else {
- const data = await getWorkspaceDetail({ id });
+ const dc = await getDataCenter();
+ const data = await dc.apis.getWorkspaceDetail({ id });
return { id, ...data } || { id, member_count: 0, owner: user };
}
}
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
index d2cf9f58ef..b07fdeecac 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
@@ -1,4 +1,4 @@
-import { createWorkspace, uploadBlob } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import Modal from '@/ui/modal';
import Input from '@/ui/input';
import {
@@ -52,7 +52,9 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => {
ctx.fillText(workspaceName[0], 50, 50);
canvas.toBlob(blob => {
if (blob) {
- const blobId = uploadBlob({ blob });
+ const blobId = getDataCenter().then(dc =>
+ dc.apis.uploadBlob({ blob })
+ );
resolve(blobId);
} else {
reject();
@@ -69,7 +71,10 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => {
setCreating(false);
});
if (blobId) {
- createWorkspace({ name: workspaceName, avatar: blobId })
+ getDataCenter()
+ .then(dc =>
+ dc.apis.createWorkspace({ name: workspaceName, avatar: blobId })
+ )
.then(async data => {
await refreshWorkspacesMeta();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/WorkspaceItem/WorkspaceItem.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/WorkspaceItem/WorkspaceItem.tsx
index 12f0ba59ca..31c2a22250 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/WorkspaceItem/WorkspaceItem.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/WorkspaceItem/WorkspaceItem.tsx
@@ -7,7 +7,7 @@ import {
} from '../styles';
import { FooterSetting } from './FooterSetting';
import { FooterUsers } from './FooterUsers';
-import { WorkspaceType } from '@affine/data-services';
+import { WorkspaceType } from '@affine/datacenter';
import { useAppState } from '@/providers/app-state-provider';
interface WorkspaceItemProps {
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx
index 0e574cebbd..4e0299888f 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx
@@ -3,7 +3,7 @@ import { Avatar, WorkspaceName, SelectorWrapper } from './styles';
import { SelectorPopperContent } from './SelectorPopperContent';
import { useState } from 'react';
import { useAppState } from '@/providers/app-state-provider';
-import { WorkspaceType } from '@affine/data-services';
+import { WorkspaceType } from '@affine/datacenter';
import { AffineIcon } from '../icons/icons';
export const WorkspaceSelector = () => {
diff --git a/packages/app/src/components/workspace-slider-bar/icons/icons.tsx b/packages/app/src/components/workspace-slider-bar/icons/icons.tsx
index 2fee60b0f5..a4dd37aedd 100644
--- a/packages/app/src/components/workspace-slider-bar/icons/icons.tsx
+++ b/packages/app/src/components/workspace-slider-bar/icons/icons.tsx
@@ -17,8 +17,8 @@ export const AffineIcon = () => {
fill="#FFF"
/>
diff --git a/packages/app/src/components/workspace-slider-bar/index.tsx b/packages/app/src/components/workspace-slider-bar/index.tsx
index b2f2ef9bdd..559e0b983a 100644
--- a/packages/app/src/components/workspace-slider-bar/index.tsx
+++ b/packages/app/src/components/workspace-slider-bar/index.tsx
@@ -6,7 +6,6 @@ import {
StyledListItem,
StyledListItemForWorkspace,
StyledNewPageButton,
- StyledQuickSearch,
StyledSliderBar,
StyledSliderBarWrapper,
StyledSubListItem,
@@ -32,11 +31,7 @@ import { IconButton } from '@/ui/button';
import useLocalStorage from '@/hooks/use-local-storage';
import usePageMetaList from '@/hooks/use-page-meta-list';
import { usePageHelper } from '@/hooks/use-page-helper';
-import { getUaHelper } from '@/utils';
-const isMac = () => {
- return getUaHelper().isMacOs;
-};
const FavoriteList = ({ showList }: { showList: boolean }) => {
const { openPage } = usePageHelper();
const pageList = usePageMetaList();
@@ -117,7 +112,7 @@ export const WorkSpaceSliderBar = () => {
- {
@@ -126,8 +121,7 @@ export const WorkSpaceSliderBar = () => {
>
Quick search
- {isMac() ? '⌘ + K' : 'Ctrl + K'}
-
+
All pages
diff --git a/packages/app/src/components/workspace-slider-bar/style.ts b/packages/app/src/components/workspace-slider-bar/style.ts
index 3ee270f3d4..f29de60a1e 100644
--- a/packages/app/src/components/workspace-slider-bar/style.ts
+++ b/packages/app/src/components/workspace-slider-bar/style.ts
@@ -21,6 +21,7 @@ export const StyledSliderBarWrapper = styled.div(() => {
height: '100%',
overflowX: 'hidden',
overflowY: 'auto',
+ position: 'relative',
};
});
@@ -141,34 +142,3 @@ export const StyledSubListItem = styled.button<{
},
};
});
-
-export const StyledQuickSearch = styled.div(({ theme }) => {
- return {
- width: '296px',
- height: '32px',
- marginTop: '12px',
- fontSize: theme.font.sm,
- backgroundColor: theme.colors.hoverBackground,
- color: theme.colors.popoverColor,
- paddingLeft: '12px',
- borderRadius: '5px',
- ...displayFlex('flex-start', 'center'),
- '>svg': {
- fontSize: '20px',
- marginRight: '12px',
- },
- '>span': {
- fontSize: theme.font.xs,
- margin: 'auto',
- marginRight: '12px',
- color: theme.colors.hoverBackground,
- transition: 'all .15s',
- },
- ':hover': {
- color: theme.colors.popoverColor,
- '>span': {
- color: theme.colors.popoverColor,
- },
- },
- };
-});
diff --git a/packages/app/src/hooks/use-ensure-workspace.ts b/packages/app/src/hooks/use-ensure-workspace.ts
index 848c1cc428..a340b78a48 100644
--- a/packages/app/src/hooks/use-ensure-workspace.ts
+++ b/packages/app/src/hooks/use-ensure-workspace.ts
@@ -30,18 +30,18 @@ export const useEnsureWorkspace = () => {
return;
}
// If user is not login and input a custom workspaceId, jump to 404 page
- if (
- !user &&
- router.query.workspaceId &&
- router.query.workspaceId !== defaultOutLineWorkspaceId
- ) {
- router.push('/404');
- return;
- }
+ // if (
+ // !user &&
+ // router.query.workspaceId &&
+ // router.query.workspaceId !== defaultOutLineWorkspaceId
+ // ) {
+ // router.push('/404');
+ // return;
+ // }
const workspaceId = user
- ? (router.query.workspaceId as string) || workspacesMeta?.[0]?.id
- : defaultOutLineWorkspaceId;
+ ? (router.query.workspaceId as string) || workspacesMeta[0]?.id
+ : (router.query.workspaceId as string) || defaultOutLineWorkspaceId;
loadWorkspace(workspaceId).finally(() => {
setWorkspaceLoaded(true);
diff --git a/packages/app/src/pages/invite/[invite_code].tsx b/packages/app/src/pages/invite/[invite_code].tsx
index b0f8fece67..c6ef0b6b4e 100644
--- a/packages/app/src/pages/invite/[invite_code].tsx
+++ b/packages/app/src/pages/invite/[invite_code].tsx
@@ -1,7 +1,7 @@
import { styled } from '@/styles';
import { Empty } from '@/ui/empty';
import { Avatar } from '@mui/material';
-import { acceptInviting } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
@@ -24,7 +24,12 @@ export default function DevPage() {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [inviteData, setInviteData] = useState(null);
useEffect(() => {
- acceptInviting({ invitingCode: router.query.invite_code as string })
+ getDataCenter()
+ .then(dc =>
+ dc.apis.acceptInviting({
+ invitingCode: router.query.invite_code as string,
+ })
+ )
.then(data => {
setSuccessInvited(true);
setInviteData(data);
diff --git a/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx b/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
index 726a23b677..971e950f8b 100644
--- a/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
+++ b/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
@@ -68,6 +68,7 @@ const Page: NextPageWithLayout = () => {
}
}
+ document.title = currentPage?.meta.title || 'Untitled';
return ret;
}, [currentWorkspace, currentPage, createEditor, setEditor]);
diff --git a/packages/app/src/providers/app-state-provider/context.ts b/packages/app/src/providers/app-state-provider/context.ts
index 5dda7ddbd6..ee6b41d05a 100644
--- a/packages/app/src/providers/app-state-provider/context.ts
+++ b/packages/app/src/providers/app-state-provider/context.ts
@@ -1,6 +1,5 @@
import { createContext, MutableRefObject, useContext } from 'react';
-import type { Workspace } from '@affine/data-services';
-import { AccessTokenMessage } from '@affine/data-services';
+import type { AccessTokenMessage, Workspace } from '@affine/datacenter';
import type {
Page as StorePage,
Workspace as StoreWorkspace,
@@ -8,7 +7,6 @@ import type {
import type { EditorContainer } from '@blocksuite/editor';
export type LoadWorkspaceHandler = (
workspaceId: string,
- websocket?: boolean,
user?: AccessTokenMessage | null
) => Promise | null;
export type CreateEditorHandler = (page: StorePage) => EditorContainer | null;
diff --git a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
index d30e0e02a1..3a8fb7671c 100644
--- a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
+++ b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
@@ -1,13 +1,9 @@
import { useEffect } from 'react';
import type { Page } from '@blocksuite/store';
-import {
- IndexedDBDocProvider,
- Workspace as StoreWorkspace,
-} from '@blocksuite/store';
import '@blocksuite/blocks';
import { EditorContainer } from '@blocksuite/editor';
-import { BlockSchema } from '@blocksuite/blocks/models';
import type { LoadWorkspaceHandler, CreateEditorHandler } from './context';
+import { getDataCenter } from '@affine/datacenter';
interface Props {
setLoadWorkspaceHandler: (handler: LoadWorkspaceHandler) => void;
@@ -19,66 +15,14 @@ const DynamicBlocksuite = ({
setCreateEditorHandler,
}: Props) => {
useEffect(() => {
- const openWorkspace: LoadWorkspaceHandler = (
- workspaceId: string,
- websocket = false,
- user
- ) =>
- // eslint-disable-next-line no-async-promise-executor
- new Promise(async resolve => {
- const workspace = new StoreWorkspace({
- room: workspaceId,
- providers: [IndexedDBDocProvider],
- }).register(BlockSchema);
- console.log('websocket', websocket);
- console.log('user', user);
-
- // if (websocket && token.refresh) {
- // // FIXME: if add websocket provider, the first page will be blank
- // const ws = new WebsocketProvider(
- // `ws${window.location.protocol === 'https:' ? 's' : ''}://${
- // window.location.host
- // }/api/sync/`,
- // workspaceId,
- // workspace.doc,
- // {
- // params: {
- // token: token.refresh,
- // },
- // awareness: workspace.meta.awareness.awareness,
- // }
- // );
- //
- // ws.shouldConnect = false;
- //
- // // FIXME: there needs some method to destroy websocket.
- // // Or we need a manager to manage websocket.
- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // // @ts-expect-error
- // workspace.__ws__ = ws;
- // }
-
- const indexDBProvider = workspace.providers.find(
- p => p instanceof IndexedDBDocProvider
- );
- // if (user) {
- // const updates = await downloadWorkspace({ workspaceId });
- // updates &&
- // StoreWorkspace.Y.applyUpdate(
- // workspace.doc,
- // new Uint8Array(updates)
- // );
- // // if after update, the space:meta is empty, then we need to get map with doc
- // workspace.doc.getMap('space:meta');
- // }
- if (indexDBProvider) {
- (indexDBProvider as IndexedDBDocProvider).whenSynced.then(() => {
- resolve(workspace);
- });
- } else {
- resolve(workspace);
- }
- });
+ const openWorkspace: LoadWorkspaceHandler = async (workspaceId: string) => {
+ if (workspaceId) {
+ const dc = await getDataCenter();
+ return dc.load(workspaceId, { providerId: 'affine' });
+ } else {
+ return null;
+ }
+ };
setLoadWorkspaceHandler(openWorkspace);
}, [setLoadWorkspaceHandler]);
diff --git a/packages/app/src/providers/app-state-provider/hooks/use-sync-data.ts b/packages/app/src/providers/app-state-provider/hooks/use-sync-data.ts
deleted file mode 100644
index ae1d37fe7e..0000000000
--- a/packages/app/src/providers/app-state-provider/hooks/use-sync-data.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { useEffect } from 'react';
-import {
- AccessTokenMessage,
- getWorkspaces,
- token,
-} from '@affine/data-services';
-import { LoadWorkspaceHandler } from '../context';
-
-export const useSyncData = ({
- loadWorkspaceHandler,
-}: {
- loadWorkspaceHandler: LoadWorkspaceHandler;
-}) => {
- useEffect(() => {
- if (!loadWorkspaceHandler) {
- return;
- }
- const start = async () => {
- const isLogin = await token.refreshToken().catch(() => false);
- return isLogin;
- };
- start();
-
- const callback = async (user: AccessTokenMessage | null) => {
- const workspacesMeta = user
- ? await getWorkspaces().catch(() => {
- return [];
- })
- : [];
- // setState(state => ({
- // ...state,
- // user: user,
- // workspacesMeta,
- // synced: true,
- // }));
- return workspacesMeta;
- };
-
- token.onChange(callback);
- token.refreshToken().catch(err => {
- // FIXME: should resolve invalid refresh token
- console.log(err);
- });
- return () => {
- token.offChange(callback);
- };
- }, [loadWorkspaceHandler]);
-};
diff --git a/packages/app/src/providers/app-state-provider/provider.tsx b/packages/app/src/providers/app-state-provider/provider.tsx
index 44971a002a..daa60ff85e 100644
--- a/packages/app/src/providers/app-state-provider/provider.tsx
+++ b/packages/app/src/providers/app-state-provider/provider.tsx
@@ -1,7 +1,7 @@
import { useMemo, useState, useEffect, useCallback, useRef } from 'react';
import type { ReactNode } from 'react';
import dynamic from 'next/dynamic';
-import { getWorkspaces } from '@affine/data-services';
+import { getDataCenter } from '@affine/datacenter';
import { AppState, AppStateContext } from './context';
import type {
AppStateValue,
@@ -16,7 +16,8 @@ const DynamicBlocksuite = dynamic(() => import('./dynamic-blocksuite'), {
export const AppStateProvider = ({ children }: { children?: ReactNode }) => {
const refreshWorkspacesMeta = async () => {
- const workspacesMeta = await getWorkspaces().catch(() => {
+ const dc = await getDataCenter();
+ const workspacesMeta = await dc.apis.getWorkspaces().catch(() => {
return [];
});
setState(state => ({ ...state, workspacesMeta }));
@@ -41,7 +42,7 @@ export const AppStateProvider = ({ children }: { children?: ReactNode }) => {
const workspacesList = await Promise.all(
state.workspacesMeta.map(async ({ id }) => {
const workspace =
- (await loadWorkspaceHandler?.(id, false, state.user)) || null;
+ (await loadWorkspaceHandler?.(id, state.user)) || null;
return { id, workspace };
})
);
@@ -84,7 +85,7 @@ export const AppStateProvider = ({ children }: { children?: ReactNode }) => {
return state.currentWorkspace;
}
const workspace =
- (await loadWorkspaceHandler?.(workspaceId, true, state.user)) || null;
+ (await loadWorkspaceHandler?.(workspaceId, state.user)) || null;
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
diff --git a/packages/data-services/.gitignore b/packages/data-center/.gitignore
similarity index 100%
rename from packages/data-services/.gitignore
rename to packages/data-center/.gitignore
diff --git a/packages/data-services/package.json b/packages/data-center/package.json
similarity index 69%
rename from packages/data-services/package.json
rename to packages/data-center/package.json
index 65bdc17129..5d0ebc843f 100644
--- a/packages/data-services/package.json
+++ b/packages/data-center/package.json
@@ -1,5 +1,5 @@
{
- "name": "@affine/data-services",
+ "name": "@affine/datacenter",
"version": "0.3.0",
"description": "",
"type": "module",
@@ -21,14 +21,22 @@
},
"devDependencies": {
"@playwright/test": "^1.29.1",
+ "@types/debug": "^4.1.7",
+ "fake-indexeddb": "4.0.1",
"typescript": "^4.8.4"
},
"dependencies": {
+ "@blocksuite/blocks": "^0.3.1",
+ "@blocksuite/store": "^0.3.1",
+ "debug": "^4.3.4",
"encoding": "^0.1.13",
- "firebase": "^9.13.0",
+ "firebase": "^9.15.0",
+ "idb-keyval": "^6.2.0",
"ky": "^0.33.0",
+ "ky-universal": "^0.11.0",
"lib0": "^0.2.58",
"swr": "^2.0.0",
+ "yjs": "^13.5.44",
"y-protocols": "^1.0.5"
}
}
diff --git a/packages/data-services/playwright.config.ts b/packages/data-center/playwright.config.ts
similarity index 100%
rename from packages/data-services/playwright.config.ts
rename to packages/data-center/playwright.config.ts
diff --git a/packages/data-center/src/apis/index.ts b/packages/data-center/src/apis/index.ts
new file mode 100644
index 0000000000..de62a9fcb1
--- /dev/null
+++ b/packages/data-center/src/apis/index.ts
@@ -0,0 +1,21 @@
+export { token } from './token.js';
+export type { Callback } from './token.js';
+
+import { getAuthorizer } from './token.js';
+import * as user from './user.js';
+import * as workspace from './workspace.js';
+
+export type Apis = typeof user &
+ typeof workspace & {
+ signInWithGoogle: ReturnType[0];
+ onAuthStateChanged: ReturnType[1];
+ };
+
+export const getApis = (): Apis => {
+ const [signInWithGoogle, onAuthStateChanged] = getAuthorizer();
+ return { ...user, ...workspace, signInWithGoogle, onAuthStateChanged };
+};
+
+export type { AccessTokenMessage } from './token';
+export type { Member, Workspace } from './workspace';
+export { WorkspaceType } from './workspace.js';
diff --git a/packages/data-services/src/request/index.ts b/packages/data-center/src/apis/request.ts
similarity index 88%
rename from packages/data-services/src/request/index.ts
rename to packages/data-center/src/apis/request.ts
index 8d0da14311..ce5b64eebe 100644
--- a/packages/data-services/src/request/index.ts
+++ b/packages/data-center/src/apis/request.ts
@@ -1,7 +1,9 @@
-import ky from 'ky';
-import { token } from './token';
+import kyOrigin from 'ky';
+import ky from 'ky-universal';
+import { token } from './token.js';
export const bareClient = ky.extend({
+ prefixUrl: 'http://localhost:8080',
retry: 1,
hooks: {
// afterResponse: [
@@ -19,6 +21,7 @@ export const bareClient = ky.extend({
// ],
},
});
+
export const client = bareClient.extend({
hooks: {
beforeRequest: [
@@ -40,6 +43,3 @@ export const client = bareClient.extend({
],
},
});
-
-export type { AccessTokenMessage } from './token';
-export { token };
diff --git a/packages/data-center/src/apis/token.ts b/packages/data-center/src/apis/token.ts
new file mode 100644
index 0000000000..b0acf68ee3
--- /dev/null
+++ b/packages/data-center/src/apis/token.ts
@@ -0,0 +1,170 @@
+import { initializeApp } from 'firebase/app';
+import { getAuth, GoogleAuthProvider, signInWithPopup } from 'firebase/auth';
+import type { User } from 'firebase/auth';
+
+import { getLogger } from '../index.js';
+import { bareClient } from './request.js';
+
+export interface AccessTokenMessage {
+ create_at: number;
+ exp: number;
+ email: string;
+ id: string;
+ name: string;
+ avatar_url: string;
+}
+
+export type Callback = (user: AccessTokenMessage | null) => void;
+
+type LoginParams = {
+ type: 'Google' | 'Refresh';
+ token: string;
+};
+
+type LoginResponse = {
+ // access token, expires in a very short time
+ token: string;
+ // Refresh token
+ refresh: string;
+};
+
+const login = (params: LoginParams): Promise =>
+ bareClient.post('api/user/token', { json: params }).json();
+
+class Token {
+ private readonly _logger;
+ private _accessToken!: string;
+ private _refreshToken!: string;
+
+ private _user!: AccessTokenMessage | null;
+ private _padding?: Promise;
+
+ constructor() {
+ this._logger = getLogger('token');
+ this._logger.enabled = true;
+
+ this._setToken(); // fill with default value
+ }
+
+ private _setToken(login?: LoginResponse) {
+ this._accessToken = login?.token || '';
+ this._refreshToken = login?.refresh || '';
+
+ this._user = Token.parse(this._accessToken);
+ if (login) {
+ this._logger('set login', login);
+ this.triggerChange(this._user);
+ } else {
+ this._logger('empty login');
+ }
+ }
+
+ async initToken(token: string) {
+ this._setToken(await login({ token, type: 'Google' }));
+ }
+
+ async refreshToken(token?: string) {
+ if (!this._refreshToken && !token) {
+ throw new Error('No authorization token.');
+ }
+ if (!this._padding) {
+ this._padding = login({
+ type: 'Refresh',
+ token: this._refreshToken || token!,
+ });
+ }
+ this._setToken(await this._padding);
+ this._padding = undefined;
+ }
+
+ get token() {
+ return this._accessToken;
+ }
+
+ get refresh() {
+ return this._refreshToken;
+ }
+
+ get isLogin() {
+ return !!this._refreshToken;
+ }
+
+ get isExpired() {
+ if (!this._user) return true;
+ return Date.now() - this._user.create_at > this._user.exp;
+ }
+
+ static parse(token: string): AccessTokenMessage | null {
+ try {
+ return JSON.parse(
+ String.fromCharCode.apply(
+ null,
+ Array.from(
+ Uint8Array.from(
+ window.atob(
+ // split jwt
+ token.split('.')[1]
+ ),
+ c => c.charCodeAt(0)
+ )
+ )
+ )
+ );
+ } catch (error) {
+ return null;
+ }
+ }
+
+ private callbacks: Callback[] = [];
+ private lastState: AccessTokenMessage | null = null;
+
+ triggerChange(user: AccessTokenMessage | null) {
+ this.lastState = user;
+ this.callbacks.forEach(callback => callback(user));
+ }
+
+ onChange(callback: Callback) {
+ this.callbacks.push(callback);
+ callback(this.lastState);
+ }
+
+ offChange(callback: Callback) {
+ const index = this.callbacks.indexOf(callback);
+ if (index > -1) {
+ this.callbacks.splice(index, 1);
+ }
+ }
+}
+
+export const token = new Token();
+
+export const getAuthorizer = () => {
+ const app = initializeApp({
+ apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
+ authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
+ projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
+ storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
+ messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
+ appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
+ measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
+ });
+ try {
+ const firebaseAuth = getAuth(app);
+
+ const googleAuthProvider = new GoogleAuthProvider();
+
+ const signInWithGoogle = async () => {
+ const user = await signInWithPopup(firebaseAuth, googleAuthProvider);
+ const idToken = await user.user.getIdToken();
+ await token.initToken(idToken);
+ };
+
+ const onAuthStateChanged = (callback: (user: User | null) => void) => {
+ firebaseAuth.onAuthStateChanged(callback);
+ };
+
+ return [signInWithGoogle, onAuthStateChanged] as const;
+ } catch (e) {
+ return [] as const;
+ }
+};
diff --git a/packages/data-services/src/sdks/user.ts b/packages/data-center/src/apis/user.ts
similarity index 76%
rename from packages/data-services/src/sdks/user.ts
rename to packages/data-center/src/apis/user.ts
index 46ba1bc8a1..2848a9b673 100644
--- a/packages/data-services/src/sdks/user.ts
+++ b/packages/data-center/src/apis/user.ts
@@ -1,4 +1,4 @@
-import { client } from '../request';
+import { client } from './request.js';
export interface GetUserByEmailParams {
email: string;
@@ -17,5 +17,5 @@ export async function getUserByEmail(
params: GetUserByEmailParams
): Promise {
const searchParams = new URLSearchParams({ ...params });
- return client.get('/api/user', { searchParams }).json();
+ return client.get('api/user', { searchParams }).json();
}
diff --git a/packages/data-services/src/sdks/workspace.ts b/packages/data-center/src/apis/workspace.ts
similarity index 74%
rename from packages/data-services/src/sdks/workspace.ts
rename to packages/data-center/src/apis/workspace.ts
index 722e72410c..396aa46f8e 100644
--- a/packages/data-services/src/sdks/workspace.ts
+++ b/packages/data-center/src/apis/workspace.ts
@@ -1,5 +1,5 @@
-import { client, bareClient } from '../request';
-import { User } from './user';
+import { bareClient, client } from './request.js';
+import type { User } from './user';
export interface GetWorkspaceDetailParams {
id: string;
@@ -27,7 +27,7 @@ export interface Workspace {
export async function getWorkspaces(): Promise {
return client
- .get('/api/workspace', {
+ .get('api/workspace', {
headers: {
'Cache-Control': 'no-cache',
},
@@ -43,7 +43,7 @@ export interface WorkspaceDetail extends Workspace {
export async function getWorkspaceDetail(
params: GetWorkspaceDetailParams
): Promise {
- return client.get(`/api/workspace/${params.id}`).json();
+ return client.get(`api/workspace/${params.id}`).json();
}
export interface Permission {
@@ -74,7 +74,7 @@ export interface GetWorkspaceMembersParams {
export async function getWorkspaceMembers(
params: GetWorkspaceDetailParams
): Promise {
- return client.get(`/api/workspace/${params.id}/permission`).json();
+ return client.get(`api/workspace/${params.id}/permission`).json();
}
export interface CreateWorkspaceParams {
@@ -85,7 +85,7 @@ export interface CreateWorkspaceParams {
export async function createWorkspace(
params: CreateWorkspaceParams
): Promise {
- return client.post('/api/workspace', { json: params }).json();
+ return client.post('api/workspace', { json: params }).json();
}
export interface UpdateWorkspaceParams {
@@ -97,7 +97,7 @@ export async function updateWorkspace(
params: UpdateWorkspaceParams
): Promise<{ public: boolean | null }> {
return client
- .post(`/api/workspace/${params.id}`, {
+ .post(`api/workspace/${params.id}`, {
json: {
public: params.public,
},
@@ -112,7 +112,7 @@ export interface DeleteWorkspaceParams {
export async function deleteWorkspace(
params: DeleteWorkspaceParams
): Promise {
- await client.delete(`/api/workspace/${params.id}`);
+ await client.delete(`api/workspace/${params.id}`);
}
export interface InviteMemberParams {
@@ -125,7 +125,7 @@ export interface InviteMemberParams {
*/
export async function inviteMember(params: InviteMemberParams): Promise {
return client
- .post(`/api/workspace/${params.id}/permission`, {
+ .post(`api/workspace/${params.id}/permission`, {
json: {
email: params.email,
},
@@ -138,7 +138,7 @@ export interface RemoveMemberParams {
}
export async function removeMember(params: RemoveMemberParams): Promise {
- await client.delete(`/api/permission/${params.permissionId}`);
+ await client.delete(`api/permission/${params.permissionId}`);
}
export interface AcceptInvitingParams {
@@ -148,31 +148,29 @@ export interface AcceptInvitingParams {
export async function acceptInviting(
params: AcceptInvitingParams
): Promise {
- await bareClient.post(`/api/invitation/${params.invitingCode}`);
-}
-
-export interface DownloadWOrkspaceParams {
- workspaceId: string;
-}
-export async function downloadWorkspace(
- params: DownloadWOrkspaceParams
-): Promise {
- return client.get(`/api/workspace/${params.workspaceId}/doc`).arrayBuffer();
+ await bareClient.post(`api/invitation/${params.invitingCode}`);
}
export async function uploadBlob(params: { blob: Blob }): Promise {
- return client.put('/api/blob', { body: params.blob }).text();
+ return client.put('api/blob', { body: params.blob }).text();
}
export async function getBlob(params: {
blobId: string;
}): Promise {
- return client.get(`/api/blob/${params.blobId}`).arrayBuffer();
+ return client.get(`api/blob/${params.blobId}`).arrayBuffer();
}
export interface LeaveWorkspaceParams {
id: number | string;
}
+
export async function leaveWorkspace({ id }: LeaveWorkspaceParams) {
- await client.delete(`/api/workspace/${id}/permission`).json();
+ await client.delete(`api/workspace/${id}/permission`).json();
+}
+
+export async function downloadWorkspace(
+ workspaceId: string
+): Promise {
+ return client.get(`api/workspace/${workspaceId}/doc`).arrayBuffer();
}
diff --git a/packages/data-center/src/datacenter.ts b/packages/data-center/src/datacenter.ts
new file mode 100644
index 0000000000..b43a7c7b61
--- /dev/null
+++ b/packages/data-center/src/datacenter.ts
@@ -0,0 +1,156 @@
+import assert from 'assert';
+import { BlockSchema } from '@blocksuite/blocks/models';
+import { Workspace } from '@blocksuite/store';
+
+import { getLogger } from './index.js';
+import { getApis, Apis } from './apis/index.js';
+import { AffineProvider, BaseProvider } from './provider/index.js';
+import { LocalProvider } from './provider/index.js';
+import { getKVConfigure } from './store.js';
+
+// load workspace's config
+type LoadConfig = {
+ // use witch provider load data
+ providerId?: string;
+ // provider config
+ config?: Record;
+};
+
+export class DataCenter {
+ private readonly _apis: Apis;
+ private readonly _providers = new Map();
+ private readonly _workspaces = new Map>();
+ private readonly _config;
+ private readonly _logger;
+
+ static async init(debug: boolean): Promise {
+ const dc = new DataCenter(debug);
+ dc.addProvider(AffineProvider);
+ dc.addProvider(LocalProvider);
+
+ return dc;
+ }
+
+ private constructor(debug: boolean) {
+ this._apis = getApis();
+ this._config = getKVConfigure('sys');
+ this._logger = getLogger('dc');
+ this._logger.enabled = debug;
+ }
+
+ get apis(): Readonly {
+ return this._apis;
+ }
+
+ private addProvider(provider: typeof BaseProvider) {
+ this._providers.set(provider.id, provider);
+ }
+
+ private async _getProvider(id: string, providerId: string): Promise {
+ const providerKey = `workspace:${id}:provider`;
+ if (this._providers.has(providerId)) {
+ await this._config.set(providerKey, providerId);
+ return providerId;
+ } else {
+ const providerValue = await this._config.get(providerKey);
+ if (providerValue) return providerValue;
+ }
+ throw Error(`Provider ${providerId} not found`);
+ }
+
+ private async _getWorkspace(id: string, pid: string): Promise {
+ this._logger(`Init workspace ${id} with ${pid}`);
+
+ const providerId = await this._getProvider(id, pid);
+
+ // init workspace & register block schema
+ const workspace = new Workspace({ room: id }).register(BlockSchema);
+
+ const Provider = this._providers.get(providerId);
+ assert(Provider);
+ const provider = new Provider();
+
+ await provider.init({
+ apis: this._apis,
+ config: getKVConfigure(id),
+ debug: this._logger.enabled,
+ logger: this._logger.extend(`${Provider.id}:${id}`),
+ workspace,
+ });
+ await provider.initData();
+ this._logger(`Workspace ${id} loaded`);
+
+ return provider;
+ }
+
+ async setConfig(workspace: string, config: Record) {
+ const values = Object.entries(config);
+ if (values.length) {
+ const configure = getKVConfigure(workspace);
+ await configure.setMany(values);
+ }
+ }
+
+ // load workspace data to memory
+ async load(
+ workspaceId: string,
+ params: LoadConfig = {}
+ ): Promise {
+ const { providerId = 'local', config = {} } = params;
+ if (workspaceId) {
+ if (!this._workspaces.has(workspaceId)) {
+ this._workspaces.set(
+ workspaceId,
+ this.setConfig(workspaceId, config).then(() =>
+ this._getWorkspace(workspaceId, providerId)
+ )
+ );
+ }
+ const workspace = this._workspaces.get(workspaceId);
+ assert(workspace);
+ return workspace.then(w => w.workspace);
+ }
+ return null;
+ }
+
+ // destroy workspace's instance in memory
+ async destroy(workspaceId: string) {
+ const provider = await this._workspaces.get(workspaceId);
+ if (provider) {
+ this._workspaces.delete(workspaceId);
+ await provider.destroy();
+ }
+ }
+
+ async reload(
+ workspaceId: string,
+ config: LoadConfig = {}
+ ): Promise {
+ await this.destroy(workspaceId);
+ return this.load(workspaceId, config);
+ }
+
+ async list() {
+ const keys = await this._config.keys();
+ return keys
+ .filter(k => k.startsWith('workspace:'))
+ .map(k => k.split(':')[1]);
+ }
+
+ // delete local workspace's data
+ async delete(workspaceId: string) {
+ await this._config.delete(`workspace:${workspaceId}:provider`);
+ const provider = await this._workspaces.get(workspaceId);
+ if (provider) {
+ this._workspaces.delete(workspaceId);
+ // clear workspace data implement by provider
+ await provider.clear();
+ }
+ }
+
+ // clear all local workspace's data
+ async clear() {
+ const workspaces = await this.list();
+ await Promise.all(workspaces.map(id => this.delete(id)));
+ }
+}
diff --git a/packages/data-center/src/index.ts b/packages/data-center/src/index.ts
new file mode 100644
index 0000000000..68aa74b916
--- /dev/null
+++ b/packages/data-center/src/index.ts
@@ -0,0 +1,25 @@
+import debug from 'debug';
+import { DataCenter } from './datacenter.js';
+
+const _initializeDataCenter = () => {
+ let _dataCenterInstance: Promise;
+
+ return (debug = true) => {
+ if (!_dataCenterInstance) {
+ _dataCenterInstance = DataCenter.init(debug);
+ }
+
+ return _dataCenterInstance;
+ };
+};
+
+export const getDataCenter = _initializeDataCenter();
+
+export function getLogger(namespace: string) {
+ const logger = debug(namespace);
+ logger.log = console.log.bind(console);
+ return logger;
+}
+
+export type { AccessTokenMessage, Member, Workspace } from './apis';
+export { WorkspaceType } from './apis/index.js';
diff --git a/packages/data-center/src/provider/affine/index.ts b/packages/data-center/src/provider/affine/index.ts
new file mode 100644
index 0000000000..e203606d2b
--- /dev/null
+++ b/packages/data-center/src/provider/affine/index.ts
@@ -0,0 +1,97 @@
+import assert from 'assert';
+import { applyUpdate } from 'yjs';
+
+import type { InitialParams } from '../index.js';
+import { token, Callback } from '../../apis/index.js';
+import { LocalProvider } from '../local/index.js';
+
+import { WebsocketProvider } from './sync.js';
+
+export class AffineProvider extends LocalProvider {
+ static id = 'affine';
+ private _onTokenRefresh?: Callback = undefined;
+ private _ws?: WebsocketProvider;
+
+ constructor() {
+ super();
+ }
+
+ async init(params: InitialParams) {
+ super.init(params);
+
+ this._onTokenRefresh = () => {
+ if (token.refresh) {
+ this._config.set('token', token.refresh);
+ }
+ };
+ assert(this._onTokenRefresh);
+
+ token.onChange(this._onTokenRefresh);
+
+ // initial login token
+ if (token.isExpired) {
+ try {
+ const refreshToken = await this._config.get('token');
+ await token.refreshToken(refreshToken);
+
+ if (token.refresh) {
+ this._config.set('token', token.refresh);
+ }
+
+ assert(token.isLogin);
+ } catch (_) {
+ this._logger('Authorization failed, fallback to local mode');
+ }
+ } else {
+ this._config.set('token', token.refresh);
+ }
+ }
+
+ async destroy() {
+ if (this._onTokenRefresh) {
+ token.offChange(this._onTokenRefresh);
+ }
+ if (this._ws) {
+ this._ws.disconnect();
+ }
+ }
+
+ async initData() {
+ await super.initData();
+
+ const workspace = this._workspace;
+ const doc = workspace.doc;
+
+ this._logger(`Login: ${token.isLogin}`);
+
+ if (workspace.room && token.isLogin) {
+ try {
+ const updates = await this._apis.downloadWorkspace(workspace.room);
+ if (updates) {
+ await new Promise(resolve => {
+ doc.once('update', resolve);
+ applyUpdate(doc, new Uint8Array(updates));
+ });
+ // TODO: wait util data loaded
+ this._ws = new WebsocketProvider('/', workspace.room, doc);
+ // Wait for ws synchronization to complete, otherwise the data will be modified in reverse, which can be optimized later
+ await new Promise((resolve, reject) => {
+ // TODO: synced will also be triggered on reconnection after losing sync
+ // There needs to be an event mechanism to emit the synchronization state to the upper layer
+ assert(this._ws);
+ this._ws.once('synced', () => resolve());
+ this._ws.once('lost-connection', () => resolve());
+ this._ws.once('connection-error', () => reject());
+ });
+ }
+ } catch (e) {
+ this._logger('Failed to init cloud workspace', e);
+ }
+ }
+
+ // if after update, the space:meta is empty
+ // then we need to get map with doc
+ // just a workaround for yjs
+ doc.getMap('space:meta');
+ }
+}
diff --git a/packages/data-services/src/websocket/y-websocket.js b/packages/data-center/src/provider/affine/sync.js
similarity index 100%
rename from packages/data-services/src/websocket/y-websocket.js
rename to packages/data-center/src/provider/affine/sync.js
diff --git a/packages/data-center/src/provider/base.ts b/packages/data-center/src/provider/base.ts
new file mode 100644
index 0000000000..ccd67bb2ad
--- /dev/null
+++ b/packages/data-center/src/provider/base.ts
@@ -0,0 +1,51 @@
+/* eslint-disable @typescript-eslint/no-unused-vars */
+import type { Workspace } from '@blocksuite/store';
+
+import type { Apis, Logger, InitialParams, ConfigStore } from './index';
+
+export class BaseProvider {
+ static id = 'base';
+ protected _apis!: Readonly;
+ protected _config!: Readonly;
+ protected _logger!: Logger;
+ protected _workspace!: Workspace;
+
+ constructor() {
+ // Nothing to do here
+ }
+
+ async init(params: InitialParams) {
+ this._apis = params.apis;
+ this._config = params.config;
+ this._logger = params.logger;
+ this._workspace = params.workspace;
+ this._logger.enabled = params.debug;
+ }
+
+ async clear() {
+ await this.destroy();
+ await this._config.clear();
+ }
+
+ async destroy() {
+ // Nothing to do here
+ }
+
+ async initData() {
+ throw Error('Not implemented: initData');
+ }
+
+ // should return a blob url
+ async getBlob(_id: string): Promise {
+ throw Error('Not implemented: getBlob');
+ }
+
+ // should return a blob unique id
+ async setBlob(_blob: Blob): Promise {
+ throw Error('Not implemented: setBlob');
+ }
+
+ get workspace() {
+ return this._workspace;
+ }
+}
diff --git a/packages/data-center/src/provider/index.ts b/packages/data-center/src/provider/index.ts
new file mode 100644
index 0000000000..06b69263de
--- /dev/null
+++ b/packages/data-center/src/provider/index.ts
@@ -0,0 +1,20 @@
+import type { Workspace } from '@blocksuite/store';
+
+import type { Apis } from '../apis';
+import type { getLogger } from '../index';
+import type { ConfigStore } from '../store';
+
+export type Logger = ReturnType;
+
+export type InitialParams = {
+ apis: Apis;
+ config: ConfigStore;
+ debug: boolean;
+ logger: Logger;
+ workspace: Workspace;
+};
+
+export type { Apis, ConfigStore, Workspace };
+export type { BaseProvider } from './base.js';
+export { AffineProvider } from './affine/index.js';
+export { LocalProvider } from './local/index.js';
diff --git a/packages/data-center/src/provider/local/index.ts b/packages/data-center/src/provider/local/index.ts
new file mode 100644
index 0000000000..5c3a89f23a
--- /dev/null
+++ b/packages/data-center/src/provider/local/index.ts
@@ -0,0 +1,56 @@
+import type { BlobStorage } from '@blocksuite/store';
+import assert from 'assert';
+
+import type { InitialParams } from '../index.js';
+import { BaseProvider } from '../base.js';
+import { IndexedDBProvider } from './indexeddb.js';
+
+export class LocalProvider extends BaseProvider {
+ static id = 'local';
+ private _blobs!: BlobStorage;
+ private _idb?: IndexedDBProvider = undefined;
+
+ constructor() {
+ super();
+ }
+ async init(params: InitialParams) {
+ super.init(params);
+
+ const blobs = await this._workspace.blobs;
+ assert(blobs);
+ this._blobs = blobs;
+ }
+
+ async initData() {
+ assert(this._workspace.room);
+ this._logger('Loading local data');
+ this._idb = new IndexedDBProvider(
+ this._workspace.room,
+ this._workspace.doc
+ );
+
+ await this._idb.whenSynced;
+ this._logger('Local data loaded');
+ }
+
+ async clear() {
+ await super.clear();
+ await this._blobs.clear();
+ this._idb?.clearData();
+ }
+
+ async destroy(): Promise {
+ super.destroy();
+ if (this._idb) {
+ await this._idb.destroy();
+ }
+ }
+
+ async getBlob(id: string): Promise {
+ return this._blobs.get(id);
+ }
+
+ async setBlob(blob: Blob): Promise {
+ return this._blobs.set(blob);
+ }
+}
diff --git a/packages/data-center/src/provider/local/indexeddb.ts b/packages/data-center/src/provider/local/indexeddb.ts
new file mode 100644
index 0000000000..db7fab29d7
--- /dev/null
+++ b/packages/data-center/src/provider/local/indexeddb.ts
@@ -0,0 +1,199 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import * as idb from 'lib0/indexeddb.js';
+import { Observable } from 'lib0/observable.js';
+import type { Doc } from 'yjs';
+import { applyUpdate, encodeStateAsUpdate, transact } from 'yjs';
+
+const customStoreName = 'custom';
+const updatesStoreName = 'updates';
+
+const PREFERRED_TRIM_SIZE = 500;
+
+const fetchUpdates = async (provider: IndexedDBProvider) => {
+ const [updatesStore] = idb.transact(provider.db as IDBDatabase, [
+ updatesStoreName,
+ ]); // , 'readonly')
+ if (updatesStore) {
+ const updates = await idb.getAll(
+ updatesStore,
+ idb.createIDBKeyRangeLowerBound(provider._dbref, false)
+ );
+ transact(
+ provider.doc,
+ () => {
+ updates.forEach(val => applyUpdate(provider.doc, val));
+ },
+ provider,
+ false
+ );
+ const lastKey = await idb.getLastKey(updatesStore);
+ provider._dbref = lastKey + 1;
+ const cnt = await idb.count(updatesStore);
+ provider._dbsize = cnt;
+ }
+ return updatesStore;
+};
+
+const storeState = (provider: IndexedDBProvider, forceStore = true) =>
+ fetchUpdates(provider).then(updatesStore => {
+ if (
+ updatesStore &&
+ (forceStore || provider._dbsize >= PREFERRED_TRIM_SIZE)
+ ) {
+ idb
+ .addAutoKey(updatesStore, encodeStateAsUpdate(provider.doc))
+ .then(() =>
+ idb.del(
+ updatesStore,
+ idb.createIDBKeyRangeUpperBound(provider._dbref, true)
+ )
+ )
+ .then(() =>
+ idb.count(updatesStore).then(cnt => {
+ provider._dbsize = cnt;
+ })
+ );
+ }
+ });
+
+export class IndexedDBProvider extends Observable {
+ doc: Doc;
+ name: string;
+ _dbref: number;
+ _dbsize: number;
+ private _destroyed: boolean;
+ whenSynced: Promise;
+ db: IDBDatabase | null;
+ private _db: Promise;
+ private _storeTimeout: number;
+ private _storeTimeoutId: NodeJS.Timeout | null;
+ private _storeUpdate: (update: Uint8Array, origin: any) => void;
+
+ constructor(name: string, doc: Doc) {
+ super();
+ this.doc = doc;
+ this.name = name;
+ this._dbref = 0;
+ this._dbsize = 0;
+ this._destroyed = false;
+ this.db = null;
+ this._db = idb.openDB(name, db =>
+ idb.createStores(db, [['updates', { autoIncrement: true }], ['custom']])
+ );
+
+ this.whenSynced = this._db.then(async db => {
+ this.db = db;
+ const currState = encodeStateAsUpdate(doc);
+ const updatesStore = await fetchUpdates(this);
+ if (updatesStore) {
+ await idb.addAutoKey(updatesStore, currState);
+ }
+ if (this._destroyed) {
+ return this;
+ }
+ this.emit('synced', [this]);
+ return this;
+ });
+
+ // Timeout in ms untill data is merged and persisted in idb.
+ this._storeTimeout = 1000;
+
+ this._storeTimeoutId = null;
+
+ this._storeUpdate = (update: Uint8Array, origin: any) => {
+ if (this.db && origin !== this) {
+ const [updatesStore] = idb.transact(
+ /** @type {IDBDatabase} */ this.db,
+ [updatesStoreName]
+ );
+ if (updatesStore) {
+ idb.addAutoKey(updatesStore, update);
+ }
+ if (++this._dbsize >= PREFERRED_TRIM_SIZE) {
+ // debounce store call
+ if (this._storeTimeoutId !== null) {
+ clearTimeout(this._storeTimeoutId);
+ }
+ this._storeTimeoutId = setTimeout(() => {
+ storeState(this, false);
+ this._storeTimeoutId = null;
+ }, this._storeTimeout);
+ }
+ }
+ };
+ doc.on('update', this._storeUpdate);
+ this.destroy = this.destroy.bind(this);
+ doc.on('destroy', this.destroy);
+ }
+
+ override destroy() {
+ if (this._storeTimeoutId) {
+ clearTimeout(this._storeTimeoutId);
+ }
+ this.doc.off('update', this._storeUpdate);
+ this.doc.off('destroy', this.destroy);
+ this._destroyed = true;
+ return this._db.then(db => {
+ db.close();
+ });
+ }
+
+ /**
+ * Destroys this instance and removes all data from indexeddb.
+ *
+ * @return {Promise}
+ */
+ async clearData(): Promise {
+ return this.destroy().then(() => {
+ idb.deleteDB(this.name);
+ });
+ }
+
+ /**
+ * @param {String | number | ArrayBuffer | Date} key
+ * @return {Promise}
+ */
+ async get(
+ key: string | number | ArrayBuffer | Date
+ ): Promise {
+ return this._db.then(db => {
+ const [custom] = idb.transact(db, [customStoreName], 'readonly');
+ if (custom) {
+ return idb.get(custom, key);
+ }
+ return undefined;
+ });
+ }
+
+ /**
+ * @param {String | number | ArrayBuffer | Date} key
+ * @param {String | number | ArrayBuffer | Date} value
+ * @return {Promise}
+ */
+ async set(
+ key: string | number | ArrayBuffer | Date,
+ value: string | number | ArrayBuffer | Date
+ ): Promise {
+ return this._db.then(db => {
+ const [custom] = idb.transact(db, [customStoreName]);
+ if (custom) {
+ return idb.put(custom, value, key);
+ }
+ return undefined;
+ });
+ }
+
+ /**
+ * @param {String | number | ArrayBuffer | Date} key
+ * @return {Promise}
+ */
+ async del(key: string | number | ArrayBuffer | Date): Promise {
+ return this._db.then(db => {
+ const [custom] = idb.transact(db, [customStoreName]);
+ if (custom) {
+ return idb.del(custom, key);
+ }
+ return undefined;
+ });
+ }
+}
diff --git a/packages/data-center/src/store.ts b/packages/data-center/src/store.ts
new file mode 100644
index 0000000000..b8dd831f95
--- /dev/null
+++ b/packages/data-center/src/store.ts
@@ -0,0 +1,69 @@
+import { createStore, del, get, keys, set, setMany, clear } from 'idb-keyval';
+
+export type ConfigStore = {
+ get: (key: string) => Promise;
+ set: (key: string, value: T) => Promise;
+ setMany: (values: [string, T][]) => Promise;
+ keys: () => Promise;
+ delete: (key: string) => Promise;
+ clear: () => Promise;
+};
+
+const initialIndexedDB = (database: string): ConfigStore => {
+ const store = createStore(`affine:${database}`, 'database');
+ return {
+ get: (key: string) => get(key, store),
+ set: (key: string, value: T) => set(key, value, store),
+ setMany: (values: [string, T][]) => setMany(values, store),
+ keys: () => keys(store),
+ delete: (key: string) => del(key, store),
+ clear: () => clear(store),
+ };
+};
+
+const scopedIndexedDB = () => {
+ const idb = initialIndexedDB('global');
+ const storeCache = new Map>();
+
+ return (scope: string): Readonly> => {
+ if (!storeCache.has(scope)) {
+ const store = {
+ get: async (key: string) => idb.get(`${scope}:${key}`),
+ set: (key: string, value: T) => idb.set(`${scope}:${key}`, value),
+ setMany: (values: [string, T][]) =>
+ idb.setMany(values.map(([k, v]) => [`${scope}:${k}`, v])),
+ keys: () =>
+ idb
+ .keys()
+ .then(keys =>
+ keys
+ .filter(k => k.startsWith(`${scope}:`))
+ .map(k => k.replace(`${scope}:`, ''))
+ ),
+ delete: (key: string) => idb.delete(`${scope}:${key}`),
+ clear: async () => {
+ await idb
+ .keys()
+ .then(keys =>
+ Promise.all(
+ keys.filter(k => k.startsWith(`${scope}:`)).map(k => del(k))
+ )
+ );
+ },
+ };
+
+ storeCache.set(scope, store);
+ }
+
+ return storeCache.get(scope) as ConfigStore;
+ };
+};
+
+let lazyKVConfigure: ReturnType | undefined = undefined;
+
+export const getKVConfigure = (scope: string) => {
+ if (!lazyKVConfigure) {
+ lazyKVConfigure = scopedIndexedDB();
+ }
+ return lazyKVConfigure(scope);
+};
diff --git a/packages/data-center/tests/datacenter.spec.ts b/packages/data-center/tests/datacenter.spec.ts
new file mode 100644
index 0000000000..c924bfd2cb
--- /dev/null
+++ b/packages/data-center/tests/datacenter.spec.ts
@@ -0,0 +1,91 @@
+import { test, expect } from '@playwright/test';
+
+import { getDataCenter } from './utils.js';
+
+import 'fake-indexeddb/auto';
+
+test('init data center', async () => {
+ const dataCenter = await getDataCenter();
+ expect(dataCenter).toBeTruthy();
+ await dataCenter.clear();
+
+ const workspace = await dataCenter.load('test1');
+ expect(workspace).toBeTruthy();
+});
+
+test('init data center singleton', async () => {
+ // data center is singleton
+ const [dc1, dc2] = await Promise.all([getDataCenter(), getDataCenter()]);
+ expect(dc1).toEqual(dc2);
+
+ // load same workspace will get same instance
+ const [ws1, ws2] = await Promise.all([dc1.load('test1'), dc2.load('test1')]);
+ expect(ws1).toEqual(ws2);
+});
+
+test('should init error with unknown provider', async () => {
+ const dc = await getDataCenter();
+ await dc.clear();
+
+ // load workspace with unknown provider will throw error
+ test.fail();
+ await dc.load('test2', { providerId: 'not exist provider' });
+});
+
+test.skip('init affine provider', async () => {
+ const dataCenter = await getDataCenter();
+ await dataCenter.clear();
+
+ // load workspace with affine provider
+ // TODO: set constant token for testing
+ const workspace = await dataCenter.load('6', {
+ providerId: 'affine',
+ config: { token: 'YOUR_TOKEN' },
+ });
+ expect(workspace).toBeTruthy();
+});
+
+test('list workspaces', async () => {
+ const dataCenter = await getDataCenter();
+ await dataCenter.clear();
+
+ await Promise.all([
+ dataCenter.load('test3'),
+ dataCenter.load('test4'),
+ dataCenter.load('test5'),
+ dataCenter.load('test6'),
+ ]);
+
+ expect(await dataCenter.list()).toStrictEqual([
+ 'test3',
+ 'test4',
+ 'test5',
+ 'test6',
+ ]);
+});
+
+test('destroy workspaces', async () => {
+ const dataCenter = await getDataCenter();
+ await dataCenter.clear();
+
+ // return new workspace if origin workspace is destroyed
+ const ws1 = await dataCenter.load('test7');
+ await dataCenter.destroy('test7');
+ const ws2 = await dataCenter.load('test7');
+ expect(ws1 !== ws2).toBeTruthy();
+
+ // return new workspace if workspace is reload
+ const ws3 = await dataCenter.load('test8');
+ const ws4 = await dataCenter.reload('test8', { providerId: 'affine' });
+ expect(ws3 !== ws4).toBeTruthy();
+});
+
+test('remove workspaces', async () => {
+ const dataCenter = await getDataCenter();
+ await dataCenter.clear();
+
+ // remove workspace will remove workspace data
+ await Promise.all([dataCenter.load('test9'), dataCenter.load('test10')]);
+ await dataCenter.delete('test9');
+ expect(await dataCenter.list()).toStrictEqual(['test10']);
+});
diff --git a/packages/data-center/tests/utils.ts b/packages/data-center/tests/utils.ts
new file mode 100644
index 0000000000..878ccc57a8
--- /dev/null
+++ b/packages/data-center/tests/utils.ts
@@ -0,0 +1,5 @@
+export const getDataCenter = () => {
+ return import('../src/index.js').then(async dataCenter =>
+ dataCenter.getDataCenter(false)
+ );
+};
diff --git a/packages/data-services/tsconfig.json b/packages/data-center/tsconfig.json
similarity index 100%
rename from packages/data-services/tsconfig.json
rename to packages/data-center/tsconfig.json
diff --git a/packages/data-services/src/auth.ts b/packages/data-services/src/auth.ts
deleted file mode 100644
index 8fdd10be18..0000000000
--- a/packages/data-services/src/auth.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { initializeApp } from 'firebase/app';
-import {
- getAuth,
- createUserWithEmailAndPassword,
- signInWithEmailAndPassword,
- GoogleAuthProvider,
- signInWithPopup,
-} from 'firebase/auth';
-import type { User } from 'firebase/auth';
-import { token } from './request';
-
-/**
- * firebaseConfig reference: https://firebase.google.com/docs/web/setup#add_firebase_to_your_app
- */
-const app = initializeApp({
- apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
- authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
- projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
- storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
- messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
- appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
- measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
-});
-
-export const firebaseAuth = getAuth(app);
-
-const signUp = (email: string, password: string) => {
- return createUserWithEmailAndPassword(firebaseAuth, email, password);
-};
-
-const signIn = (email: string, password: string) => {
- return signInWithEmailAndPassword(firebaseAuth, email, password);
-};
-
-const googleAuthProvider = new GoogleAuthProvider();
-export const signInWithGoogle = async () => {
- const user = await signInWithPopup(firebaseAuth, googleAuthProvider);
- const idToken = await user.user.getIdToken();
- await token.initToken(idToken);
-};
-
-export const onAuthStateChanged = (callback: (user: User | null) => void) => {
- firebaseAuth.onAuthStateChanged(callback);
-};
diff --git a/packages/data-services/src/data-center.ts b/packages/data-services/src/data-center.ts
deleted file mode 100644
index 4c4f1e9916..0000000000
--- a/packages/data-services/src/data-center.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-class DataCenter {
- static async init() {
- return new DataCenter();
- }
-
- private constructor() {
- // TODO
- }
-}
-
-let _dataCenterInstance: Promise;
-
-export const getDataCenter = () => {
- if (!_dataCenterInstance) {
- _dataCenterInstance = DataCenter.init();
- }
-
- return _dataCenterInstance;
-};
diff --git a/packages/data-services/src/index.ts b/packages/data-services/src/index.ts
deleted file mode 100644
index 89de33b6b8..0000000000
--- a/packages/data-services/src/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export { signInWithGoogle, onAuthStateChanged } from './auth';
-export * from './request';
-export * from './sdks';
-export * from './websocket';
-
-export { getDataCenter } from './data-center';
diff --git a/packages/data-services/src/request/events.ts b/packages/data-services/src/request/events.ts
deleted file mode 100644
index ae90c6756d..0000000000
--- a/packages/data-services/src/request/events.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { AccessTokenMessage } from './token';
-
-export type Callback = (user: AccessTokenMessage | null) => void;
-
-export class AuthorizationEvent {
- private callbacks: Callback[] = [];
- private lastState: AccessTokenMessage | null = null;
-
- /**
- * Callback will execute when call this function.
- */
- onChange(callback: Callback) {
- this.callbacks.push(callback);
- callback(this.lastState);
- }
-
- triggerChange(user: AccessTokenMessage | null) {
- this.lastState = user;
- this.callbacks.forEach(callback => callback(user));
- }
-
- removeCallback(callback: Callback) {
- const index = this.callbacks.indexOf(callback);
- if (index > -1) {
- this.callbacks.splice(index, 1);
- }
- }
-}
diff --git a/packages/data-services/src/request/token.ts b/packages/data-services/src/request/token.ts
deleted file mode 100644
index 37f35c66f5..0000000000
--- a/packages/data-services/src/request/token.ts
+++ /dev/null
@@ -1,138 +0,0 @@
-import { bareClient } from '.';
-import { AuthorizationEvent, Callback } from './events';
-
-export interface AccessTokenMessage {
- create_at: number;
- exp: number;
- email: string;
- id: string;
- name: string;
- avatar_url: string;
-}
-
-const TOKEN_KEY = 'affine_token';
-
-type LoginParams = {
- type: 'Google' | 'Refresh';
- token: string;
-};
-
-type LoginResponse = {
- // JWT, expires in a very short time
- token: string;
- // Refresh token
- refresh: string;
-};
-
-const login = (params: LoginParams): Promise =>
- bareClient.post('/api/user/token', { json: params }).json();
-
-function b64DecodeUnicode(str: string) {
- // Going backwards: from byte stream, to percent-encoding, to original string.
- return decodeURIComponent(
- window
- .atob(str)
- .split('')
- .map(function (c) {
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
- })
- .join('')
- );
-}
-
-function getRefreshToken() {
- try {
- return localStorage.getItem(TOKEN_KEY) || '';
- } catch (_) {
- return '';
- }
-}
-function setRefreshToken(token: string) {
- try {
- localStorage.setItem(TOKEN_KEY, token);
- } catch (_) {}
-}
-
-class Token {
- private readonly _event: AuthorizationEvent;
- private _accessToken: string;
- private _refreshToken: string;
-
- private _user: AccessTokenMessage | null;
- private _padding?: Promise;
-
- constructor(refreshToken?: string) {
- this._accessToken = '';
- this._refreshToken = refreshToken || getRefreshToken();
- this._event = new AuthorizationEvent();
-
- this._user = Token.parse(this._accessToken);
- this._event.triggerChange(this._user);
- }
-
- private _setToken(login: LoginResponse) {
- this._accessToken = login.token;
- this._refreshToken = login.refresh;
- this._user = Token.parse(login.token);
-
- this._event.triggerChange(this._user);
-
- setRefreshToken(login.refresh);
- }
-
- async initToken(token: string) {
- this._setToken(await login({ token, type: 'Google' }));
- }
-
- async refreshToken() {
- if (!this._refreshToken) {
- throw new Error('No authorization token.');
- }
- if (!this._padding) {
- this._padding = login({
- type: 'Refresh',
- token: this._refreshToken,
- });
- }
- this._setToken(await this._padding);
- this._padding = undefined;
- }
-
- get token() {
- return this._accessToken;
- }
-
- get refresh() {
- return this._refreshToken;
- }
-
- get isLogin() {
- return !!this._refreshToken;
- }
-
- get isExpired() {
- if (!this._user) return true;
- return Date.now() - this._user.create_at > this._user.exp;
- }
-
- static parse(token: string): AccessTokenMessage | null {
- try {
- const message: AccessTokenMessage = JSON.parse(
- b64DecodeUnicode(token.split('.')[1])
- );
- return message;
- } catch (error) {
- return null;
- }
- }
-
- onChange(callback: Callback) {
- this._event.onChange(callback);
- }
-
- offChange(callback: Callback) {
- this._event.removeCallback(callback);
- }
-}
-
-export const token = new Token();
diff --git a/packages/data-services/src/sdks/index.ts b/packages/data-services/src/sdks/index.ts
deleted file mode 100644
index b55b3d62ac..0000000000
--- a/packages/data-services/src/sdks/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from './workspace';
-export * from './workspace.hook';
-export * from './user';
-export * from './user.hook';
diff --git a/packages/data-services/src/sdks/types/common.ts b/packages/data-services/src/sdks/types/common.ts
deleted file mode 100644
index 348bd13c91..0000000000
--- a/packages/data-services/src/sdks/types/common.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export type CommonError = { error: { code: string; message: string } };
-export type MayError = Partial;
diff --git a/packages/data-services/src/sdks/types/index.ts b/packages/data-services/src/sdks/types/index.ts
deleted file mode 100644
index d0b9323665..0000000000
--- a/packages/data-services/src/sdks/types/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './common';
diff --git a/packages/data-services/src/sdks/user.hook.ts b/packages/data-services/src/sdks/user.hook.ts
deleted file mode 100644
index 86792a4f79..0000000000
--- a/packages/data-services/src/sdks/user.hook.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import useSWR from 'swr';
-import type { SWRConfiguration } from 'swr';
-import { getUserByEmail } from './user';
-import type { GetUserByEmailParams, User } from './user';
-
-export const GET_USER_BY_EMAIL_SWR_TOKEN = 'user.getUserByEmail';
-export function useGetUserByEmail(
- params: GetUserByEmailParams,
- config?: SWRConfiguration
-) {
- const { data, error, isLoading, mutate } = useSWR(
- [GET_USER_BY_EMAIL_SWR_TOKEN, params],
- ([_, params]) => getUserByEmail(params),
- config
- );
-
- return {
- loading: isLoading,
- data,
- error,
- mutate,
- };
-}
diff --git a/packages/data-services/src/sdks/workspace.hook.ts b/packages/data-services/src/sdks/workspace.hook.ts
deleted file mode 100644
index 91fa3b9f3e..0000000000
--- a/packages/data-services/src/sdks/workspace.hook.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import useSWR from 'swr';
-import type { SWRConfiguration } from 'swr';
-import {
- getWorkspaceDetail,
- updateWorkspace,
- deleteWorkspace,
- inviteMember,
- Workspace,
-} from './workspace';
-import {
- GetWorkspaceDetailParams,
- WorkspaceDetail,
- UpdateWorkspaceParams,
- DeleteWorkspaceParams,
- InviteMemberParams,
- getWorkspaces,
-} from './workspace';
-
-export const GET_WORKSPACE_DETAIL_SWR_TOKEN = 'workspace.getWorkspaceDetail';
-export function useGetWorkspaceDetail(
- params: GetWorkspaceDetailParams,
- config?: SWRConfiguration
-) {
- const { data, error, isLoading, mutate } = useSWR(
- [GET_WORKSPACE_DETAIL_SWR_TOKEN, params],
- ([_, params]) => getWorkspaceDetail(params),
- config
- );
-
- return {
- data,
- error,
- loading: isLoading,
- mutate,
- };
-}
-
-export const GET_WORKSPACES_SWR_TOKEN = 'workspace.getWorkspaces';
-export function useGetWorkspaces(config?: SWRConfiguration) {
- const { data, error, isLoading } = useSWR(
- [GET_WORKSPACES_SWR_TOKEN],
- () => getWorkspaces(),
- config
- );
-
- return {
- data,
- error,
- loading: isLoading,
- };
-}
-
-export const UPDATE_WORKSPACE_SWR_TOKEN = 'workspace.updateWorkspace';
-/**
- * I don't think a hook needed for update workspace.
- * If you figure out the scene, please implement this function.
- */
-export function useUpdateWorkspace() {}
-
-export const DELETE_WORKSPACE_SWR_TOKEN = 'workspace.deleteWorkspace';
-/**
- * I don't think a hook needed for delete workspace.
- * If you figure out the scene, please implement this function.
- */
-export function useDeleteWorkspace() {}
-
-export const INVITE_MEMBER_SWR_TOKEN = 'workspace.inviteMember';
-/**
- * I don't think a hook needed for invite member.
- * If you figure out the scene, please implement this function.
- */
-export function useInviteMember() {}
diff --git a/packages/data-services/src/websocket/index.ts b/packages/data-services/src/websocket/index.ts
deleted file mode 100644
index d6651c22a2..0000000000
--- a/packages/data-services/src/websocket/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { WebsocketProvider } from './y-websocket';
diff --git a/packages/data-services/tests/datacenter.spec.ts b/packages/data-services/tests/datacenter.spec.ts
deleted file mode 100644
index d5a4a267ef..0000000000
--- a/packages/data-services/tests/datacenter.spec.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { test, expect } from '@playwright/test';
-import { getDataCenter } from './utils.js';
-
-test('can init data center', async () => {
- const dataCenter = await getDataCenter();
-
- expect(dataCenter).toBeTruthy();
-});
diff --git a/packages/data-services/tests/utils.ts b/packages/data-services/tests/utils.ts
deleted file mode 100644
index c06d906058..0000000000
--- a/packages/data-services/tests/utils.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export const getDataCenter = () =>
- import('../src/data-center.js').then(async dataCenter =>
- dataCenter.getDataCenter()
- );
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 14376a0d9c..3ab53d8446 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -28,27 +28,27 @@ importers:
'@playwright/test': 1.29.1
'@types/eslint': 8.4.10
'@types/node': 18.11.18
- '@typescript-eslint/eslint-plugin': 5.48.0_wxmz6cyorqfuzhhglktlvr5lve
- '@typescript-eslint/parser': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/eslint-plugin': 5.48.0_k73wpmdolxikpyqun3p36akaaq
+ '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
eslint: 8.31.0
- eslint-config-next: 12.3.1_p4cjf2r47dnfiqufepc5hp43sq
- eslint-config-prettier: 8.5.0_eslint@8.31.0
- eslint-plugin-prettier: 4.2.1_vkmhlldugy3fnk7p2bqhsfnaiq
+ eslint-config-next: 12.3.1_iukboom6ndih5an6iafl45j2fe
+ eslint-config-prettier: 8.6.0_eslint@8.31.0
+ eslint-plugin-prettier: 4.2.1_32m5uc2milwdw3tnkcq5del26y
got: 12.5.3
- husky: 8.0.2
+ husky: 8.0.3
jest: 29.3.1_@types+node@18.11.18
lint-staged: 13.1.0
- prettier: 2.7.1
- ts-jest: 29.0.3_4f6uxrzmuwipl5rr3bcogf6k74
- typescript: 4.9.3
+ prettier: 2.8.1
+ ts-jest: 29.0.3_p6ekqnroyms5nhqbfxosryz7rm
+ typescript: 4.9.4
packages/app:
specifiers:
- '@affine/data-services': workspace:*
- '@blocksuite/blocks': 0.3.0-20221230100352-5dfe65e
- '@blocksuite/editor': 0.3.0-20221230100352-5dfe65e
+ '@affine/datacenter': workspace:*
+ '@blocksuite/blocks': 0.3.1
+ '@blocksuite/editor': 0.3.1
'@blocksuite/icons': ^2.0.2
- '@blocksuite/store': 0.3.0-20221230100352-5dfe65e
+ '@blocksuite/store': 0.3.1
'@emotion/css': ^11.10.0
'@emotion/react': ^11.10.4
'@emotion/server': ^11.10.0
@@ -86,29 +86,29 @@ importers:
typescript: 4.8.3
yjs: ^13.5.44
dependencies:
- '@affine/data-services': link:../data-services
- '@blocksuite/blocks': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
- '@blocksuite/editor': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
+ '@affine/datacenter': link:../data-center
+ '@blocksuite/blocks': 0.3.1_yjs@13.5.44
+ '@blocksuite/editor': 0.3.1_yjs@13.5.44
'@blocksuite/icons': 2.0.4_w5j4k42lgipnm43s3brx6h3c34
- '@blocksuite/store': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
- '@emotion/css': 11.10.0
- '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34
- '@emotion/server': 11.10.0_@emotion+css@11.10.0
- '@emotion/styled': 11.10.4_yiaqs725o7pcd7rteavrnhgj4y
+ '@blocksuite/store': 0.3.1_yjs@13.5.44
+ '@emotion/css': 11.10.5
+ '@emotion/react': 11.10.5_w5j4k42lgipnm43s3brx6h3c34
+ '@emotion/server': 11.10.0_@emotion+css@11.10.5
+ '@emotion/styled': 11.10.5_s7uipz3r575xmfz2gje3lxfqua
'@fontsource/poppins': 4.5.10
'@fontsource/space-mono': 4.5.10
- '@mui/base': 5.0.0-alpha.101_7ey2zzynotv32rpkwno45fsx4e
- '@mui/icons-material': 5.10.9_5fncb4nagb4cvvcnwamw2rozfa
- '@mui/material': 5.10.9_af5ln35zuaotaffazii6n6bke4
+ '@mui/base': 5.0.0-alpha.112_7ey2zzynotv32rpkwno45fsx4e
+ '@mui/icons-material': 5.11.0_4r2n2chxjb272yibknfb4hapcq
+ '@mui/material': 5.11.3_pmppvr4gtvd6vpdr5yl42vjwtu
'@toeverything/pathfinder-logger': link:../logger
cmdk: 0.1.21_7ey2zzynotv32rpkwno45fsx4e
css-spring: 4.1.0
dayjs: 1.11.7
i18next: 21.10.0
- lit: 2.4.0
+ lit: 2.5.0
next: 13.1.0_biqbaboplfbrettd7655fr4n2y
next-debug-local: 0.1.5
- prettier: 2.7.1
+ prettier: 2.8.1
quill: 1.3.7
quill-cursors: 4.0.0
react: 18.2.0
@@ -123,32 +123,48 @@ importers:
chalk-next: 6.1.5
eslint: 8.22.0
eslint-config-next: 12.3.1_76twfck5d7crjqrmw4yltga7zm
- eslint-config-prettier: 8.5.0_eslint@8.22.0
- eslint-plugin-prettier: 4.2.1_i2cojdczqdiurzgttlwdgf764e
+ eslint-config-prettier: 8.6.0_eslint@8.22.0
+ eslint-plugin-prettier: 4.2.1_qcim4gnz2p2xihlufogjc5ujra
next-pwa: 5.6.0_next@13.1.0
raw-loader: 4.0.2
typescript: 4.8.3
- packages/data-services:
+ packages/data-center:
specifiers:
+ '@blocksuite/blocks': ^0.3.1
+ '@blocksuite/store': ^0.3.1
'@playwright/test': ^1.29.1
+ '@types/debug': ^4.1.7
+ debug: ^4.3.4
encoding: ^0.1.13
- firebase: ^9.13.0
+ fake-indexeddb: 4.0.1
+ firebase: ^9.15.0
+ idb-keyval: ^6.2.0
ky: ^0.33.0
+ ky-universal: ^0.11.0
lib0: ^0.2.58
swr: ^2.0.0
typescript: ^4.8.4
y-protocols: ^1.0.5
+ yjs: ^13.5.44
dependencies:
+ '@blocksuite/blocks': 0.3.1_yjs@13.5.44
+ '@blocksuite/store': 0.3.1_yjs@13.5.44
+ debug: 4.3.4
encoding: 0.1.13
firebase: 9.15.0_encoding@0.1.13
+ idb-keyval: 6.2.0
ky: 0.33.1
+ ky-universal: 0.11.0_ky@0.33.1
lib0: 0.2.58
swr: 2.0.0
y-protocols: 1.0.5
+ yjs: 13.5.44
devDependencies:
'@playwright/test': 1.29.1
- typescript: 4.9.3
+ '@types/debug': 4.1.7
+ fake-indexeddb: 4.0.1
+ typescript: 4.9.4
packages/logger:
specifiers:
@@ -158,12 +174,12 @@ importers:
react-dom: ^18.2.0
typescript: ^4.8.4
dependencies:
- next: 12.3.1_biqbaboplfbrettd7655fr4n2y
+ next: 12.3.4_biqbaboplfbrettd7655fr4n2y
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
devDependencies:
- '@types/react': 18.0.21
- typescript: 4.8.4
+ '@types/react': 18.0.26
+ typescript: 4.9.4
packages:
@@ -193,43 +209,34 @@ packages:
dependencies:
'@babel/highlight': 7.18.6
- /@babel/compat-data/7.20.5:
- resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==}
+ /@babel/compat-data/7.20.10:
+ resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/core/7.20.5:
- resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==}
+ /@babel/core/7.20.7:
+ resolution: {integrity: sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.5
- '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5
- '@babel/helper-module-transforms': 7.20.2
- '@babel/helpers': 7.20.6
- '@babel/parser': 7.20.5
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/generator': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helpers': 7.20.7
+ '@babel/parser': 7.20.7
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.10
+ '@babel/types': 7.20.7
convert-source-map: 1.9.0
debug: 4.3.4
gensync: 1.0.0-beta.2
- json5: 2.2.1
+ json5: 2.2.3
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/generator/7.20.5:
- resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.20.5
- '@jridgewell/gen-mapping': 0.3.2
- jsesc: 2.5.2
- dev: true
-
/@babel/generator/7.20.7:
resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==}
engines: {node: '>=6.9.0'}
@@ -243,7 +250,7 @@ packages:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-builder-binary-assignment-operator-visitor/7.18.9:
@@ -251,43 +258,30 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-explode-assignable-expression': 7.18.6
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
- /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.5:
- resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
- '@babel/helper-validator-option': 7.18.6
- browserslist: 4.21.4
- semver: 6.3.0
- dev: true
-
- /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.5:
+ /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.20.7
'@babel/helper-validator-option': 7.18.6
browserslist: 4.21.4
lru-cache: 5.1.1
semver: 6.3.0
dev: true
- /@babel/helper-create-class-features-plugin/7.20.7_@babel+core@7.20.5:
+ /@babel/helper-create-class-features-plugin/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0
@@ -299,24 +293,24 @@ packages:
- supports-color
dev: true
- /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.5:
+ /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.7:
resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-annotate-as-pure': 7.18.6
regexpu-core: 5.2.2
dev: true
- /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.5:
+ /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.7:
resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
peerDependencies:
'@babel/core': ^7.4.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
debug: 4.3.4
lodash.debounce: 4.0.8
@@ -342,15 +336,15 @@ packages:
resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.18.10
- '@babel/types': 7.20.5
+ '@babel/template': 7.20.7
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-hoist-variables/7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-member-expression-to-functions/7.20.7:
@@ -364,7 +358,7 @@ packages:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
/@babel/helper-module-transforms/7.20.11:
resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
@@ -382,22 +376,6 @@ packages:
- supports-color
dev: true
- /@babel/helper-module-transforms/7.20.2:
- resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.18.6
- '@babel/helper-simple-access': 7.20.2
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/helper-validator-identifier': 7.19.1
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@babel/helper-optimise-call-expression/7.18.6:
resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
engines: {node: '>=6.9.0'}
@@ -405,26 +383,21 @@ packages:
'@babel/types': 7.20.7
dev: true
- /@babel/helper-plugin-utils/7.19.0:
- resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==}
- engines: {node: '>=6.9.0'}
-
/@babel/helper-plugin-utils/7.20.2:
resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.5:
+ /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-annotate-as-pure': 7.18.6
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-wrap-function': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
transitivePeerDependencies:
- supports-color
dev: true
@@ -447,21 +420,21 @@ packages:
resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-skip-transparent-expression-wrappers/7.20.0:
resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-split-export-declaration/7.18.6:
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@babel/helper-string-parser/7.19.4:
@@ -489,13 +462,13 @@ packages:
- supports-color
dev: true
- /@babel/helpers/7.20.6:
- resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==}
+ /@babel/helpers/7.20.7:
+ resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.18.10
- '@babel/traverse': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.10
+ '@babel/types': 7.20.7
transitivePeerDependencies:
- supports-color
dev: true
@@ -508,14 +481,6 @@ packages:
chalk: 2.4.2
js-tokens: 4.0.0
- /@babel/parser/7.20.5:
- resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.20.5
- dev: true
-
/@babel/parser/7.20.7:
resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==}
engines: {node: '>=6.0.0'}
@@ -524,293 +489,293 @@ packages:
'@babel/types': 7.20.7
dev: true
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
- '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.5
+ '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.12.0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.5
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
- '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7
dev: true
- /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.5:
+ /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.7:
resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.5
+ '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==}
engines: {node: '>=4'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.5:
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.7:
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.5:
+ /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.7:
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.5:
+ /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.7:
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.5:
+ /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.7:
resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.5:
+ /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.7:
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
/@babel/plugin-syntax-jsx/7.18.6:
@@ -819,156 +784,156 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/helper-plugin-utils': 7.20.2
dev: false
- /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.5:
+ /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.7:
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.5:
+ /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.7:
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.5:
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.7:
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.5:
+ /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.7:
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.5:
+ /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.7:
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.5:
+ /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.7:
resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/core': 7.20.7
+ '@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-module-imports': 7.18.6
'@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.5
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.5:
+ /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.7:
resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.19.0
'@babel/helper-optimise-call-expression': 7.18.6
@@ -980,121 +945,121 @@ packages:
- supports-color
dev: true
- /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/template': 7.20.7
dev: true
- /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.5:
+ /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.7:
resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
'@babel/helper-function-name': 7.19.0
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.5:
+ /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.7:
resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-module-transforms': 7.20.11
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.5:
+ /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.7:
resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-module-transforms': 7.20.11
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-simple-access': 7.20.2
@@ -1102,13 +1067,13 @@ packages:
- supports-color
dev: true
- /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.5:
+ /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.7:
resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-module-transforms': 7.20.11
'@babel/helper-plugin-utils': 7.20.2
@@ -1117,294 +1082,279 @@ packages:
- supports-color
dev: true
- /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-module-transforms': 7.20.2
+ '@babel/core': 7.20.7
+ '@babel/helper-module-transforms': 7.20.11
'@babel/helper-plugin-utils': 7.20.2
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.5:
+ /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.7:
resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-replace-supers': 7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.5:
+ /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.7:
resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
regenerator-transform: 0.15.1
dev: true
- /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.5:
+ /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.7:
resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
dev: true
- /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.5:
+ /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.7:
resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.5:
+ /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.7:
resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.5:
+ /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.7:
resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/preset-env/7.20.2_@babel+core@7.20.5:
+ /@babel/preset-env/7.20.2_@babel+core@7.20.7:
resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
- '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-option': 7.18.6
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.5
- '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.5
- '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.5
- '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.5
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5
- '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.5
- '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.5
- '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.5
- '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.5
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.5
- '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.5
- '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.5
- '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.5
- '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.5
- '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.5
- '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.5
- '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.5
- '@babel/preset-modules': 0.1.5_@babel+core@7.20.5
- '@babel/types': 7.20.5
- babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.5
- babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.5
- babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.5
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.7
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.7
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.7
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7
+ '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.7
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7
+ '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.7
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.7
+ '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.7
+ '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.7
+ '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.7
+ '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.7
+ '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7
+ '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.7
+ '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.7
+ '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/preset-modules': 0.1.5_@babel+core@7.20.7
+ '@babel/types': 7.20.7
+ babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.7
+ babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.7
+ babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.7
core-js-compat: 3.27.1
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/preset-modules/0.1.5_@babel+core@7.20.5:
+ /@babel/preset-modules/0.1.5_@babel+core@7.20.7:
resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.5
- '@babel/types': 7.20.5
+ '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7
+ '@babel/types': 7.20.7
esutils: 2.0.3
dev: true
- /@babel/runtime-corejs3/7.19.1:
- resolution: {integrity: sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==}
+ /@babel/runtime-corejs3/7.20.7:
+ resolution: {integrity: sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==}
engines: {node: '>=6.9.0'}
dependencies:
- core-js-pure: 3.25.2
- regenerator-runtime: 0.13.9
+ core-js-pure: 3.27.1
+ regenerator-runtime: 0.13.11
dev: true
- /@babel/runtime/7.19.0:
- resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.13.9
-
/@babel/runtime/7.20.7:
resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.13.11
- /@babel/template/7.18.10:
- resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
- dev: true
-
/@babel/template/7.20.7:
resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
engines: {node: '>=6.9.0'}
@@ -1432,41 +1382,6 @@ packages:
- supports-color
dev: true
- /@babel/traverse/7.20.5:
- resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.5
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-function-name': 7.19.0
- '@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@babel/types/7.19.4:
- resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
- dev: true
-
- /@babel/types/7.20.5:
- resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
-
/@babel/types/7.20.7:
resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
engines: {node: '>=6.9.0'}
@@ -1474,16 +1389,15 @@ packages:
'@babel/helper-string-parser': 7.19.4
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
- dev: true
/@bcoe/v8-coverage/0.2.3:
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
dev: true
- /@blocksuite/blocks/0.3.0-20221230100352-5dfe65e_yjs@13.5.44:
- resolution: {integrity: sha512-dvjSbuedu1a5+q+FxtPMt6IDrJT46WsEcT7PhFvnGxP69I5iJwuHzrsDlg159u9Sn6/3OJjE7mYxBodPSGXxBQ==}
+ /@blocksuite/blocks/0.3.1_yjs@13.5.44:
+ resolution: {integrity: sha512-b0dGz2MG4yIgngJPRumaMY58wAsd2FEVSZl3tpCXlagK9I0HD165Bq70PxcaRHVjBSV1Gf29ZVHUF6BVTYogPw==}
dependencies:
- '@blocksuite/store': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
+ '@blocksuite/store': 0.3.1_yjs@13.5.44
'@tldraw/intersect': 1.8.0
autosize: 5.0.2
highlight.js: 11.7.0
@@ -1499,11 +1413,11 @@ packages:
- yjs
dev: false
- /@blocksuite/editor/0.3.0-20221230100352-5dfe65e_yjs@13.5.44:
- resolution: {integrity: sha512-LMl7jm5cq2/pDmtkLUOIhOwkTm5dDtEYcEKehRl05C6Hs2tHJjDeLwSyL2rXbSCdK8tK2D7tRfnTocBrsom5sw==}
+ /@blocksuite/editor/0.3.1_yjs@13.5.44:
+ resolution: {integrity: sha512-ycKcyvPW6R8R2GZOFneGH1xNi5gJBx5WtWjW9YwcQslFzXVWMCCBips1Bud2uL4kkbWQoodyua6k2vsXxGAKLw==}
dependencies:
- '@blocksuite/blocks': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
- '@blocksuite/store': 0.3.0-20221230100352-5dfe65e_yjs@13.5.44
+ '@blocksuite/blocks': 0.3.1_yjs@13.5.44
+ '@blocksuite/store': 0.3.1_yjs@13.5.44
lit: 2.5.0
marked: 4.2.5
turndown: 7.1.1
@@ -1524,8 +1438,8 @@ packages:
react: 18.2.0
dev: false
- /@blocksuite/store/0.3.0-20221230100352-5dfe65e_yjs@13.5.44:
- resolution: {integrity: sha512-KHLmPqi789kBgkITgSztr6gA5crdEiVDN9Jlslg6Sd7QuFn0jKGFn1FHBn6Myp0nXLAPAa6avBPxlbrgHI+zIQ==}
+ /@blocksuite/store/0.3.1_yjs@13.5.44:
+ resolution: {integrity: sha512-kynVTDfNCSChz2JI2rtGHxRIV2YrLzvAgVajcbfDVCuXKG0siBoEjLasG1a0kvevbvW/FabrNAj+xaIplklioA==}
peerDependencies:
yjs: ^13
dependencies:
@@ -1558,7 +1472,7 @@ packages:
fs-extra: 7.0.1
lodash.startcase: 4.4.0
outdent: 0.5.0
- prettier: 2.7.1
+ prettier: 2.8.1
resolve-from: 5.0.0
semver: 5.7.1
dev: true
@@ -1726,50 +1640,50 @@ packages:
'@changesets/types': 5.2.1
fs-extra: 7.0.1
human-id: 1.0.2
- prettier: 2.7.1
+ prettier: 2.8.1
dev: true
- /@emotion/babel-plugin/11.10.2:
- resolution: {integrity: sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==}
+ /@emotion/babel-plugin/11.10.5:
+ resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/helper-module-imports': 7.18.6
'@babel/plugin-syntax-jsx': 7.18.6
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
'@emotion/hash': 0.9.0
'@emotion/memoize': 0.8.0
- '@emotion/serialize': 1.1.0
+ '@emotion/serialize': 1.1.1
babel-plugin-macros: 3.1.0
convert-source-map: 1.9.0
escape-string-regexp: 4.0.0
find-root: 1.1.0
source-map: 0.5.7
- stylis: 4.0.13
+ stylis: 4.1.3
dev: false
- /@emotion/cache/11.10.3:
- resolution: {integrity: sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==}
+ /@emotion/cache/11.10.5:
+ resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==}
dependencies:
'@emotion/memoize': 0.8.0
- '@emotion/sheet': 1.2.0
+ '@emotion/sheet': 1.2.1
'@emotion/utils': 1.2.0
'@emotion/weak-memoize': 0.3.0
- stylis: 4.0.13
+ stylis: 4.1.3
dev: false
- /@emotion/css/11.10.0:
- resolution: {integrity: sha512-dH9f+kSCucc8ilMg0MUA1AemabcyzYpe5EKX24F528PJjD7HyIY/VBNJHxfUdc8l400h2ncAjR6yEDu+DBj2cg==}
+ /@emotion/css/11.10.5:
+ resolution: {integrity: sha512-maJy0wG82hWsiwfJpc3WrYsyVwUbdu+sdIseKUB+/OLjB8zgc3tqkT6eO0Yt0AhIkJwGGnmMY/xmQwEAgQ4JHA==}
peerDependencies:
'@babel/core': ^7.0.0
peerDependenciesMeta:
'@babel/core':
optional: true
dependencies:
- '@emotion/babel-plugin': 11.10.2
- '@emotion/cache': 11.10.3
- '@emotion/serialize': 1.1.0
- '@emotion/sheet': 1.2.0
+ '@emotion/babel-plugin': 11.10.5
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
+ '@emotion/sheet': 1.2.1
'@emotion/utils': 1.2.0
dev: false
@@ -1787,8 +1701,8 @@ packages:
resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
dev: false
- /@emotion/react/11.10.4_w5j4k42lgipnm43s3brx6h3c34:
- resolution: {integrity: sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==}
+ /@emotion/react/11.10.5_w5j4k42lgipnm43s3brx6h3c34:
+ resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==}
peerDependencies:
'@babel/core': ^7.0.0
'@types/react': '*'
@@ -1799,10 +1713,10 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@emotion/babel-plugin': 11.10.2
- '@emotion/cache': 11.10.3
- '@emotion/serialize': 1.1.0
+ '@babel/runtime': 7.20.7
+ '@emotion/babel-plugin': 11.10.5
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
'@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
'@emotion/utils': 1.2.0
'@emotion/weak-memoize': 0.3.0
@@ -1811,8 +1725,8 @@ packages:
react: 18.2.0
dev: false
- /@emotion/serialize/1.1.0:
- resolution: {integrity: sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==}
+ /@emotion/serialize/1.1.1:
+ resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==}
dependencies:
'@emotion/hash': 0.9.0
'@emotion/memoize': 0.8.0
@@ -1821,7 +1735,7 @@ packages:
csstype: 3.1.1
dev: false
- /@emotion/server/11.10.0_@emotion+css@11.10.0:
+ /@emotion/server/11.10.0_@emotion+css@11.10.5:
resolution: {integrity: sha512-MTvJ21JPo9aS02GdjFW4nhdwOi2tNNpMmAM/YED0pkxzjDNi5WbiTwXqaCnvLc2Lr8NFtjhT0az1vTJyLIHYcw==}
peerDependencies:
'@emotion/css': ^11.0.0-rc.0
@@ -1829,19 +1743,19 @@ packages:
'@emotion/css':
optional: true
dependencies:
- '@emotion/css': 11.10.0
+ '@emotion/css': 11.10.5
'@emotion/utils': 1.2.0
html-tokenize: 2.0.1
multipipe: 1.0.2
through: 2.3.8
dev: false
- /@emotion/sheet/1.2.0:
- resolution: {integrity: sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==}
+ /@emotion/sheet/1.2.1:
+ resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
dev: false
- /@emotion/styled/11.10.4_yiaqs725o7pcd7rteavrnhgj4y:
- resolution: {integrity: sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==}
+ /@emotion/styled/11.10.5_s7uipz3r575xmfz2gje3lxfqua:
+ resolution: {integrity: sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==}
peerDependencies:
'@babel/core': ^7.0.0
'@emotion/react': ^11.0.0-rc.0
@@ -1853,11 +1767,11 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@emotion/babel-plugin': 11.10.2
+ '@babel/runtime': 7.20.7
+ '@emotion/babel-plugin': 11.10.5
'@emotion/is-prop-valid': 1.2.0
- '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34
- '@emotion/serialize': 1.1.0
+ '@emotion/react': 11.10.5_w5j4k42lgipnm43s3brx6h3c34
+ '@emotion/serialize': 1.1.1
'@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
'@emotion/utils': 1.2.0
'@types/react': 18.0.20
@@ -1884,32 +1798,15 @@ packages:
resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
dev: false
- /@eslint/eslintrc/1.3.2:
- resolution: {integrity: sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.4.0
- globals: 13.17.0
- ignore: 5.2.0
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/@eslint/eslintrc/1.4.1:
resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
- espree: 9.4.0
+ espree: 9.4.1
globals: 13.19.0
- ignore: 5.2.0
+ ignore: 5.2.4
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -1928,7 +1825,7 @@ packages:
'@firebase/app-compat': 0.2.0
'@firebase/component': 0.6.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
dev: false
@@ -1947,7 +1844,7 @@ packages:
'@firebase/installations': 0.6.0_@firebase+app@0.9.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/app-check-compat/0.3.0_5z7svkifsmkn6ro3hru7lnxwrq:
@@ -1961,7 +1858,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
dev: false
@@ -1983,7 +1880,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/app-compat/0.2.0:
@@ -1993,7 +1890,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/app-types/0.9.0:
@@ -2007,7 +1904,7 @@ packages:
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
idb: 7.0.1
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/auth-compat/0.3.0_smx2rqj2kjyjzx5x66zunbdpee:
@@ -2021,7 +1918,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/util': 1.8.0
node-fetch: 2.6.7_encoding@0.1.13
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
@@ -2058,7 +1955,7 @@ packages:
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
node-fetch: 2.6.7_encoding@0.1.13
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- encoding
dev: false
@@ -2067,7 +1964,7 @@ packages:
resolution: {integrity: sha512-9hyNc4OmrXMtthDJq6zyJHll/UIYBWYmMG3rXty2eMeWxHWB0vlsq3AOI+k14PL15aSBAQolv0EZJWVJv/gCEg==}
dependencies:
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/database-compat/0.3.0_@firebase+app-types@0.9.0:
@@ -2078,7 +1975,7 @@ packages:
'@firebase/database-types': 0.10.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app-types'
dev: false
@@ -2098,7 +1995,7 @@ packages:
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
faye-websocket: 0.11.4
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app-types'
dev: false
@@ -2113,7 +2010,7 @@ packages:
'@firebase/firestore': 3.8.0_nw4m4mwqwngj7zodqmw3xrcjja
'@firebase/firestore-types': 2.5.1_ymjb4f6a56kabcdqyfm4cet2ly
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
@@ -2144,7 +2041,7 @@ packages:
'@grpc/grpc-js': 1.7.3
'@grpc/proto-loader': 0.6.13
node-fetch: 2.6.7_encoding@0.1.13
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- encoding
dev: false
@@ -2159,7 +2056,7 @@ packages:
'@firebase/functions': 0.9.0_abctzvz6bda5rcfr257jyree6a
'@firebase/functions-types': 0.6.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
@@ -2182,7 +2079,7 @@ packages:
'@firebase/messaging-interop-types': 0.2.0
'@firebase/util': 1.8.0
node-fetch: 2.6.7_encoding@0.1.13
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app-types'
- encoding
@@ -2198,7 +2095,7 @@ packages:
'@firebase/installations': 0.6.0_@firebase+app@0.9.0
'@firebase/installations-types': 0.5.0_@firebase+app-types@0.9.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
@@ -2221,13 +2118,13 @@ packages:
'@firebase/component': 0.6.0
'@firebase/util': 1.8.0
idb: 7.0.1
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/logger/0.4.0:
resolution: {integrity: sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/messaging-compat/0.2.0_5z7svkifsmkn6ro3hru7lnxwrq:
@@ -2239,7 +2136,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/messaging': 0.12.0_@firebase+app@0.9.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
dev: false
@@ -2259,7 +2156,7 @@ packages:
'@firebase/messaging-interop-types': 0.2.0
'@firebase/util': 1.8.0
idb: 7.0.1
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/performance-compat/0.2.0_5z7svkifsmkn6ro3hru7lnxwrq:
@@ -2273,7 +2170,7 @@ packages:
'@firebase/performance': 0.6.0_@firebase+app@0.9.0
'@firebase/performance-types': 0.2.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
dev: false
@@ -2292,7 +2189,7 @@ packages:
'@firebase/installations': 0.6.0_@firebase+app@0.9.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/remote-config-compat/0.2.0_5z7svkifsmkn6ro3hru7lnxwrq:
@@ -2306,7 +2203,7 @@ packages:
'@firebase/remote-config': 0.4.0_@firebase+app@0.9.0
'@firebase/remote-config-types': 0.3.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
dev: false
@@ -2325,7 +2222,7 @@ packages:
'@firebase/installations': 0.6.0_@firebase+app@0.9.0
'@firebase/logger': 0.4.0
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/storage-compat/0.2.0_smx2rqj2kjyjzx5x66zunbdpee:
@@ -2338,7 +2235,7 @@ packages:
'@firebase/storage': 0.10.0_nw4m4mwqwngj7zodqmw3xrcjja
'@firebase/storage-types': 0.7.0_ymjb4f6a56kabcdqyfm4cet2ly
'@firebase/util': 1.8.0
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
@@ -2364,7 +2261,7 @@ packages:
'@firebase/component': 0.6.0
'@firebase/util': 1.8.0
node-fetch: 2.6.7_encoding@0.1.13
- tslib: 2.4.0
+ tslib: 2.4.1
transitivePeerDependencies:
- encoding
dev: false
@@ -2372,7 +2269,7 @@ packages:
/@firebase/util/1.8.0:
resolution: {integrity: sha512-clK6pTTxIiLMYz4UrvDTVAs2rIaOiroAuFdX67C0JalvEwzi6Vv8li6xAGj38tkj7Qax06mosM1fQkxf2h4VTg==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@firebase/webchannel-wrapper/0.9.0:
@@ -2419,8 +2316,8 @@ packages:
yargs: 16.2.0
dev: false
- /@humanwhocodes/config-array/0.10.4:
- resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==}
+ /@humanwhocodes/config-array/0.10.7:
+ resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==}
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 1.2.1
@@ -2499,7 +2396,7 @@ packages:
'@types/node': 18.11.18
ansi-escapes: 4.3.2
chalk: 4.1.2
- ci-info: 3.7.0
+ ci-info: 3.7.1
exit: 0.1.2
graceful-fs: 4.2.10
jest-changed-files: 29.2.0
@@ -2652,7 +2549,7 @@ packages:
resolution: {integrity: sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@jest/types': 29.3.1
'@jridgewell/trace-mapping': 0.3.17
babel-plugin-istanbul: 6.1.1
@@ -2679,7 +2576,7 @@ packages:
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
'@types/node': 18.11.18
- '@types/yargs': 17.0.15
+ '@types/yargs': 17.0.18
chalk: 4.1.2
dev: true
@@ -2728,10 +2625,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.14
dev: true
- /@lit/reactive-element/1.4.1:
- resolution: {integrity: sha512-qDv4851VFSaBWzpS02cXHclo40jsbAjRXnebNXpm0uVg32kCneZPo9RYVQtrTNICtZ+1wAYHu1ZtxWSWMbKrBw==}
- dev: false
-
/@lit/reactive-element/1.5.0:
resolution: {integrity: sha512-fQh9FDK0LPTwDk+0HhSZEtb8K0LTN1wXerwpGrWA+a8tWulYRDLI4vQDWp4GOIsewn0572KYV/oZ3+492D7osA==}
dev: false
@@ -2756,8 +2649,8 @@ packages:
read-yaml-file: 1.1.0
dev: true
- /@mui/base/5.0.0-alpha.101_7ey2zzynotv32rpkwno45fsx4e:
- resolution: {integrity: sha512-a54BcXvArGOKUZ2zyS/7B9GNhAGgfomEQSkfEZ88Nc9jKvXA+Mppenfz5o4JCAnD8c4VlePmz9rKOYvvum1bZw==}
+ /@mui/base/5.0.0-alpha.112_7ey2zzynotv32rpkwno45fsx4e:
+ resolution: {integrity: sha512-KPwb1iYPXsV/P8uu0SNQrj7v7YU6wdN4Eccc2lZQyRDW+f6PJYjHBuFUTYKc408B98Jvs1XbC/z5MN45a2DWrQ==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0
@@ -2767,10 +2660,10 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
'@emotion/is-prop-valid': 1.2.0
- '@mui/types': 7.2.0_@types+react@18.0.20
- '@mui/utils': 5.10.9_react@18.2.0
+ '@mui/types': 7.2.3_@types+react@18.0.20
+ '@mui/utils': 5.11.2_react@18.2.0
'@popperjs/core': 2.11.6
'@types/react': 18.0.20
clsx: 1.2.1
@@ -2780,12 +2673,12 @@ packages:
react-is: 18.2.0
dev: false
- /@mui/core-downloads-tracker/5.10.9:
- resolution: {integrity: sha512-rqoFu4qww6KJBbXYhyRd9YXjwBHa3ylnBPSWbGf1bdfG0AYMKmVzg8zxkWvxAWOp97kvx3M2kNPb0xMIDZiogQ==}
+ /@mui/core-downloads-tracker/5.11.3:
+ resolution: {integrity: sha512-Bgb6//KtxY7IC7M5Pa5RKFX1wttc213mqpKqydnz3wn4BGDXfA5c0vf5nTu5zqsJeB4T3ysAJTRJhQ/E1GsZDQ==}
dev: false
- /@mui/icons-material/5.10.9_5fncb4nagb4cvvcnwamw2rozfa:
- resolution: {integrity: sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg==}
+ /@mui/icons-material/5.11.0_4r2n2chxjb272yibknfb4hapcq:
+ resolution: {integrity: sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@mui/material': ^5.0.0
@@ -2795,14 +2688,14 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@mui/material': 5.10.9_af5ln35zuaotaffazii6n6bke4
+ '@babel/runtime': 7.20.7
+ '@mui/material': 5.11.3_pmppvr4gtvd6vpdr5yl42vjwtu
'@types/react': 18.0.20
react: 18.2.0
dev: false
- /@mui/material/5.10.9_af5ln35zuaotaffazii6n6bke4:
- resolution: {integrity: sha512-sdOzlgpCmyw48je+E7o9UGGJpgBaF+60FlTRpVpcd/z+LUhnuzzuis891yPI5dPPXLBDL/bO4SsGg51lgNeLBw==}
+ /@mui/material/5.11.3_pmppvr4gtvd6vpdr5yl42vjwtu:
+ resolution: {integrity: sha512-Oz+rMFiMtxzzDLUxKyyj4mSxF9ShmsBoJ9qvglXCYqklgSrEl1R/Z4hfPZ+2pWd5CriO8U/0CFHr4DksrlTiCw==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
@@ -2818,14 +2711,14 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34
- '@emotion/styled': 11.10.4_yiaqs725o7pcd7rteavrnhgj4y
- '@mui/base': 5.0.0-alpha.101_7ey2zzynotv32rpkwno45fsx4e
- '@mui/core-downloads-tracker': 5.10.9
- '@mui/system': 5.10.10_4mv32nu4vciambuqqzuu4gtvj4
- '@mui/types': 7.2.0_@types+react@18.0.20
- '@mui/utils': 5.10.9_react@18.2.0
+ '@babel/runtime': 7.20.7
+ '@emotion/react': 11.10.5_w5j4k42lgipnm43s3brx6h3c34
+ '@emotion/styled': 11.10.5_s7uipz3r575xmfz2gje3lxfqua
+ '@mui/base': 5.0.0-alpha.112_7ey2zzynotv32rpkwno45fsx4e
+ '@mui/core-downloads-tracker': 5.11.3
+ '@mui/system': 5.11.2_rzxw6anggsjmiyyhdfmgehw6ye
+ '@mui/types': 7.2.3_@types+react@18.0.20
+ '@mui/utils': 5.11.2_react@18.2.0
'@types/react': 18.0.20
'@types/react-transition-group': 4.4.5
clsx: 1.2.1
@@ -2837,8 +2730,8 @@ packages:
react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y
dev: false
- /@mui/private-theming/5.10.9_w5j4k42lgipnm43s3brx6h3c34:
- resolution: {integrity: sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg==}
+ /@mui/private-theming/5.11.2_w5j4k42lgipnm43s3brx6h3c34:
+ resolution: {integrity: sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0
@@ -2847,15 +2740,15 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@mui/utils': 5.10.9_react@18.2.0
+ '@babel/runtime': 7.20.7
+ '@mui/utils': 5.11.2_react@18.2.0
'@types/react': 18.0.20
prop-types: 15.8.1
react: 18.2.0
dev: false
- /@mui/styled-engine/5.10.8_hfzxdiydbrbhhfpkwuv3jhvwmq:
- resolution: {integrity: sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==}
+ /@mui/styled-engine/5.11.0_dovxhg2tvkkxkdnqyoum6wzcxm:
+ resolution: {integrity: sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.4.1
@@ -2867,17 +2760,17 @@ packages:
'@emotion/styled':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@emotion/cache': 11.10.3
- '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34
- '@emotion/styled': 11.10.4_yiaqs725o7pcd7rteavrnhgj4y
+ '@babel/runtime': 7.20.7
+ '@emotion/cache': 11.10.5
+ '@emotion/react': 11.10.5_w5j4k42lgipnm43s3brx6h3c34
+ '@emotion/styled': 11.10.5_s7uipz3r575xmfz2gje3lxfqua
csstype: 3.1.1
prop-types: 15.8.1
react: 18.2.0
dev: false
- /@mui/system/5.10.10_4mv32nu4vciambuqqzuu4gtvj4:
- resolution: {integrity: sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA==}
+ /@mui/system/5.11.2_rzxw6anggsjmiyyhdfmgehw6ye:
+ resolution: {integrity: sha512-PPkYhrcP2MkhscX6SauIl0wPgra0w1LGPtll+hIKc2Z2JbGRSrUCFif93kxejB7I1cAoCay9jWW4mnNhsOqF/g==}
engines: {node: '>=12.0.0'}
peerDependencies:
'@emotion/react': ^11.5.0
@@ -2892,13 +2785,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.19.0
- '@emotion/react': 11.10.4_w5j4k42lgipnm43s3brx6h3c34
- '@emotion/styled': 11.10.4_yiaqs725o7pcd7rteavrnhgj4y
- '@mui/private-theming': 5.10.9_w5j4k42lgipnm43s3brx6h3c34
- '@mui/styled-engine': 5.10.8_hfzxdiydbrbhhfpkwuv3jhvwmq
- '@mui/types': 7.2.0_@types+react@18.0.20
- '@mui/utils': 5.10.9_react@18.2.0
+ '@babel/runtime': 7.20.7
+ '@emotion/react': 11.10.5_w5j4k42lgipnm43s3brx6h3c34
+ '@emotion/styled': 11.10.5_s7uipz3r575xmfz2gje3lxfqua
+ '@mui/private-theming': 5.11.2_w5j4k42lgipnm43s3brx6h3c34
+ '@mui/styled-engine': 5.11.0_dovxhg2tvkkxkdnqyoum6wzcxm
+ '@mui/types': 7.2.3_@types+react@18.0.20
+ '@mui/utils': 5.11.2_react@18.2.0
'@types/react': 18.0.20
clsx: 1.2.1
csstype: 3.1.1
@@ -2906,8 +2799,8 @@ packages:
react: 18.2.0
dev: false
- /@mui/types/7.2.0_@types+react@18.0.20:
- resolution: {integrity: sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==}
+ /@mui/types/7.2.3_@types+react@18.0.20:
+ resolution: {integrity: sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==}
peerDependencies:
'@types/react': '*'
peerDependenciesMeta:
@@ -2917,13 +2810,13 @@ packages:
'@types/react': 18.0.20
dev: false
- /@mui/utils/5.10.9_react@18.2.0:
- resolution: {integrity: sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA==}
+ /@mui/utils/5.11.2_react@18.2.0:
+ resolution: {integrity: sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w==}
engines: {node: '>=12.0.0'}
peerDependencies:
react: ^17.0.0 || ^18.0.0
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
'@types/prop-types': 15.7.5
'@types/react-is': 17.0.3
prop-types: 15.8.1
@@ -2931,8 +2824,8 @@ packages:
react-is: 18.2.0
dev: false
- /@next/env/12.3.1:
- resolution: {integrity: sha512-9P9THmRFVKGKt9DYqeC2aKIxm8rlvkK38V1P1sRE7qyoPBIs8l9oo79QoSdPtOWfzkbDAVUqvbQGgTMsb8BtJg==}
+ /@next/env/12.3.4:
+ resolution: {integrity: sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==}
dev: false
/@next/env/13.1.0:
@@ -2944,8 +2837,8 @@ packages:
glob: 7.1.7
dev: true
- /@next/swc-android-arm-eabi/12.3.1:
- resolution: {integrity: sha512-i+BvKA8tB//srVPPQxIQN5lvfROcfv4OB23/L1nXznP+N/TyKL8lql3l7oo2LNhnH66zWhfoemg3Q4VJZSruzQ==}
+ /@next/swc-android-arm-eabi/12.3.4:
+ resolution: {integrity: sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==}
engines: {node: '>= 10'}
cpu: [arm]
os: [android]
@@ -2961,8 +2854,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-android-arm64/12.3.1:
- resolution: {integrity: sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==}
+ /@next/swc-android-arm64/12.3.4:
+ resolution: {integrity: sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
@@ -2978,8 +2871,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-darwin-arm64/12.3.1:
- resolution: {integrity: sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==}
+ /@next/swc-darwin-arm64/12.3.4:
+ resolution: {integrity: sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -2995,8 +2888,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-darwin-x64/12.3.1:
- resolution: {integrity: sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==}
+ /@next/swc-darwin-x64/12.3.4:
+ resolution: {integrity: sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -3012,8 +2905,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-freebsd-x64/12.3.1:
- resolution: {integrity: sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==}
+ /@next/swc-freebsd-x64/12.3.4:
+ resolution: {integrity: sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
@@ -3029,8 +2922,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-linux-arm-gnueabihf/12.3.1:
- resolution: {integrity: sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==}
+ /@next/swc-linux-arm-gnueabihf/12.3.4:
+ resolution: {integrity: sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
@@ -3046,8 +2939,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-linux-arm64-gnu/12.3.1:
- resolution: {integrity: sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==}
+ /@next/swc-linux-arm64-gnu/12.3.4:
+ resolution: {integrity: sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3063,8 +2956,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-linux-arm64-musl/12.3.1:
- resolution: {integrity: sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==}
+ /@next/swc-linux-arm64-musl/12.3.4:
+ resolution: {integrity: sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3080,8 +2973,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-linux-x64-gnu/12.3.1:
- resolution: {integrity: sha512-JWEaMyvNrXuM3dyy9Pp5cFPuSSvG82+yABqsWugjWlvfmnlnx9HOQZY23bFq3cNghy5V/t0iPb6cffzRWylgsA==}
+ /@next/swc-linux-x64-gnu/12.3.4:
+ resolution: {integrity: sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3097,8 +2990,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-linux-x64-musl/12.3.1:
- resolution: {integrity: sha512-xoEWQQ71waWc4BZcOjmatuvPUXKTv6MbIFzpm4LFeCHsg2iwai0ILmNXf81rJR+L1Wb9ifEke2sQpZSPNz1Iyg==}
+ /@next/swc-linux-x64-musl/12.3.4:
+ resolution: {integrity: sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3114,8 +3007,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-win32-arm64-msvc/12.3.1:
- resolution: {integrity: sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==}
+ /@next/swc-win32-arm64-msvc/12.3.4:
+ resolution: {integrity: sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -3131,8 +3024,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-win32-ia32-msvc/12.3.1:
- resolution: {integrity: sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==}
+ /@next/swc-win32-ia32-msvc/12.3.4:
+ resolution: {integrity: sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -3148,8 +3041,8 @@ packages:
requiresBuild: true
optional: true
- /@next/swc-win32-x64-msvc/12.3.1:
- resolution: {integrity: sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==}
+ /@next/swc-win32-x64-msvc/12.3.4:
+ resolution: {integrity: sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -3183,7 +3076,7 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.13.0
+ fastq: 1.15.0
dev: true
/@playwright/test/1.29.1:
@@ -3427,7 +3320,7 @@ packages:
react: 18.2.0
dev: false
- /@rollup/plugin-babel/5.3.1_opjstonlpkhafnz76jsxdwq25a:
+ /@rollup/plugin-babel/5.3.1_quedi3p7womesqmjrcxptomfpa:
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@@ -3438,7 +3331,7 @@ packages:
'@types/babel__core':
optional: true
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@babel/helper-module-imports': 7.18.6
'@rollup/pluginutils': 3.1.0_rollup@2.79.1
rollup: 2.79.1
@@ -3510,21 +3403,21 @@ packages:
resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
dependencies:
ejs: 3.1.8
- json5: 2.2.1
+ json5: 2.2.3
magic-string: 0.25.9
- string.prototype.matchall: 4.0.7
+ string.prototype.matchall: 4.0.8
dev: true
/@swc/helpers/0.4.11:
resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/@swc/helpers/0.4.14:
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
/@szmarczak/http-timer/5.0.1:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
@@ -3546,8 +3439,8 @@ packages:
/@types/babel__core/7.1.20:
resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==}
dependencies:
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/parser': 7.20.7
+ '@babel/types': 7.20.7
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
'@types/babel__traverse': 7.18.3
@@ -3556,26 +3449,32 @@ packages:
/@types/babel__generator/7.6.4:
resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
dev: true
/@types/babel__template/7.4.1:
resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
dependencies:
- '@babel/parser': 7.20.5
- '@babel/types': 7.20.5
+ '@babel/parser': 7.20.7
+ '@babel/types': 7.20.7
dev: true
/@types/babel__traverse/7.18.3:
resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==}
dependencies:
- '@babel/types': 7.20.5
+ '@babel/types': 7.20.7
+ dev: true
+
+ /@types/debug/4.1.7:
+ resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
+ dependencies:
+ '@types/ms': 0.7.31
dev: true
/@types/eslint/8.4.10:
resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==}
dependencies:
- '@types/estree': 0.0.39
+ '@types/estree': 1.0.0
'@types/json-schema': 7.0.11
dev: true
@@ -3583,6 +3482,10 @@ packages:
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
dev: true
+ /@types/estree/1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ dev: true
+
/@types/flexsearch/0.7.3:
resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==}
dev: false
@@ -3600,14 +3503,10 @@ packages:
'@types/node': 18.11.18
dev: true
- /@types/http-cache-semantics/4.0.1:
- resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==}
- dev: true
-
/@types/is-ci/3.0.0:
resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==}
dependencies:
- ci-info: 3.7.0
+ ci-info: 3.7.1
dev: true
/@types/istanbul-lib-coverage/2.0.4:
@@ -3646,6 +3545,10 @@ packages:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true
+ /@types/ms/0.7.31:
+ resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
+ dev: true
+
/@types/node/12.20.55:
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
dev: true
@@ -3665,8 +3568,8 @@ packages:
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
dev: false
- /@types/prettier/2.7.1:
- resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==}
+ /@types/prettier/2.7.2:
+ resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
dev: true
/@types/prop-types/15.7.5:
@@ -3703,8 +3606,8 @@ packages:
'@types/scheduler': 0.16.2
csstype: 3.1.1
- /@types/react/18.0.21:
- resolution: {integrity: sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==}
+ /@types/react/18.0.26:
+ resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==}
dependencies:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.2
@@ -3743,13 +3646,13 @@ packages:
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
dev: true
- /@types/yargs/17.0.15:
- resolution: {integrity: sha512-ZHc4W2dnEQPfhn06TBEdWaiUHEZAocYaiVMfwOipY5jcJt/251wVrKCBWBetGZWO5CF8tdb7L3DmdxVlZ2BOIg==}
+ /@types/yargs/17.0.18:
+ resolution: {integrity: sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==}
dependencies:
'@types/yargs-parser': 21.0.0
dev: true
- /@typescript-eslint/eslint-plugin/5.48.0_wxmz6cyorqfuzhhglktlvr5lve:
+ /@typescript-eslint/eslint-plugin/5.48.0_k73wpmdolxikpyqun3p36akaaq:
resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3760,18 +3663,18 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
'@typescript-eslint/scope-manager': 5.48.0
- '@typescript-eslint/type-utils': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
- '@typescript-eslint/utils': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
+ '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
debug: 4.3.4
eslint: 8.31.0
- ignore: 5.2.0
+ ignore: 5.2.4
natural-compare-lite: 1.4.0
regexpp: 3.2.0
- semver: 7.3.7
- tsutils: 3.21.0_typescript@4.9.3
- typescript: 4.9.3
+ semver: 7.3.8
+ tsutils: 3.21.0_typescript@4.9.4
+ typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -3796,7 +3699,7 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser/5.48.0_p4cjf2r47dnfiqufepc5hp43sq:
+ /@typescript-eslint/parser/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3808,10 +3711,10 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 5.48.0
'@typescript-eslint/types': 5.48.0
- '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.3
+ '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
debug: 4.3.4
eslint: 8.31.0
- typescript: 4.9.3
+ typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -3824,7 +3727,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.48.0
dev: true
- /@typescript-eslint/type-utils/5.48.0_p4cjf2r47dnfiqufepc5hp43sq:
+ /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3834,12 +3737,12 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.3
- '@typescript-eslint/utils': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
+ '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
debug: 4.3.4
eslint: 8.31.0
- tsutils: 3.21.0_typescript@4.9.3
- typescript: 4.9.3
+ tsutils: 3.21.0_typescript@4.9.4
+ typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true
@@ -3863,14 +3766,14 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.7
+ semver: 7.3.8
tsutils: 3.21.0_typescript@4.8.3
typescript: 4.8.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.3:
+ /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4:
resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3884,14 +3787,14 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.7
- tsutils: 3.21.0_typescript@4.9.3
- typescript: 4.9.3
+ semver: 7.3.8
+ tsutils: 3.21.0_typescript@4.9.4
+ typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils/5.48.0_p4cjf2r47dnfiqufepc5hp43sq:
+ /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3901,11 +3804,11 @@ packages:
'@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.48.0
'@typescript-eslint/types': 5.48.0
- '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.3
+ '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
eslint: 8.31.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.31.0
- semver: 7.3.7
+ semver: 7.3.8
transitivePeerDependencies:
- supports-color
- typescript
@@ -3919,17 +3822,25 @@ packages:
eslint-visitor-keys: 3.3.0
dev: true
- /acorn-jsx/5.3.2_acorn@8.8.0:
+ /abort-controller/3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+ dependencies:
+ event-target-shim: 5.0.1
+ dev: false
+
+ /acorn-jsx/5.3.2_acorn@8.8.1:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.8.0
+ acorn: 8.8.1
dev: true
- /acorn/8.8.0:
- resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
+ /acorn/8.8.1:
+ resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
engines: {node: '>=0.4.0'}
+ hasBin: true
dev: true
/aggregate-error/3.1.0:
@@ -4039,24 +3950,24 @@ packages:
dependencies:
'@types/react': 18.0.20
react: 18.2.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/aria-query/4.2.2:
resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
engines: {node: '>=6.0'}
dependencies:
- '@babel/runtime': 7.19.0
- '@babel/runtime-corejs3': 7.19.1
+ '@babel/runtime': 7.20.7
+ '@babel/runtime-corejs3': 7.20.7
dev: true
- /array-includes/3.1.5:
- resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==}
+ /array-includes/3.1.6:
+ resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
get-intrinsic: 1.1.3
is-string: 1.0.7
dev: true
@@ -4078,26 +3989,36 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /array.prototype.flat/1.3.0:
- resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==}
+ /array.prototype.flat/1.3.1:
+ resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
es-shim-unscopables: 1.0.0
dev: true
- /array.prototype.flatmap/1.3.0:
- resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==}
+ /array.prototype.flatmap/1.3.1:
+ resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
es-shim-unscopables: 1.0.0
dev: true
+ /array.prototype.tosorted/1.1.1:
+ resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.20.5
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.1.3
+ dev: true
+
/arrify/1.0.1:
resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
engines: {node: '>=0.10.0'}
@@ -4125,8 +4046,8 @@ packages:
resolution: {integrity: sha512-FPVt5ynkqUAA9gcMZnJHka1XfQgr1WNd/yRfIjmj5WGmjua+u5Hl9hn8M2nU5CNy2bEIcj1ZUwXq7IOHsfZG9w==}
dev: false
- /axe-core/4.4.3:
- resolution: {integrity: sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==}
+ /axe-core/4.6.1:
+ resolution: {integrity: sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==}
engines: {node: '>=4'}
dev: true
@@ -4142,17 +4063,17 @@ packages:
resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
dev: true
- /babel-jest/29.3.1_@babel+core@7.20.5:
+ /babel-jest/29.3.1_@babel+core@7.20.7:
resolution: {integrity: sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@babel/core': ^7.8.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@jest/transform': 29.3.1
'@types/babel__core': 7.1.20
babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.2.0_@babel+core@7.20.5
+ babel-preset-jest: 29.2.0_@babel+core@7.20.7
chalk: 4.1.2
graceful-fs: 4.2.10
slash: 3.0.0
@@ -4177,7 +4098,7 @@ packages:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
engines: {node: '>=8'}
dependencies:
- '@babel/helper-plugin-utils': 7.19.0
+ '@babel/helper-plugin-utils': 7.20.2
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-instrument: 5.2.1
@@ -4190,8 +4111,8 @@ packages:
resolution: {integrity: sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/template': 7.18.10
- '@babel/types': 7.20.5
+ '@babel/template': 7.20.7
+ '@babel/types': 7.20.7
'@types/babel__core': 7.1.20
'@types/babel__traverse': 7.18.3
dev: true
@@ -4200,82 +4121,87 @@ packages:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
engines: {node: '>=10', npm: '>=6'}
dependencies:
- '@babel/runtime': 7.19.0
- cosmiconfig: 7.0.1
+ '@babel/runtime': 7.20.7
+ cosmiconfig: 7.1.0
resolve: 1.22.1
dev: false
- /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.5:
+ /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.7:
resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.20.5
- '@babel/core': 7.20.5
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.20.7
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.7
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
- /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.5:
+ /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.7:
resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.7
core-js-compat: 3.27.1
transitivePeerDependencies:
- supports-color
dev: true
- /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.5:
+ /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.7:
resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.5
- '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.7
transitivePeerDependencies:
- supports-color
dev: true
- /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.5:
+ /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.7:
resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
- '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5
- '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.5
- '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.5
- '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5
- '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.5
+ '@babel/core': 7.20.7
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.7
+ '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.7
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7
+ '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.7
dev: true
- /babel-preset-jest/29.2.0_@babel+core@7.20.5:
+ /babel-preset-jest/29.2.0_@babel+core@7.20.7:
resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
babel-plugin-jest-hoist: 29.2.0
- babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.5
+ babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.7
dev: true
/balanced-match/1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
+ /base64-arraybuffer-es6/0.7.0:
+ resolution: {integrity: sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==}
+ engines: {node: '>=6.0.0'}
+ dev: true
+
/base64-js/1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: false
@@ -4322,9 +4248,9 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001419
+ caniuse-lite: 1.0.30001441
electron-to-chromium: 1.4.284
- node-releases: 2.0.6
+ node-releases: 2.0.8
update-browserslist-db: 1.0.10_browserslist@4.21.4
dev: true
@@ -4366,11 +4292,10 @@ packages:
engines: {node: '>=14.16'}
dev: true
- /cacheable-request/10.2.3:
- resolution: {integrity: sha512-6BehRBOs7iurNjAYN9iPazTwFDaMQavJO8W1MEm3s2pH8q/tkPTtLDRUZaweWK87WFGf2Y5wLAlaCJlR5kOz3w==}
+ /cacheable-request/10.2.4:
+ resolution: {integrity: sha512-IWIea8ei1Ht4dBqvlvh7Gs7EYlMyBhlJybLDUB9sadEqHqftmdNieMLIR5ia3vs8gbjj9t8hXLBpUVg3vcQNbg==}
engines: {node: '>=14.16'}
dependencies:
- '@types/http-cache-semantics': 4.0.1
get-stream: 6.0.1
http-cache-semantics: 4.1.0
keyv: 4.5.2
@@ -4408,8 +4333,8 @@ packages:
engines: {node: '>=10'}
dev: true
- /caniuse-lite/1.0.30001419:
- resolution: {integrity: sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==}
+ /caniuse-lite/1.0.30001441:
+ resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==}
/chalk-next/6.1.5:
resolution: {integrity: sha512-OAx9F3vSk18qpfCohk0849/j3GyaoIpv8eXjmpdbmLZt+5+sWYq8xwt3B5ue25irLcxFcLL2hAbxxHSsBxupbw==}
@@ -4448,8 +4373,8 @@ packages:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
- /ci-info/3.7.0:
- resolution: {integrity: sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==}
+ /ci-info/3.7.1:
+ resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==}
engines: {node: '>=8'}
dev: true
@@ -4620,8 +4545,8 @@ packages:
browserslist: 4.21.4
dev: true
- /core-js-pure/3.25.2:
- resolution: {integrity: sha512-ItD7YpW1cUB4jaqFLZXe1AXkyqIxz6GqPnsDV4uF4hVcWh/WAGIqSqw5p0/WdsILM0Xht9s3Koyw05R3K6RtiA==}
+ /core-js-pure/3.27.1:
+ resolution: {integrity: sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==}
requiresBuild: true
dev: true
@@ -4629,8 +4554,8 @@ packages:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: false
- /cosmiconfig/7.0.1:
- resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
+ /cosmiconfig/7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
engines: {node: '>=10'}
dependencies:
'@types/parse-json': 4.0.0
@@ -4697,6 +4622,11 @@ packages:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
dev: true
+ /data-uri-to-buffer/4.0.0:
+ resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==}
+ engines: {node: '>= 12'}
+ dev: false
+
/dayjs/1.11.7:
resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
dev: false
@@ -4852,10 +4782,16 @@ packages:
/dom-helpers/5.2.1:
resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
csstype: 3.1.1
dev: false
+ /domexception/1.0.1:
+ resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==}
+ dependencies:
+ webidl-conversions: 4.0.2
+ dev: true
+
/domino/2.1.6:
resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==}
dev: false
@@ -4921,8 +4857,8 @@ packages:
dependencies:
is-arrayish: 0.2.1
- /es-abstract/1.20.2:
- resolution: {integrity: sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==}
+ /es-abstract/1.20.5:
+ resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
@@ -4931,11 +4867,12 @@ packages:
function.prototype.name: 1.1.5
get-intrinsic: 1.1.3
get-symbol-description: 1.0.0
+ gopd: 1.0.1
has: 1.0.3
has-property-descriptors: 1.0.0
has-symbols: 1.0.3
- internal-slot: 1.0.3
- is-callable: 1.2.6
+ internal-slot: 1.0.4
+ is-callable: 1.2.7
is-negative-zero: 2.0.2
is-regex: 1.1.4
is-shared-array-buffer: 1.0.2
@@ -4945,8 +4882,9 @@ packages:
object-keys: 1.1.1
object.assign: 4.1.4
regexp.prototype.flags: 1.4.3
- string.prototype.trimend: 1.0.5
- string.prototype.trimstart: 1.0.5
+ safe-regex-test: 1.0.0
+ string.prototype.trimend: 1.0.6
+ string.prototype.trimstart: 1.0.6
unbox-primitive: 1.0.2
dev: true
@@ -4960,7 +4898,7 @@ packages:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
engines: {node: '>= 0.4'}
dependencies:
- is-callable: 1.2.6
+ is-callable: 1.2.7
is-date-object: 1.0.5
is-symbol: 1.0.4
dev: true
@@ -4999,7 +4937,7 @@ packages:
eslint-import-resolver-typescript: 2.7.1_2iahngt3u2tkbdlu6s4gkur3pu
eslint-plugin-import: 2.26.0_zznokraecjt4ixvvqcdste35vq
eslint-plugin-jsx-a11y: 6.6.1_eslint@8.22.0
- eslint-plugin-react: 7.31.8_eslint@8.22.0
+ eslint-plugin-react: 7.31.11_eslint@8.22.0
eslint-plugin-react-hooks: 4.6.0_eslint@8.22.0
typescript: 4.8.3
transitivePeerDependencies:
@@ -5007,7 +4945,7 @@ packages:
- supports-color
dev: true
- /eslint-config-next/12.3.1_p4cjf2r47dnfiqufepc5hp43sq:
+ /eslint-config-next/12.3.1_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-EN/xwKPU6jz1G0Qi6Bd/BqMnHLyRAL0VsaQaWA7F3KkjAgZHi4f1uL1JKGWNxdQpHTW/sdGONBd0bzxUka/DJg==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
@@ -5018,22 +4956,22 @@ packages:
dependencies:
'@next/eslint-plugin-next': 12.3.1
'@rushstack/eslint-patch': 1.2.0
- '@typescript-eslint/parser': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
eslint: 8.31.0
eslint-import-resolver-node: 0.3.6
eslint-import-resolver-typescript: 2.7.1_ol7jqilc3wemtdbq3nzhywgxq4
eslint-plugin-import: 2.26.0_o2ymnzkcx6ynnxgq4q5neiwzpe
eslint-plugin-jsx-a11y: 6.6.1_eslint@8.31.0
- eslint-plugin-react: 7.31.8_eslint@8.31.0
+ eslint-plugin-react: 7.31.11_eslint@8.31.0
eslint-plugin-react-hooks: 4.6.0_eslint@8.31.0
- typescript: 4.9.3
+ typescript: 4.9.4
transitivePeerDependencies:
- eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-config-prettier/8.5.0_eslint@8.22.0:
- resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
+ /eslint-config-prettier/8.6.0_eslint@8.22.0:
+ resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
@@ -5041,8 +4979,8 @@ packages:
eslint: 8.22.0
dev: true
- /eslint-config-prettier/8.5.0_eslint@8.31.0:
- resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
+ /eslint-config-prettier/8.6.0_eslint@8.31.0:
+ resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
@@ -5116,7 +5054,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
+ '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
debug: 3.2.7
eslint: 8.31.0
eslint-import-resolver-node: 0.3.6
@@ -5165,19 +5103,19 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 5.48.0_p4cjf2r47dnfiqufepc5hp43sq
- array-includes: 3.1.5
- array.prototype.flat: 1.3.0
+ '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
debug: 2.6.9
doctrine: 2.1.0
eslint: 8.31.0
eslint-import-resolver-node: 0.3.6
eslint-module-utils: 2.7.4_rwfyzivsgbql5kqdd6lovekmku
has: 1.0.3
- is-core-module: 2.10.0
+ is-core-module: 2.11.0
is-glob: 4.0.3
minimatch: 3.1.2
- object.values: 1.1.5
+ object.values: 1.1.6
resolve: 1.22.1
tsconfig-paths: 3.14.1
transitivePeerDependencies:
@@ -5197,18 +5135,18 @@ packages:
optional: true
dependencies:
'@typescript-eslint/parser': 5.48.0_76twfck5d7crjqrmw4yltga7zm
- array-includes: 3.1.5
- array.prototype.flat: 1.3.0
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
debug: 2.6.9
doctrine: 2.1.0
eslint: 8.22.0
eslint-import-resolver-node: 0.3.6
eslint-module-utils: 2.7.4_tq5q2x4pem2nmnr5fqx62jngeq
has: 1.0.3
- is-core-module: 2.10.0
+ is-core-module: 2.11.0
is-glob: 4.0.3
minimatch: 3.1.2
- object.values: 1.1.5
+ object.values: 1.1.6
resolve: 1.22.1
tsconfig-paths: 3.14.1
transitivePeerDependencies:
@@ -5223,18 +5161,18 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
aria-query: 4.2.2
- array-includes: 3.1.5
+ array-includes: 3.1.6
ast-types-flow: 0.0.7
- axe-core: 4.4.3
+ axe-core: 4.6.1
axobject-query: 2.2.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
eslint: 8.22.0
has: 1.0.3
jsx-ast-utils: 3.3.3
- language-tags: 1.0.5
+ language-tags: 1.0.7
minimatch: 3.1.2
semver: 6.3.0
dev: true
@@ -5245,23 +5183,40 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
aria-query: 4.2.2
- array-includes: 3.1.5
+ array-includes: 3.1.6
ast-types-flow: 0.0.7
- axe-core: 4.4.3
+ axe-core: 4.6.1
axobject-query: 2.2.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
eslint: 8.31.0
has: 1.0.3
jsx-ast-utils: 3.3.3
- language-tags: 1.0.5
+ language-tags: 1.0.7
minimatch: 3.1.2
semver: 6.3.0
dev: true
- /eslint-plugin-prettier/4.2.1_i2cojdczqdiurzgttlwdgf764e:
+ /eslint-plugin-prettier/4.2.1_32m5uc2milwdw3tnkcq5del26y:
+ resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ eslint: '>=7.28.0'
+ eslint-config-prettier: '*'
+ prettier: '>=2.0.0'
+ peerDependenciesMeta:
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: 8.31.0
+ eslint-config-prettier: 8.6.0_eslint@8.31.0
+ prettier: 2.8.1
+ prettier-linter-helpers: 1.0.0
+ dev: true
+
+ /eslint-plugin-prettier/4.2.1_qcim4gnz2p2xihlufogjc5ujra:
resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
engines: {node: '>=12.0.0'}
peerDependencies:
@@ -5273,25 +5228,8 @@ packages:
optional: true
dependencies:
eslint: 8.22.0
- eslint-config-prettier: 8.5.0_eslint@8.22.0
- prettier: 2.7.1
- prettier-linter-helpers: 1.0.0
- dev: true
-
- /eslint-plugin-prettier/4.2.1_vkmhlldugy3fnk7p2bqhsfnaiq:
- resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- eslint: '>=7.28.0'
- eslint-config-prettier: '*'
- prettier: '>=2.0.0'
- peerDependenciesMeta:
- eslint-config-prettier:
- optional: true
- dependencies:
- eslint: 8.31.0
- eslint-config-prettier: 8.5.0_eslint@8.31.0
- prettier: 2.7.1
+ eslint-config-prettier: 8.6.0_eslint@8.22.0
+ prettier: 2.8.1
prettier-linter-helpers: 1.0.0
dev: true
@@ -5313,50 +5251,52 @@ packages:
eslint: 8.31.0
dev: true
- /eslint-plugin-react/7.31.8_eslint@8.22.0:
- resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==}
+ /eslint-plugin-react/7.31.11_eslint@8.22.0:
+ resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- array-includes: 3.1.5
- array.prototype.flatmap: 1.3.0
+ array-includes: 3.1.6
+ array.prototype.flatmap: 1.3.1
+ array.prototype.tosorted: 1.1.1
doctrine: 2.1.0
eslint: 8.22.0
estraverse: 5.3.0
jsx-ast-utils: 3.3.3
minimatch: 3.1.2
- object.entries: 1.1.5
- object.fromentries: 2.0.5
- object.hasown: 1.1.1
- object.values: 1.1.5
+ object.entries: 1.1.6
+ object.fromentries: 2.0.6
+ object.hasown: 1.1.2
+ object.values: 1.1.6
prop-types: 15.8.1
resolve: 2.0.0-next.4
semver: 6.3.0
- string.prototype.matchall: 4.0.7
+ string.prototype.matchall: 4.0.8
dev: true
- /eslint-plugin-react/7.31.8_eslint@8.31.0:
- resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==}
+ /eslint-plugin-react/7.31.11_eslint@8.31.0:
+ resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- array-includes: 3.1.5
- array.prototype.flatmap: 1.3.0
+ array-includes: 3.1.6
+ array.prototype.flatmap: 1.3.1
+ array.prototype.tosorted: 1.1.1
doctrine: 2.1.0
eslint: 8.31.0
estraverse: 5.3.0
jsx-ast-utils: 3.3.3
minimatch: 3.1.2
- object.entries: 1.1.5
- object.fromentries: 2.0.5
- object.hasown: 1.1.1
- object.values: 1.1.5
+ object.entries: 1.1.6
+ object.fromentries: 2.0.6
+ object.hasown: 1.1.2
+ object.values: 1.1.6
prop-types: 15.8.1
resolve: 2.0.0-next.4
semver: 6.3.0
- string.prototype.matchall: 4.0.7
+ string.prototype.matchall: 4.0.8
dev: true
/eslint-scope/5.1.1:
@@ -5408,9 +5348,10 @@ packages:
/eslint/8.22.0:
resolution: {integrity: sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
dependencies:
- '@eslint/eslintrc': 1.3.2
- '@humanwhocodes/config-array': 0.10.4
+ '@eslint/eslintrc': 1.4.1
+ '@humanwhocodes/config-array': 0.10.7
'@humanwhocodes/gitignore-to-minimatch': 1.0.2
ajv: 6.12.6
chalk: 4.1.2
@@ -5421,7 +5362,7 @@ packages:
eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.22.0
eslint-visitor-keys: 3.3.0
- espree: 9.4.0
+ espree: 9.4.1
esquery: 1.4.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@@ -5429,10 +5370,10 @@ packages:
find-up: 5.0.0
functional-red-black-tree: 1.0.1
glob-parent: 6.0.2
- globals: 13.17.0
+ globals: 13.19.0
globby: 11.1.0
grapheme-splitter: 1.0.4
- ignore: 5.2.0
+ ignore: 5.2.4
import-fresh: 3.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
@@ -5470,7 +5411,7 @@ packages:
eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.31.0
eslint-visitor-keys: 3.3.0
- espree: 9.4.0
+ espree: 9.4.1
esquery: 1.4.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@@ -5479,7 +5420,7 @@ packages:
glob-parent: 6.0.2
globals: 13.19.0
grapheme-splitter: 1.0.4
- ignore: 5.2.0
+ ignore: 5.2.4
import-fresh: 3.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
@@ -5500,12 +5441,12 @@ packages:
- supports-color
dev: true
- /espree/9.4.0:
- resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==}
+ /espree/9.4.1:
+ resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.8.0
- acorn-jsx: 5.3.2_acorn@8.8.0
+ acorn: 8.8.1
+ acorn-jsx: 5.3.2_acorn@8.8.1
eslint-visitor-keys: 3.3.0
dev: true
@@ -5548,6 +5489,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /event-target-shim/5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+ dev: false
+
/eventemitter3/2.0.3:
resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==}
dev: false
@@ -5615,6 +5561,12 @@ packages:
tmp: 0.0.33
dev: true
+ /fake-indexeddb/4.0.1:
+ resolution: {integrity: sha512-hFRyPmvEZILYgdcLBxVdHLik4Tj3gDTu/g7s9ZDOiU3sTNiGx+vEu1ri/AMsFJUZ/1sdRbAVrEcKndh3sViBcA==}
+ dependencies:
+ realistic-structured-clone: 3.0.0
+ dev: true
+
/fast-deep-equal/3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
@@ -5646,8 +5598,8 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
- /fastq/1.13.0:
- resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
+ /fastq/1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
dev: true
@@ -5665,6 +5617,14 @@ packages:
bser: 2.1.1
dev: true
+ /fetch-blob/3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.2.1
+ dev: false
+
/file-entry-cache/6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -5785,6 +5745,13 @@ packages:
engines: {node: '>= 14.17'}
dev: true
+ /formdata-polyfill/4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+ dependencies:
+ fetch-blob: 3.2.0
+ dev: false
+
/fs-extra/7.0.1:
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
engines: {node: '>=6 <7 || >=8'}
@@ -5838,7 +5805,7 @@ packages:
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
functions-have-names: 1.2.3
dev: true
@@ -5937,13 +5904,6 @@ packages:
engines: {node: '>=4'}
dev: true
- /globals/13.17.0:
- resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
/globals/13.19.0:
resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==}
engines: {node: '>=8'}
@@ -5958,7 +5918,7 @@ packages:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.2.12
- ignore: 5.2.0
+ ignore: 5.2.4
merge2: 1.4.1
slash: 3.0.0
dev: true
@@ -5974,6 +5934,12 @@ packages:
pinkie-promise: 2.0.1
dev: true
+ /gopd/1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.1.3
+ dev: true
+
/got/12.5.3:
resolution: {integrity: sha512-8wKnb9MGU8IPGRIo+/ukTy9XLJBwDiCpIf5TVzQ9Cpol50eMTpBq2GAuDsuDIz7hTYmZgMgC1e9ydr6kSDWs3w==}
engines: {node: '>=14.16'}
@@ -5981,7 +5947,7 @@ packages:
'@sindresorhus/is': 5.3.0
'@szmarczak/http-timer': 5.0.1
cacheable-lookup: 7.0.0
- cacheable-request: 10.2.3
+ cacheable-request: 10.2.4
decompress-response: 6.0.0
form-data-encoder: 2.1.4
get-stream: 6.0.1
@@ -6069,10 +6035,11 @@ packages:
/html-tokenize/2.0.1:
resolution: {integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==}
+ hasBin: true
dependencies:
buffer-from: 0.1.2
inherits: 2.0.4
- minimist: 1.2.6
+ minimist: 1.2.7
readable-stream: 1.0.34
through2: 0.4.2
dev: false
@@ -6107,8 +6074,8 @@ packages:
engines: {node: '>=12.20.0'}
dev: true
- /husky/8.0.2:
- resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==}
+ /husky/8.0.3:
+ resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==}
engines: {node: '>=14'}
hasBin: true
dev: true
@@ -6116,7 +6083,7 @@ packages:
/i18next/21.10.0:
resolution: {integrity: sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==}
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
dev: false
/iconv-lite/0.4.24:
@@ -6151,8 +6118,8 @@ packages:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
dev: false
- /ignore/5.2.0:
- resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
+ /ignore/5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
dev: true
@@ -6192,8 +6159,8 @@ packages:
/inherits/2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- /internal-slot/1.0.3:
- resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
+ /internal-slot/1.0.4:
+ resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==}
engines: {node: '>= 0.4'}
dependencies:
get-intrinsic: 1.1.3
@@ -6232,8 +6199,8 @@ packages:
has-tostringtag: 1.0.0
dev: true
- /is-callable/1.2.6:
- resolution: {integrity: sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q==}
+ /is-callable/1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
dev: true
@@ -6241,11 +6208,11 @@ packages:
resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
hasBin: true
dependencies:
- ci-info: 3.7.0
+ ci-info: 3.7.1
dev: true
- /is-core-module/2.10.0:
- resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
+ /is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
dependencies:
has: 1.0.3
@@ -6421,8 +6388,8 @@ packages:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
engines: {node: '>=8'}
dependencies:
- '@babel/core': 7.20.5
- '@babel/parser': 7.20.5
+ '@babel/core': 7.20.7
+ '@babel/parser': 7.20.7
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.0
semver: 6.3.0
@@ -6544,13 +6511,13 @@ packages:
ts-node:
optional: true
dependencies:
- '@babel/core': 7.20.5
+ '@babel/core': 7.20.7
'@jest/test-sequencer': 29.3.1
'@jest/types': 29.3.1
'@types/node': 18.11.18
- babel-jest: 29.3.1_@babel+core@7.20.5
+ babel-jest: 29.3.1_@babel+core@7.20.7
chalk: 4.1.2
- ci-info: 3.7.0
+ ci-info: 3.7.1
deepmerge: 4.2.2
glob: 7.2.3
graceful-fs: 4.2.10
@@ -6782,18 +6749,18 @@ packages:
resolution: {integrity: sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/core': 7.20.5
- '@babel/generator': 7.20.5
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.5
- '@babel/traverse': 7.20.5
- '@babel/types': 7.19.4
+ '@babel/core': 7.20.7
+ '@babel/generator': 7.20.7
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.7
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.7
+ '@babel/traverse': 7.20.10
+ '@babel/types': 7.20.7
'@jest/expect-utils': 29.3.1
'@jest/transform': 29.3.1
'@jest/types': 29.3.1
'@types/babel__traverse': 7.18.3
- '@types/prettier': 2.7.1
- babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.5
+ '@types/prettier': 2.7.2
+ babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.7
chalk: 4.1.2
expect: 29.3.1
graceful-fs: 4.2.10
@@ -6805,7 +6772,7 @@ packages:
jest-util: 29.3.1
natural-compare: 1.4.0
pretty-format: 29.3.1
- semver: 7.3.7
+ semver: 7.3.8
transitivePeerDependencies:
- supports-color
dev: true
@@ -6817,7 +6784,7 @@ packages:
'@jest/types': 29.3.1
'@types/node': 18.11.18
chalk: 4.1.2
- ci-info: 3.7.0
+ ci-info: 3.7.1
graceful-fs: 4.2.10
picomatch: 2.3.1
dev: true
@@ -6913,6 +6880,7 @@ packages:
/js-yaml/4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
dependencies:
argparse: 2.0.1
dev: true
@@ -6951,15 +6919,15 @@ packages:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
- /json5/1.0.1:
- resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
+ /json5/1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
hasBin: true
dependencies:
- minimist: 1.2.6
+ minimist: 1.2.7
dev: true
- /json5/2.2.1:
- resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
+ /json5/2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
dev: true
@@ -6987,7 +6955,7 @@ packages:
resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
engines: {node: '>=4.0'}
dependencies:
- array-includes: 3.1.5
+ array-includes: 3.1.6
object.assign: 4.1.4
dev: true
@@ -7012,6 +6980,21 @@ packages:
engines: {node: '>=6'}
dev: true
+ /ky-universal/0.11.0_ky@0.33.1:
+ resolution: {integrity: sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==}
+ engines: {node: '>=14.16'}
+ peerDependencies:
+ ky: '>=0.31.4'
+ web-streams-polyfill: '>=3.2.1'
+ peerDependenciesMeta:
+ web-streams-polyfill:
+ optional: true
+ dependencies:
+ abort-controller: 3.0.0
+ ky: 0.33.1
+ node-fetch: 3.3.0
+ dev: false
+
/ky/0.33.1:
resolution: {integrity: sha512-zZ9OlhgM4UEunvgJBH1bBl7+a7vas1HnCLSezu2CJawc4Ka+yJculRAVKbakUece4gW7kC5Dz+UGvbXIlpDt1w==}
engines: {node: '>=14.16'}
@@ -7021,8 +7004,8 @@ packages:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
- /language-tags/1.0.5:
- resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
+ /language-tags/1.0.7:
+ resolution: {integrity: sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==}
dependencies:
language-subtag-registry: 0.3.22
dev: true
@@ -7040,13 +7023,6 @@ packages:
type-check: 0.4.0
dev: true
- /lib0/0.2.52:
- resolution: {integrity: sha512-CjxlM7UgICfN6b2OPALBXchIBiNk6jE+1g7JP8ha+dh1xKRDSYpH0WQl1+rMqCju49xUnwPG34v4CR5/rPOZhg==}
- engines: {node: '>=14'}
- dependencies:
- isomorphic.js: 0.2.5
- dev: false
-
/lib0/0.2.58:
resolution: {integrity: sha512-6ovqPaYfOKU7GkkVxz/wjMR0zsqmNsISLvH+h9Lx5YNtWDZey69aYsTGXaSVpUPpJ+ZFtIvcZHsTGL3MbwOM8A==}
engines: {node: '>=14'}
@@ -7107,14 +7083,8 @@ packages:
/lit-element/3.2.2:
resolution: {integrity: sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==}
dependencies:
- '@lit/reactive-element': 1.4.1
- lit-html: 2.4.0
- dev: false
-
- /lit-html/2.4.0:
- resolution: {integrity: sha512-G6qXu4JNUpY6aaF2VMfaszhO9hlWw0hOTRFDmuMheg/nDYGB+2RztUSOyrzALAbr8Nh0Y7qjhYkReh3rPnplVg==}
- dependencies:
- '@types/trusted-types': 2.0.2
+ '@lit/reactive-element': 1.5.0
+ lit-html: 2.5.0
dev: false
/lit-html/2.5.0:
@@ -7123,14 +7093,6 @@ packages:
'@types/trusted-types': 2.0.2
dev: false
- /lit/2.4.0:
- resolution: {integrity: sha512-fdgzxEtLrZFQU/BqTtxFQCLwlZd9bdat+ltzSFjvWkZrs7eBmeX0L5MHUMb3kYIkuS8Xlfnii/iI5klirF8/Xg==}
- dependencies:
- '@lit/reactive-element': 1.4.1
- lit-element: 3.2.2
- lit-html: 2.4.0
- dev: false
-
/lit/2.5.0:
resolution: {integrity: sha512-DtnUP6vR3l4Q8nRPPNBD+UxbAhwJPeky+OVbi3pdgMqm0g57xFSl1Sj64D1rIB+nVNdiVVg8YxB0hqKjvdadZA==}
dependencies:
@@ -7155,7 +7117,7 @@ packages:
dependencies:
big.js: 5.2.2
emojis-list: 3.0.0
- json5: 2.2.1
+ json5: 2.2.3
dev: true
/locate-path/5.0.0:
@@ -7219,6 +7181,7 @@ packages:
/loose-envify/1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
dependencies:
js-tokens: 4.0.0
@@ -7367,8 +7330,8 @@ packages:
kind-of: 6.0.3
dev: true
- /minimist/1.2.6:
- resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
+ /minimist/1.2.7:
+ resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
/mixme/0.5.4:
resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==}
@@ -7432,8 +7395,8 @@ packages:
- webpack
dev: true
- /next/12.3.1_biqbaboplfbrettd7655fr4n2y:
- resolution: {integrity: sha512-l7bvmSeIwX5lp07WtIiP9u2ytZMv7jIeB8iacR28PuUEFG5j0HGAPnMqyG5kbZNBG2H7tRsrQ4HCjuMOPnANZw==}
+ /next/12.3.4_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==}
engines: {node: '>=12.22.0'}
hasBin: true
peerDependencies:
@@ -7450,28 +7413,28 @@ packages:
sass:
optional: true
dependencies:
- '@next/env': 12.3.1
+ '@next/env': 12.3.4
'@swc/helpers': 0.4.11
- caniuse-lite: 1.0.30001419
+ caniuse-lite: 1.0.30001441
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.0.7_react@18.2.0
use-sync-external-store: 1.2.0_react@18.2.0
optionalDependencies:
- '@next/swc-android-arm-eabi': 12.3.1
- '@next/swc-android-arm64': 12.3.1
- '@next/swc-darwin-arm64': 12.3.1
- '@next/swc-darwin-x64': 12.3.1
- '@next/swc-freebsd-x64': 12.3.1
- '@next/swc-linux-arm-gnueabihf': 12.3.1
- '@next/swc-linux-arm64-gnu': 12.3.1
- '@next/swc-linux-arm64-musl': 12.3.1
- '@next/swc-linux-x64-gnu': 12.3.1
- '@next/swc-linux-x64-musl': 12.3.1
- '@next/swc-win32-arm64-msvc': 12.3.1
- '@next/swc-win32-ia32-msvc': 12.3.1
- '@next/swc-win32-x64-msvc': 12.3.1
+ '@next/swc-android-arm-eabi': 12.3.4
+ '@next/swc-android-arm64': 12.3.4
+ '@next/swc-darwin-arm64': 12.3.4
+ '@next/swc-darwin-x64': 12.3.4
+ '@next/swc-freebsd-x64': 12.3.4
+ '@next/swc-linux-arm-gnueabihf': 12.3.4
+ '@next/swc-linux-arm64-gnu': 12.3.4
+ '@next/swc-linux-arm64-musl': 12.3.4
+ '@next/swc-linux-x64-gnu': 12.3.4
+ '@next/swc-linux-x64-musl': 12.3.4
+ '@next/swc-win32-arm64-msvc': 12.3.4
+ '@next/swc-win32-ia32-msvc': 12.3.4
+ '@next/swc-win32-x64-msvc': 12.3.4
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@@ -7497,7 +7460,7 @@ packages:
dependencies:
'@next/env': 13.1.0
'@swc/helpers': 0.4.14
- caniuse-lite: 1.0.30001419
+ caniuse-lite: 1.0.30001441
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
@@ -7520,6 +7483,11 @@ packages:
- '@babel/core'
- babel-plugin-macros
+ /node-domexception/1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+ dev: false
+
/node-fetch/2.6.7_encoding@0.1.13:
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
engines: {node: 4.x || >=6.0.0}
@@ -7533,12 +7501,21 @@ packages:
whatwg-url: 5.0.0
dev: false
+ /node-fetch/3.3.0:
+ resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ data-uri-to-buffer: 4.0.0
+ fetch-blob: 3.2.0
+ formdata-polyfill: 4.0.10
+ dev: false
+
/node-int64/0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
dev: true
- /node-releases/2.0.6:
- resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
+ /node-releases/2.0.8:
+ resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==}
dev: true
/normalize-package-data/2.5.0:
@@ -7608,38 +7585,38 @@ packages:
object-keys: 1.1.1
dev: true
- /object.entries/1.1.5:
- resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==}
+ /object.entries/1.1.6:
+ resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
- /object.fromentries/2.0.5:
- resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==}
+ /object.fromentries/2.0.6:
+ resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
- /object.hasown/1.1.1:
- resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==}
+ /object.hasown/1.1.2:
+ resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
dependencies:
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
- /object.values/1.1.5:
- resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==}
+ /object.values/1.1.6:
+ resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
/once/1.4.0:
@@ -7878,9 +7855,10 @@ packages:
fast-diff: 1.2.0
dev: true
- /prettier/2.7.1:
- resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
+ /prettier/2.8.1:
+ resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==}
engines: {node: '>=10.13.0'}
+ hasBin: true
/pretty-bytes/5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
@@ -8037,7 +8015,7 @@ packages:
react-native:
optional: true
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
html-parse-stringify: 3.0.1
i18next: 21.10.0
react: 18.2.0
@@ -8063,7 +8041,7 @@ packages:
'@types/react': 18.0.20
react: 18.2.0
react-style-singleton: 2.2.1_w5j4k42lgipnm43s3brx6h3c34
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/react-remove-scroll/2.5.4_w5j4k42lgipnm43s3brx6h3c34:
@@ -8080,7 +8058,7 @@ packages:
react: 18.2.0
react-remove-scroll-bar: 2.3.4_w5j4k42lgipnm43s3brx6h3c34
react-style-singleton: 2.2.1_w5j4k42lgipnm43s3brx6h3c34
- tslib: 2.4.0
+ tslib: 2.4.1
use-callback-ref: 1.3.0_w5j4k42lgipnm43s3brx6h3c34
use-sidecar: 1.1.2_w5j4k42lgipnm43s3brx6h3c34
dev: false
@@ -8099,7 +8077,7 @@ packages:
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/react-transition-group/4.4.5_biqbaboplfbrettd7655fr4n2y:
@@ -8108,7 +8086,7 @@ packages:
react: '>=16.6.0'
react-dom: '>=16.6.0'
dependencies:
- '@babel/runtime': 7.19.0
+ '@babel/runtime': 7.20.7
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -8181,6 +8159,14 @@ packages:
util-deprecate: 1.0.2
dev: false
+ /realistic-structured-clone/3.0.0:
+ resolution: {integrity: sha512-rOjh4nuWkAqf9PWu6JVpOWD4ndI+JHfgiZeMmujYcPi+fvILUu7g6l26TC1K5aBIp34nV+jE1cDO75EKOfHC5Q==}
+ dependencies:
+ domexception: 1.0.1
+ typeson: 6.1.0
+ typeson-registry: 1.0.0-alpha.39
+ dev: true
+
/redent/3.0.0:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
@@ -8203,9 +8189,6 @@ packages:
/regenerator-runtime/0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- /regenerator-runtime/0.13.9:
- resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
-
/regenerator-transform/0.15.1:
resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==}
dependencies:
@@ -8288,15 +8271,17 @@ packages:
/resolve/1.22.1:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ hasBin: true
dependencies:
- is-core-module: 2.10.0
+ is-core-module: 2.11.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
/resolve/2.0.0-next.4:
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
+ hasBin: true
dependencies:
- is-core-module: 2.10.0
+ is-core-module: 2.11.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
@@ -8334,6 +8319,7 @@ packages:
/rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
dependencies:
glob: 7.2.3
dev: true
@@ -8368,7 +8354,7 @@ packages:
/rxjs/7.8.0:
resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
dependencies:
- tslib: 2.4.0
+ tslib: 2.4.1
dev: true
/safari-14-idb-fix/3.0.0:
@@ -8382,6 +8368,14 @@ packages:
/safe-buffer/5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ /safe-regex-test/1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.3
+ is-regex: 1.1.4
+ dev: true
+
/safer-buffer/2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
@@ -8418,8 +8412,8 @@ packages:
hasBin: true
dev: true
- /semver/7.3.7:
- resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
+ /semver/7.3.8:
+ resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -8532,7 +8526,7 @@ packages:
engines: {node: '>=6'}
hasBin: true
dependencies:
- array.prototype.flat: 1.3.0
+ array.prototype.flat: 1.3.1
breakword: 1.0.5
grapheme-splitter: 1.0.4
strip-ansi: 6.0.1
@@ -8660,33 +8654,33 @@ packages:
strip-ansi: 7.0.1
dev: true
- /string.prototype.matchall/4.0.7:
- resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==}
+ /string.prototype.matchall/4.0.8:
+ resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
get-intrinsic: 1.1.3
has-symbols: 1.0.3
- internal-slot: 1.0.3
+ internal-slot: 1.0.4
regexp.prototype.flags: 1.4.3
side-channel: 1.0.4
dev: true
- /string.prototype.trimend/1.0.5:
- resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==}
+ /string.prototype.trimend/1.0.6:
+ resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
- /string.prototype.trimstart/1.0.5:
- resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==}
+ /string.prototype.trimstart/1.0.6:
+ resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
dependencies:
call-bind: 1.0.2
define-properties: 1.1.4
- es-abstract: 1.20.2
+ es-abstract: 1.20.5
dev: true
/string_decoder/0.10.31:
@@ -8796,8 +8790,8 @@ packages:
client-only: 0.0.1
react: 18.2.0
- /stylis/4.0.13:
- resolution: {integrity: sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==}
+ /stylis/4.1.3:
+ resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
dev: false
/supports-color/5.5.0:
@@ -8882,7 +8876,7 @@ packages:
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.2
- acorn: 8.8.0
+ acorn: 8.8.1
commander: 2.20.3
source-map-support: 0.5.21
dev: true
@@ -8942,12 +8936,19 @@ packages:
punycode: 2.1.1
dev: true
+ /tr46/2.1.0:
+ resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
+ engines: {node: '>=8'}
+ dependencies:
+ punycode: 2.1.1
+ dev: true
+
/trim-newlines/3.0.1:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'}
dev: true
- /ts-jest/29.0.3_4f6uxrzmuwipl5rr3bcogf6k74:
+ /ts-jest/29.0.3_p6ekqnroyms5nhqbfxosryz7rm:
resolution: {integrity: sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
@@ -8972,11 +8973,11 @@ packages:
fast-json-stable-stringify: 2.1.0
jest: 29.3.1_@types+node@18.11.18
jest-util: 29.3.1
- json5: 2.2.1
+ json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
- semver: 7.3.7
- typescript: 4.9.3
+ semver: 7.3.8
+ typescript: 4.9.4
yargs-parser: 21.1.1
dev: true
@@ -8984,8 +8985,8 @@ packages:
resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
dependencies:
'@types/json5': 0.0.29
- json5: 1.0.1
- minimist: 1.2.6
+ json5: 1.0.2
+ minimist: 1.2.7
strip-bom: 3.0.0
dev: true
@@ -8993,8 +8994,8 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true
- /tslib/2.4.0:
- resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
+ /tslib/2.4.1:
+ resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
/tsutils/3.21.0_typescript@4.8.3:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
@@ -9006,14 +9007,14 @@ packages:
typescript: 4.8.3
dev: true
- /tsutils/3.21.0_typescript@4.9.3:
+ /tsutils/3.21.0_typescript@4.9.4:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
- typescript: 4.9.3
+ typescript: 4.9.4
dev: true
/tty-table/4.1.6:
@@ -9084,16 +9085,24 @@ packages:
hasBin: true
dev: true
- /typescript/4.8.4:
- resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==}
+ /typescript/4.9.4:
+ resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: true
- /typescript/4.9.3:
- resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
- engines: {node: '>=4.2.0'}
- hasBin: true
+ /typeson-registry/1.0.0-alpha.39:
+ resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ base64-arraybuffer-es6: 0.7.0
+ typeson: 6.1.0
+ whatwg-url: 8.7.0
+ dev: true
+
+ /typeson/6.1.0:
+ resolution: {integrity: sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==}
+ engines: {node: '>=0.1.14'}
dev: true
/unbox-primitive/1.0.2:
@@ -9179,7 +9188,7 @@ packages:
dependencies:
'@types/react': 18.0.20
react: 18.2.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/use-sidecar/1.1.2_w5j4k42lgipnm43s3brx6h3c34:
@@ -9195,7 +9204,7 @@ packages:
'@types/react': 18.0.20
detect-node-es: 1.1.0
react: 18.2.0
- tslib: 2.4.0
+ tslib: 2.4.1
dev: false
/use-sync-external-store/1.2.0:
@@ -9253,6 +9262,11 @@ packages:
defaults: 1.0.4
dev: true
+ /web-streams-polyfill/3.2.1:
+ resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
+ engines: {node: '>= 8'}
+ dev: false
+
/webidl-conversions/3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
dev: false
@@ -9261,6 +9275,11 @@ packages:
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
dev: true
+ /webidl-conversions/6.1.0:
+ resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
+ engines: {node: '>=10.4'}
+ dev: true
+
/webpack-sources/1.4.3:
resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
dependencies:
@@ -9297,6 +9316,15 @@ packages:
webidl-conversions: 4.0.2
dev: true
+ /whatwg-url/8.7.0:
+ resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
+ engines: {node: '>=10'}
+ dependencies:
+ lodash: 4.17.21
+ tr46: 2.1.0
+ webidl-conversions: 6.1.0
+ dev: true
+
/which-boxed-primitive/1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
dependencies:
@@ -9329,6 +9357,7 @@ packages:
/which/2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
+ hasBin: true
dependencies:
isexe: 2.0.0
dev: true
@@ -9356,10 +9385,10 @@ packages:
engines: {node: '>=10.0.0'}
dependencies:
'@apideck/better-ajv-errors': 0.3.6_ajv@8.11.2
- '@babel/core': 7.20.5
- '@babel/preset-env': 7.20.2_@babel+core@7.20.5
- '@babel/runtime': 7.19.0
- '@rollup/plugin-babel': 5.3.1_opjstonlpkhafnz76jsxdwq25a
+ '@babel/core': 7.20.7
+ '@babel/preset-env': 7.20.2_@babel+core@7.20.7
+ '@babel/runtime': 7.20.7
+ '@rollup/plugin-babel': 5.3.1_quedi3p7womesqmjrcxptomfpa
'@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1
'@rollup/plugin-replace': 2.4.2_rollup@2.79.1
'@surma/rollup-plugin-off-main-thread': 2.2.3
@@ -9667,7 +9696,7 @@ packages:
/yjs/13.5.44:
resolution: {integrity: sha512-UL+abIh2lQonqXfaJ+en7z9eGshpY11j1zNLc2kDYs0vrTjee4gZJUXC3ZsuhP6geQt0IRU04epCGRaVPQAVCA==}
dependencies:
- lib0: 0.2.52
+ lib0: 0.2.58
dev: false
/yocto-queue/0.1.0:
diff --git a/tests/libs/load-page.ts b/tests/libs/load-page.ts
index 002341de65..a93b54fd36 100644
--- a/tests/libs/load-page.ts
+++ b/tests/libs/load-page.ts
@@ -1,7 +1,11 @@
import { test } from '@playwright/test';
+import type { Page } from '@playwright/test';
+interface IType {
+ page: Page;
+}
export function loadPage() {
- test.beforeEach(async ({ page }) => {
+ test.beforeEach(async ({ page }: IType) => {
await page.goto('http://localhost:8080');
// waiting for page loading end
// await page.waitForTimeout(1000);
diff --git a/tests/libs/page-logic.ts b/tests/libs/page-logic.ts
index bd4ae625a5..09385a4cb0 100644
--- a/tests/libs/page-logic.ts
+++ b/tests/libs/page-logic.ts
@@ -1,8 +1,10 @@
-export async function newPage(page) {
+import type { Page } from '@playwright/test';
+
+export async function newPage(page: Page) {
return page.getByTestId('sliderBar').getByText('New Page').click();
}
-export async function clickPageMoreActions(page) {
+export async function clickPageMoreActions(page: Page) {
return page
.getByTestId('editor-header-items')
.getByRole('button')
diff --git a/tests/login.spec.ts b/tests/login.spec.ts
index b519bffa21..39cda40b09 100644
--- a/tests/login.spec.ts
+++ b/tests/login.spec.ts
@@ -24,21 +24,22 @@ test.describe('Login Flow', () => {
.click();
});
- test('Open google firebase page', async ({ page }) => {
- await page.getByTestId('current-workspace').click();
- await page.waitForTimeout(800);
- // why don't we use waitForSelector, It seems that waitForSelector not stable?
- await page.getByTestId('open-login-modal').click();
- await page.waitForTimeout(800);
- const [firebasePage] = await Promise.all([
- page.waitForEvent('popup'),
- page
- .getByRole('button', {
- name: 'Google Continue with Google Set up an AFFiNE account to sync data',
- })
- .click(),
- ]);
+ // not stable
+ // test.skip('Open google firebase page', async ({ page }) => {
+ // await page.getByTestId('current-workspace').click();
+ // await page.waitForTimeout(800);
+ // // why don't we use waitForSelector, It seems that waitForSelector not stable?
+ // await page.getByTestId('open-login-modal').click();
+ // await page.waitForTimeout(800);
+ // const [firebasePage] = await Promise.all([
+ // page.waitForEvent('popup'),
+ // page
+ // .getByRole('button', {
+ // name: 'Google Continue with Google Set up an AFFiNE account to sync data',
+ // })
+ // .click(),
+ // ]);
- expect(firebasePage.url()).toContain('.firebaseapp.com/__/auth/handler');
- });
+ // expect(firebasePage.url()).toContain('.firebaseapp.com/__/auth/handler');
+ // });
});
diff --git a/tests/quick-search.spec.ts b/tests/quick-search.spec.ts
index 8fdd515889..242e09bc51 100644
--- a/tests/quick-search.spec.ts
+++ b/tests/quick-search.spec.ts
@@ -1,38 +1,26 @@
import { test, expect, type Page } from '@playwright/test';
import { loadPage } from './libs/load-page';
import { withCtrlOrMeta } from './libs/keyboard';
-
+import { newPage } from './libs/page-logic';
loadPage();
const openQuickSearchByShortcut = async (page: Page) =>
await withCtrlOrMeta(page, () => page.keyboard.press('k', { delay: 50 }));
-async function assertTitleTexts(
- page: Page,
- texts: string[],
- option?: { delay: number }
-) {
- await page.mouse.move(100, 100);
+async function assertTitleTexts(page: Page, texts: string[]) {
const actual = await page
- .locator('[class=affine-default-page-block-title]')
- .allInnerTexts();
- await page.waitForTimeout(option?.delay || 0);
-
+ .locator('.affine-default-page-block-title')
+ .allTextContents();
expect(actual).toEqual(texts);
}
-async function assertResultList(
- page: Page,
- texts: string[],
- option?: { delay: number }
-) {
- await page.mouse.move(100, 100);
+async function assertResultList(page: Page, texts: string[]) {
const actual = await page.locator('[cmdk-item]').allInnerTexts();
- await page.waitForTimeout(option?.delay || 0);
expect(actual).toEqual(texts);
}
test.describe('Open quick search', () => {
test('Click slider bar button', async ({ page }) => {
+ await newPage(page);
const quickSearchButton = page.locator(
'[data-testid=sliderBar-quickSearchButton]'
);
@@ -42,7 +30,7 @@ test.describe('Open quick search', () => {
});
test('Click arrowDown icon after title', async ({ page }) => {
- //header-quickSearchButton
+ await newPage(page);
const quickSearchButton = page.locator(
'[data-testid=header-quickSearchButton]'
);
@@ -51,58 +39,48 @@ test.describe('Open quick search', () => {
await expect(quickSearch).toBeVisible();
});
- // test('Press the shortcut key cmd+k', async ({ page }) => {
- // // why 1000ms page wait?
- // page.waitForTimeout(1000);
- // await openQuickSearchByShortcut(page);
- // const quickSearch = page.locator('[data-testid=quickSearch]');
-
- // await expect(quickSearch).toBeVisible();
- // });
+ test('Press the shortcut key cmd+k', async ({ page }) => {
+ await newPage(page);
+ await openQuickSearchByShortcut(page);
+ const quickSearch = page.locator('[data-testid=quickSearch]');
+ await expect(quickSearch).toBeVisible();
+ });
});
test.describe('Add new page in quick search', () => {
// FIXME: not working
- test.skip('Create a new page without keyword', async ({ page }) => {
+ test('Create a new page without keyword', async ({ page }) => {
+ await newPage(page);
await openQuickSearchByShortcut(page);
const addNewPage = page.locator('[data-testid=quickSearch-addNewPage]');
await addNewPage.click();
- await assertTitleTexts(page, [''], { delay: 50 });
+ await page.waitForTimeout(200);
+ await assertTitleTexts(page, ['']);
});
- test.skip('Create a new page with keyword', async ({ page }) => {
+ test('Create a new page with keyword', async ({ page }) => {
+ await newPage(page);
await openQuickSearchByShortcut(page);
- await page.keyboard.insertText('test');
+ await page.keyboard.insertText('test123456');
const addNewPage = page.locator('[data-testid=quickSearch-addNewPage]');
await addNewPage.click();
- await assertTitleTexts(page, ['test'], { delay: 50 });
+ await page.waitForTimeout(200);
+ await assertTitleTexts(page, ['test123456']);
});
});
test.describe('Search and select', () => {
- // test('Search and get results', async ({ page }) => {
- // // why 1000ms page wait?
- // await openQuickSearchByShortcut(page);
- // await page.keyboard.insertText('Welcome');
- // await assertResultList(page, ['Welcome to the AFFiNE Alpha'], {
- // delay: 50,
- // });
- // });
- //TODO FIXME: This test is not working
- test.skip('Create a new page and search this page', async ({ page }) => {
+ test('Create a new page and search this page', async ({ page }) => {
+ await newPage(page);
await openQuickSearchByShortcut(page);
- await page.keyboard.insertText('Welcome');
+ await page.keyboard.insertText('test123456');
const addNewPage = page.locator('[data-testid=quickSearch-addNewPage]');
await addNewPage.click();
- await page.waitForTimeout(500);
+ await page.waitForTimeout(200);
await openQuickSearchByShortcut(page);
- await page.keyboard.insertText('Welcome');
- await assertResultList(page, ['Welcome to the AFFiNE Alpha', 'Welcome']);
-
- await page.keyboard.press('ArrowDown', { delay: 50 });
+ await page.keyboard.insertText('test123456');
+ await assertResultList(page, ['test123456']);
await page.keyboard.press('Enter', { delay: 50 });
- await assertTitleTexts(page, ['Welcome'], {
- delay: 50,
- });
+ await assertTitleTexts(page, ['test123456']);
});
});