Integrate chopsticks (#9965)
* fork locally feature * use chopsticks provider * update * test locally * update provider usage * upgrade chospticks * upgrade chopsticks * fix lint * remove extra code * add setStorage back with alice * update chopsticks * update chopsticks * updade chospticks version * fix: chopsticks version * fix: update and testing * fix: remove isLocalFork from global var
This commit is contained in:
parent
fb534d079a
commit
8208fc5a4a
@ -16,6 +16,7 @@
|
||||
"type": "module",
|
||||
"version": "0.133.2-96-x",
|
||||
"dependencies": {
|
||||
"@acala-network/chopsticks-core": "^0.9.8",
|
||||
"@polkadot/apps-config": "^0.133.2-96-x",
|
||||
"@polkadot/apps-routing": "^0.133.2-96-x",
|
||||
"@polkadot/dev": "^0.78.4",
|
||||
|
||||
@ -2,8 +2,10 @@
|
||||
"Accounts": "Accounts",
|
||||
"Developer": "Developer",
|
||||
"Files": "Files",
|
||||
"Fork Locally": "Fork Locally",
|
||||
"Governance": "Governance",
|
||||
"Initializing connection": "Initializing connection",
|
||||
"Local fork powered by ": "Local fork powered by ",
|
||||
"Network": "Network",
|
||||
"Relay chain": "Relay chain",
|
||||
"Settings": "Settings",
|
||||
|
||||
@ -277,6 +277,7 @@
|
||||
"Forget": "",
|
||||
"Forget this account": "",
|
||||
"Forget this address": "",
|
||||
"Fork Locally": "",
|
||||
"Forks": "",
|
||||
"Free balance": "",
|
||||
"From JSON": "",
|
||||
@ -338,6 +339,7 @@
|
||||
"Lifetime (# of blocks)": "",
|
||||
"Light theme": "",
|
||||
"Loading": "",
|
||||
"Local fork powered by ": "",
|
||||
"Locked funds (e.g. for staking) are counted.": "",
|
||||
"Locked1x": "",
|
||||
"Locked2x": "",
|
||||
|
||||
@ -215,6 +215,7 @@
|
||||
"Forget this asset": "忘记这个资产",
|
||||
"Forget this code hash": "忘记这个代码哈希",
|
||||
"Forget this contract": "忘记该合约",
|
||||
"Fork Locally": "本地分叉",
|
||||
"Forks": "(Forks)分叉",
|
||||
"Full Legal Name": "法定全称",
|
||||
"Future versions of the web-only interface will drop support for non-external accounts, much like the IPFS version.": "未来版本的纯 web 界面将不再支持非外部帐户,这与 IPFS 版本非常相似。",
|
||||
|
||||
@ -12,8 +12,8 @@ import Signer from '@polkadot/react-signer';
|
||||
|
||||
import Content from './Content/index.js';
|
||||
import Menu from './Menu/index.js';
|
||||
import BottomOverlay from './overlays/Bottom.js';
|
||||
import ConnectingOverlay from './overlays/Connecting.js';
|
||||
import DotAppsOverlay from './overlays/DotApps.js';
|
||||
import WarmUp from './WarmUp.js';
|
||||
|
||||
export const PORTAL_ID = 'portals';
|
||||
@ -39,7 +39,7 @@ function Apps ({ className = '' }: Props): React.ReactElement<Props> {
|
||||
<Content />
|
||||
</Signer>
|
||||
<ConnectingOverlay />
|
||||
<DotAppsOverlay />
|
||||
<BottomOverlay />
|
||||
<div id={PORTAL_ID} />
|
||||
</AccountSidebar>
|
||||
</StyledDiv>
|
||||
|
||||
@ -120,7 +120,11 @@ function loadAffinities (groups: Group[]): Record<string, string> {
|
||||
|
||||
function isSwitchDisabled (hasUrlChanged: boolean, apiUrl: string, isUrlValid: boolean): boolean {
|
||||
if (!hasUrlChanged) {
|
||||
return true;
|
||||
if (store.get('isLocalFork')) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
} else if (apiUrl.startsWith('light://')) {
|
||||
return false;
|
||||
} else if (isUrlValid) {
|
||||
@ -130,6 +134,22 @@ function isSwitchDisabled (hasUrlChanged: boolean, apiUrl: string, isUrlValid: b
|
||||
return true;
|
||||
}
|
||||
|
||||
function isLocalForkDisabled (hasUrlChanged: boolean, apiUrl: string, isUrlValid: boolean): boolean {
|
||||
if (!hasUrlChanged) {
|
||||
if (store.get('isLocalFork')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else if (apiUrl.startsWith('light://')) {
|
||||
return true;
|
||||
} else if (isUrlValid) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function Endpoints ({ className = '', offset, onClose }: Props): React.ReactElement<Props> {
|
||||
const { t } = useTranslation();
|
||||
const linkOptions = createWsEndpoints(t);
|
||||
@ -223,12 +243,32 @@ function Endpoints ({ className = '', offset, onClose }: Props): React.ReactElem
|
||||
|
||||
const _onApply = useCallback(
|
||||
(): void => {
|
||||
store.set('isLocalFork', false);
|
||||
settings.set({ ...(settings.get()), apiUrl });
|
||||
window.location.assign(`${window.location.origin}${window.location.pathname}?rpc=${encodeURIComponent(apiUrl)}${window.location.hash}`);
|
||||
// window.location.reload();
|
||||
|
||||
if (!hasUrlChanged) {
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
onClose();
|
||||
},
|
||||
[apiUrl, onClose]
|
||||
[apiUrl, onClose, hasUrlChanged]
|
||||
);
|
||||
|
||||
const _onLocalFork = useCallback(
|
||||
(): void => {
|
||||
store.set('isLocalFork', true);
|
||||
settings.set({ ...(settings.get()), apiUrl });
|
||||
window.location.assign(`${window.location.origin}${window.location.pathname}?rpc=${encodeURIComponent(apiUrl)}${window.location.hash}`);
|
||||
|
||||
if (!hasUrlChanged) {
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
onClose();
|
||||
},
|
||||
[apiUrl, onClose, hasUrlChanged]
|
||||
);
|
||||
|
||||
const _saveApiEndpoint = useCallback(
|
||||
@ -249,6 +289,11 @@ function Endpoints ({ className = '', offset, onClose }: Props): React.ReactElem
|
||||
[hasUrlChanged, apiUrl, isUrlValid]
|
||||
);
|
||||
|
||||
const canLocalFork = useMemo(
|
||||
() => isLocalForkDisabled(hasUrlChanged, apiUrl, isUrlValid),
|
||||
[hasUrlChanged, apiUrl, isUrlValid]
|
||||
);
|
||||
|
||||
return (
|
||||
<StyledSidebar
|
||||
button={
|
||||
@ -263,6 +308,15 @@ function Endpoints ({ className = '', offset, onClose }: Props): React.ReactElem
|
||||
offset={offset}
|
||||
onClose={onClose}
|
||||
position='left'
|
||||
secondaryButton={
|
||||
<Button
|
||||
icon='code-fork'
|
||||
isDisabled={canLocalFork}
|
||||
label={t('Fork Locally')}
|
||||
onClick={_onLocalFork}
|
||||
tooltip='fork-locally-btn'
|
||||
/>
|
||||
}
|
||||
sidebarRef={sidebarRef}
|
||||
>
|
||||
{groups.map((group, index): React.ReactNode => (
|
||||
|
||||
@ -60,8 +60,8 @@ const StyledDiv = styled.div`
|
||||
z-index: 500;
|
||||
|
||||
&.isBottom {
|
||||
bottom: 0.75rem;
|
||||
top: auto;
|
||||
position: static;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
&.isFull {
|
||||
|
||||
40
packages/apps/src/overlays/Bottom.tsx
Normal file
40
packages/apps/src/overlays/Bottom.tsx
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright 2017-2024 @polkadot/apps authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import { styled } from '@polkadot/react-components';
|
||||
|
||||
import DotApps from './DotApps.js';
|
||||
import LocalFork from './LocalFork.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
function Bottom ({ className }: Props): React.ReactElement<Props> | null {
|
||||
return (
|
||||
<StyledDiv className={className}>
|
||||
<LocalFork />
|
||||
<DotApps />
|
||||
</StyledDiv>
|
||||
);
|
||||
}
|
||||
|
||||
const StyledDiv = styled.div`
|
||||
position: fixed;
|
||||
bottom: 0.75rem;
|
||||
right: 0.75rem;
|
||||
left: 0.75rem;
|
||||
top: auto;
|
||||
padding: 1rem;
|
||||
z-index: 500;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
row-gap: 0.75rem;;
|
||||
div.isInfo:before {
|
||||
content: none;
|
||||
}
|
||||
`;
|
||||
|
||||
export default React.memo(Bottom);
|
||||
44
packages/apps/src/overlays/LocalFork.tsx
Normal file
44
packages/apps/src/overlays/LocalFork.tsx
Normal file
@ -0,0 +1,44 @@
|
||||
// Copyright 2017-2024 @polkadot/apps authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React from 'react';
|
||||
import store from 'store';
|
||||
|
||||
import { useTranslation } from '../translate.js';
|
||||
import BaseOverlay from './Base.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
function LocalFork ({ className }: Props): React.ReactElement<Props> | null {
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (store.get('isLocalFork')) {
|
||||
return (
|
||||
<BaseOverlay
|
||||
className={className}
|
||||
icon='link'
|
||||
isBottom
|
||||
isFull
|
||||
type='info'
|
||||
>
|
||||
<div>
|
||||
{t('Local fork powered by ')}
|
||||
<a
|
||||
href='https://github.com/AcalaNetwork/chopsticks'
|
||||
rel='noreferrer'
|
||||
target='_blank'
|
||||
>
|
||||
Chopsticks
|
||||
</a>
|
||||
.
|
||||
</div>
|
||||
</BaseOverlay>
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
export default React.memo(LocalFork);
|
||||
@ -7,6 +7,7 @@ import type { ChainProperties, ChainType } from '@polkadot/types/interfaces';
|
||||
import type { KeyringStore } from '@polkadot/ui-keyring/types';
|
||||
import type { ApiProps, ApiState } from './types.js';
|
||||
|
||||
import { ChopsticksProvider, setStorage } from '@acala-network/chopsticks-core';
|
||||
import * as Sc from '@substrate/connect';
|
||||
import React, { useEffect, useMemo, useState } from 'react';
|
||||
import store from 'store';
|
||||
@ -232,11 +233,23 @@ async function getLightProvider (chain: string): Promise<ScProvider> {
|
||||
async function createApi (apiUrl: string, signer: ApiSigner, onError: (error: unknown) => void): Promise<Record<string, Record<string, string>>> {
|
||||
const types = getDevTypes();
|
||||
const isLight = apiUrl.startsWith('light://');
|
||||
let provider;
|
||||
|
||||
try {
|
||||
const provider = isLight
|
||||
? await getLightProvider(apiUrl.replace('light://', ''))
|
||||
: new WsProvider(apiUrl);
|
||||
if (isLight) {
|
||||
provider = await getLightProvider(apiUrl.replace('light://', ''));
|
||||
} else if (store.get('isLocalFork')) {
|
||||
provider = await ChopsticksProvider.fromEndpoint(apiUrl);
|
||||
await setStorage(provider.chain, {
|
||||
System: {
|
||||
Account: [
|
||||
[['5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'], { data: { free: 1000 * 1e12 }, providers: 1 }]
|
||||
]
|
||||
}
|
||||
});
|
||||
} else {
|
||||
provider = new WsProvider(apiUrl);
|
||||
}
|
||||
|
||||
statics.api = new ApiPromise({
|
||||
provider,
|
||||
@ -257,7 +270,7 @@ async function createApi (apiUrl: string, signer: ApiSigner, onError: (error: un
|
||||
return types;
|
||||
}
|
||||
|
||||
export function ApiCtxRoot ({ apiUrl, children, isElectron, store }: Props): React.ReactElement<Props> | null {
|
||||
export function ApiCtxRoot ({ apiUrl, children, isElectron, store: keyringStore }: Props): React.ReactElement<Props> | null {
|
||||
const { queuePayload, queueSetTxStatus } = useQueue();
|
||||
const [state, setState] = useState<ApiState>(EMPTY_STATE);
|
||||
const [isApiConnected, setIsApiConnected] = useState(false);
|
||||
@ -303,15 +316,20 @@ export function ApiCtxRoot ({ apiUrl, children, isElectron, store }: Props): Rea
|
||||
|
||||
const urlIsEthereum = !!location.href.includes('keyring-type=ethereum');
|
||||
|
||||
loadOnReady(statics.api, apiEndpoint, injectedPromise, store, types, urlIsEthereum)
|
||||
loadOnReady(statics.api, apiEndpoint, injectedPromise, keyringStore, types, urlIsEthereum)
|
||||
.then(setState)
|
||||
.catch(onError);
|
||||
});
|
||||
|
||||
if (store.get('isLocalFork')) {
|
||||
statics.api.connect()
|
||||
.catch(onError);
|
||||
}
|
||||
|
||||
setIsApiInitialized(true);
|
||||
})
|
||||
.catch(onError);
|
||||
}, [apiEndpoint, apiUrl, queuePayload, queueSetTxStatus, store]);
|
||||
}, [apiEndpoint, apiUrl, queuePayload, queueSetTxStatus, keyringStore]);
|
||||
|
||||
if (!value.isApiInitialized) {
|
||||
return null;
|
||||
|
||||
@ -8,6 +8,7 @@ import { styled } from './styled.js';
|
||||
|
||||
interface Props {
|
||||
button?: React.ReactNode;
|
||||
secondaryButton?: React.ReactNode;
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
dataTestId?: string;
|
||||
@ -17,7 +18,7 @@ interface Props {
|
||||
sidebarRef: React.RefObject<HTMLDivElement>;
|
||||
}
|
||||
|
||||
function Sidebar ({ button, children, className = '', dataTestId = '', onClose, position, sidebarRef }: Props): React.ReactElement<Props> {
|
||||
function Sidebar ({ button, children, className = '', dataTestId = '', onClose, position, secondaryButton, sidebarRef }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
<StyledDiv
|
||||
className={`${className} ui--Sidebar ${position}Position`}
|
||||
@ -26,6 +27,7 @@ function Sidebar ({ button, children, className = '', dataTestId = '', onClose,
|
||||
>
|
||||
<Button.Group className='ui--Sidebar-buttons'>
|
||||
{button}
|
||||
{secondaryButton}
|
||||
<Button
|
||||
dataTestId='close-sidebar-button'
|
||||
icon='times'
|
||||
|
||||
271
yarn.lock
271
yarn.lock
@ -19,6 +19,39 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@acala-network/chopsticks-core@npm:^0.9.8":
|
||||
version: 0.9.8
|
||||
resolution: "@acala-network/chopsticks-core@npm:0.9.8"
|
||||
dependencies:
|
||||
"@acala-network/chopsticks-executor": "npm:0.9.8"
|
||||
"@polkadot/rpc-provider": "npm:^10.11.2"
|
||||
"@polkadot/types": "npm:^10.11.2"
|
||||
"@polkadot/types-codec": "npm:^10.11.2"
|
||||
"@polkadot/types-known": "npm:^10.11.2"
|
||||
"@polkadot/util": "npm:^12.6.2"
|
||||
"@polkadot/util-crypto": "npm:^12.6.2"
|
||||
comlink: "npm:^4.4.1"
|
||||
eventemitter3: "npm:^5.0.1"
|
||||
lodash: "npm:^4.17.21"
|
||||
lru-cache: "npm:^10.1.0"
|
||||
pino: "npm:^8.17.2"
|
||||
pino-pretty: "npm:^10.3.1"
|
||||
rxjs: "npm:^7.8.1"
|
||||
zod: "npm:^3.22.4"
|
||||
checksum: 10/a65385f5e3bfb67675e16d7ff51d3d3694daffd6c171e6e7b5b1e1834f63df56d754a628c0d2da26c79afd712d29e6e5c4e1b7850c16c73a90acac1f1b13f313
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@acala-network/chopsticks-executor@npm:0.9.8":
|
||||
version: 0.9.8
|
||||
resolution: "@acala-network/chopsticks-executor@npm:0.9.8"
|
||||
dependencies:
|
||||
"@polkadot/util": "npm:^12.6.2"
|
||||
"@polkadot/wasm-util": "npm:^7.3.2"
|
||||
checksum: 10/dd267fdf49fab79b2a55f43fd279ab0cb1795ff41ef63d61081c667d7dd788882636cee0ea72f50e18f9b13ba5aaeaf76f02a611f73c6719fc8ac524c278fcb2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@acala-network/type-definitions@npm:5.1.2":
|
||||
version: 5.1.2
|
||||
resolution: "@acala-network/type-definitions@npm:5.1.2"
|
||||
@ -1915,6 +1948,7 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/apps@workspace:packages/apps"
|
||||
dependencies:
|
||||
"@acala-network/chopsticks-core": "npm:^0.9.8"
|
||||
"@polkadot/apps-config": "npm:^0.133.2-96-x"
|
||||
"@polkadot/apps-routing": "npm:^0.133.2-96-x"
|
||||
"@polkadot/dev": "npm:^0.78.4"
|
||||
@ -4377,6 +4411,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abort-controller@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "abort-controller@npm:3.0.0"
|
||||
dependencies:
|
||||
event-target-shim: "npm:^5.0.0"
|
||||
checksum: 10/ed84af329f1828327798229578b4fe03a4dd2596ba304083ebd2252666bdc1d7647d66d0b18704477e1f8aa315f055944aa6e859afebd341f12d0a53c37b4b40
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abortcontroller-polyfill@npm:^1.7.5":
|
||||
version: 1.7.5
|
||||
resolution: "abortcontroller-polyfill@npm:1.7.5"
|
||||
@ -5080,6 +5123,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"atomic-sleep@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "atomic-sleep@npm:1.0.0"
|
||||
checksum: 10/3ab6d2cf46b31394b4607e935ec5c1c3c4f60f3e30f0913d35ea74b51b3585e84f590d09e58067f11762eec71c87d25314ce859030983dc0e4397eed21daa12e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"attr-accept@npm:^2.2.2":
|
||||
version: 2.2.2
|
||||
resolution: "attr-accept@npm:2.2.2"
|
||||
@ -6249,6 +6299,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"colorette@npm:^2.0.7":
|
||||
version: 2.0.20
|
||||
resolution: "colorette@npm:2.0.20"
|
||||
checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6":
|
||||
version: 1.0.8
|
||||
resolution: "combined-stream@npm:1.0.8"
|
||||
@ -6258,6 +6315,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"comlink@npm:^4.4.1":
|
||||
version: 4.4.1
|
||||
resolution: "comlink@npm:4.4.1"
|
||||
checksum: 10/3d953e987874bf0d60c02a3dd96e9f661141e58709eaab82097369c585382935651ce61f004e7bb1a5eb868ca8d8734d1cec885965ae53c56567d91b9539f2d0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"comma-separated-tokens@npm:^2.0.0":
|
||||
version: 2.0.2
|
||||
resolution: "comma-separated-tokens@npm:2.0.2"
|
||||
@ -6824,6 +6888,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dateformat@npm:^4.6.3":
|
||||
version: 4.6.3
|
||||
resolution: "dateformat@npm:4.6.3"
|
||||
checksum: 10/5c149c91bf9ce2142c89f84eee4c585f0cb1f6faf2536b1af89873f862666a28529d1ccafc44750aa01384da2197c4f76f4e149a3cc0c1cb2c46f5cc45f2bcb5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"debug@npm:2.6.9, debug@npm:^2.2.0":
|
||||
version: 2.6.9
|
||||
resolution: "debug@npm:2.6.9"
|
||||
@ -8679,6 +8750,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"event-target-shim@npm:^5.0.0":
|
||||
version: 5.0.1
|
||||
resolution: "event-target-shim@npm:5.0.1"
|
||||
checksum: 10/49ff46c3a7facbad3decb31f597063e761785d7fdb3920d4989d7b08c97a61c2f51183e2f3a03130c9088df88d4b489b1b79ab632219901f184f85158508f4c8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eventemitter3@npm:4.0.4":
|
||||
version: 4.0.4
|
||||
resolution: "eventemitter3@npm:4.0.4"
|
||||
@ -8873,6 +8951,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-copy@npm:^3.0.0":
|
||||
version: 3.0.1
|
||||
resolution: "fast-copy@npm:3.0.1"
|
||||
checksum: 10/2f655f1e84440f990cddf7895f0acce38b2eb090a27dc0f97f1654cd6f2e38f67d9603471856c2af13e0bfbdf04c2c0b8d446fee1dd1f6f485992e4cc4693c7a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
|
||||
version: 3.1.3
|
||||
resolution: "fast-deep-equal@npm:3.1.3"
|
||||
@ -8914,6 +8999,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-redact@npm:^3.1.1":
|
||||
version: 3.3.0
|
||||
resolution: "fast-redact@npm:3.3.0"
|
||||
checksum: 10/a69c5cb52396eafc4f466f46864406cbd4a6ead6782caf74750ce817794829048baaa933ad98543e744dd54ffb4cddff71f3e75e465a86e3d887894e281ec154
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-safe-stringify@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "fast-safe-stringify@npm:2.1.1"
|
||||
checksum: 10/dc1f063c2c6ac9533aee14d406441f86783a8984b2ca09b19c2fe281f9ff59d315298bc7bc22fd1f83d26fe19ef2f20e2ddb68e96b15040292e555c5ced0c1e4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-sha256@npm:^1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "fast-sha256@npm:1.3.0"
|
||||
@ -10212,6 +10311,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"help-me@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "help-me@npm:5.0.0"
|
||||
checksum: 10/5f99bd91dae93d02867175c3856c561d7e3a24f16999b08f5fc79689044b938d7ed58457f4d8c8744c01403e6e0470b7896baa344d112b2355842fd935a75d69
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"highlight.js@npm:^9.3.0":
|
||||
version: 9.18.5
|
||||
resolution: "highlight.js@npm:9.18.5"
|
||||
@ -11564,6 +11670,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"joycon@npm:^3.1.1":
|
||||
version: 3.1.1
|
||||
resolution: "joycon@npm:3.1.1"
|
||||
checksum: 10/4b36e3479144ec196425f46b3618f8a96ce7e1b658f091a309cd4906215f5b7a402d7df331a3e0a09681381a658d0c5f039cb3cf6907e0a1e17ed847f5d37775
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"jquery@npm:x.*":
|
||||
version: 3.5.1
|
||||
resolution: "jquery@npm:3.5.1"
|
||||
@ -12105,6 +12218,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lru-cache@npm:^10.1.0":
|
||||
version: 10.2.0
|
||||
resolution: "lru-cache@npm:10.2.0"
|
||||
checksum: 10/502ec42c3309c0eae1ce41afca471f831c278566d45a5273a0c51102dee31e0e250a62fa9029c3370988df33a14188a38e682c16143b794de78668de3643e302
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lru-cache@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "lru-cache@npm:6.0.0"
|
||||
@ -13602,6 +13722,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"on-exit-leak-free@npm:^2.1.0":
|
||||
version: 2.1.2
|
||||
resolution: "on-exit-leak-free@npm:2.1.2"
|
||||
checksum: 10/f7b4b7200026a08f6e4a17ba6d72e6c5cbb41789ed9cf7deaf9d9e322872c7dc5a7898549a894651ee0ee9ae635d34a678115bf8acdfba8ebd2ba2af688b563c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"on-finished@npm:~2.3.0":
|
||||
version: 2.3.0
|
||||
resolution: "on-finished@npm:2.3.0"
|
||||
@ -14075,6 +14202,68 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:v1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "pino-abstract-transport@npm:1.1.0"
|
||||
dependencies:
|
||||
readable-stream: "npm:^4.0.0"
|
||||
split2: "npm:^4.0.0"
|
||||
checksum: 10/39b4496c9e4289e8d44a1d01adfa8dfeebb374e14b7a6451a4f3713561aeb9e181c64ff0272921667abcb95aceb312ab2761b82e253db23a456ab3dd35a42675
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino-pretty@npm:^10.3.1":
|
||||
version: 10.3.1
|
||||
resolution: "pino-pretty@npm:10.3.1"
|
||||
dependencies:
|
||||
colorette: "npm:^2.0.7"
|
||||
dateformat: "npm:^4.6.3"
|
||||
fast-copy: "npm:^3.0.0"
|
||||
fast-safe-stringify: "npm:^2.1.1"
|
||||
help-me: "npm:^5.0.0"
|
||||
joycon: "npm:^3.1.1"
|
||||
minimist: "npm:^1.2.6"
|
||||
on-exit-leak-free: "npm:^2.1.0"
|
||||
pino-abstract-transport: "npm:^1.0.0"
|
||||
pump: "npm:^3.0.0"
|
||||
readable-stream: "npm:^4.0.0"
|
||||
secure-json-parse: "npm:^2.4.0"
|
||||
sonic-boom: "npm:^3.0.0"
|
||||
strip-json-comments: "npm:^3.1.1"
|
||||
bin:
|
||||
pino-pretty: bin.js
|
||||
checksum: 10/4284f125f7e8a5a10e856c8fd591ba34c30c0a0071a0b265a9eda43c3e447ba11d40b06cc67108675586358a5d1213a6ac3a92f6abd2896abfbab9a5b4c17072
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino-std-serializers@npm:^6.0.0":
|
||||
version: 6.2.2
|
||||
resolution: "pino-std-serializers@npm:6.2.2"
|
||||
checksum: 10/a00cdff4e1fbc206da9bed047e6dc400b065f43e8b4cef1635b0192feab0e8f932cdeb0faaa38a5d93d2e777ba4cda939c2ed4c1a70f6839ff25f9aef97c27ff
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino@npm:^8.17.2":
|
||||
version: 8.19.0
|
||||
resolution: "pino@npm:8.19.0"
|
||||
dependencies:
|
||||
atomic-sleep: "npm:^1.0.0"
|
||||
fast-redact: "npm:^3.1.1"
|
||||
on-exit-leak-free: "npm:^2.1.0"
|
||||
pino-abstract-transport: "npm:v1.1.0"
|
||||
pino-std-serializers: "npm:^6.0.0"
|
||||
process-warning: "npm:^3.0.0"
|
||||
quick-format-unescaped: "npm:^4.0.3"
|
||||
real-require: "npm:^0.2.0"
|
||||
safe-stable-stringify: "npm:^2.3.1"
|
||||
sonic-boom: "npm:^3.7.0"
|
||||
thread-stream: "npm:^2.0.0"
|
||||
bin:
|
||||
pino: bin.js
|
||||
checksum: 10/c98e8bedb7c9eca5c0e75c2dd910a58b0e470da282c5a4787873a591666cc7cce33561d9ba6d6a20cf6bc4bc8d15b7db84cf6156f262081a5c6b8de134285789
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
|
||||
version: 4.2.0
|
||||
resolution: "pkg-dir@npm:4.2.0"
|
||||
@ -14423,6 +14612,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"process-warning@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "process-warning@npm:3.0.0"
|
||||
checksum: 10/2d82fa641e50a5789eaf0f2b33453760996e373d4591aac576a22d696186ab7e240a0592db86c264d4f28a46c2abbe9b94689752017db7dadc90f169f12b0924
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"process@npm:^0.11.10":
|
||||
version: 0.11.10
|
||||
resolution: "process@npm:0.11.10"
|
||||
@ -14648,6 +14844,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"quick-format-unescaped@npm:^4.0.3":
|
||||
version: 4.0.4
|
||||
resolution: "quick-format-unescaped@npm:4.0.4"
|
||||
checksum: 10/591eca457509a99368b623db05248c1193aa3cedafc9a077d7acab09495db1231017ba3ad1b5386e5633271edd0a03b312d8640a59ee585b8516a42e15438aa7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"quick-lru@npm:^4.0.1":
|
||||
version: 4.0.1
|
||||
resolution: "quick-lru@npm:4.0.1"
|
||||
@ -15024,6 +15227,19 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"readable-stream@npm:^4.0.0":
|
||||
version: 4.5.2
|
||||
resolution: "readable-stream@npm:4.5.2"
|
||||
dependencies:
|
||||
abort-controller: "npm:^3.0.0"
|
||||
buffer: "npm:^6.0.3"
|
||||
events: "npm:^3.3.0"
|
||||
process: "npm:^0.11.10"
|
||||
string_decoder: "npm:^1.3.0"
|
||||
checksum: 10/01b128a559c5fd76a898495f858cf0a8839f135e6a69e3409f986e88460134791657eb46a2ff16826f331682a3c4d0c5a75cef5e52ef259711021ba52b1c2e82
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"readdir-glob@npm:^1.1.2":
|
||||
version: 1.1.3
|
||||
resolution: "readdir-glob@npm:1.1.3"
|
||||
@ -15042,6 +15258,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"real-require@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "real-require@npm:0.2.0"
|
||||
checksum: 10/ddf44ee76301c774e9c9f2826da8a3c5c9f8fc87310f4a364e803ef003aa1a43c378b4323051ced212097fff1af459070f4499338b36a7469df1d4f7e8c0ba4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"recast@npm:^0.11.17":
|
||||
version: 0.11.23
|
||||
resolution: "recast@npm:0.11.23"
|
||||
@ -15670,6 +15893,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safe-stable-stringify@npm:^2.3.1":
|
||||
version: 2.4.3
|
||||
resolution: "safe-stable-stringify@npm:2.4.3"
|
||||
checksum: 10/a6c192bbefe47770a11072b51b500ed29be7b1c15095371c1ee1dc13e45ce48ee3c80330214c56764d006c485b88bd0b24940d868948170dddc16eed312582d8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0":
|
||||
version: 2.1.2
|
||||
resolution: "safer-buffer@npm:2.1.2"
|
||||
@ -15788,6 +16018,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"secure-json-parse@npm:^2.4.0":
|
||||
version: 2.7.0
|
||||
resolution: "secure-json-parse@npm:2.7.0"
|
||||
checksum: 10/974386587060b6fc5b1ac06481b2f9dbbb0d63c860cc73dc7533f27835fdb67b0ef08762dbfef25625c15bc0a0c366899e00076cb0d556af06b71e22f1dede4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"select-hose@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "select-hose@npm:2.0.0"
|
||||
@ -16196,6 +16433,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0":
|
||||
version: 3.8.0
|
||||
resolution: "sonic-boom@npm:3.8.0"
|
||||
dependencies:
|
||||
atomic-sleep: "npm:^1.0.0"
|
||||
checksum: 10/470a82cb1af3ab99fcd3003bbecb2ce79a6b243d0f6012c59e5f567f71cbe039c8cd810752748b5820ee20d72c8da81aa298e510eec9e41a4ca05c7f419825ff
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sort-keys@npm:^4.0.0":
|
||||
version: 4.2.0
|
||||
resolution: "sort-keys@npm:4.2.0"
|
||||
@ -16385,6 +16631,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"split2@npm:^4.0.0":
|
||||
version: 4.2.0
|
||||
resolution: "split2@npm:4.2.0"
|
||||
checksum: 10/09bbefc11bcf03f044584c9764cd31a252d8e52cea29130950b26161287c11f519807c5e54bd9e5804c713b79c02cefe6a98f4688630993386be353e03f534ab
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sprintf-js@npm:^1.1.2":
|
||||
version: 1.1.2
|
||||
resolution: "sprintf-js@npm:1.1.2"
|
||||
@ -16657,7 +16910,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string_decoder@npm:^1.1.1":
|
||||
"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0":
|
||||
version: 1.3.0
|
||||
resolution: "string_decoder@npm:1.3.0"
|
||||
dependencies:
|
||||
@ -17106,6 +17359,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"thread-stream@npm:^2.0.0":
|
||||
version: 2.4.1
|
||||
resolution: "thread-stream@npm:2.4.1"
|
||||
dependencies:
|
||||
real-require: "npm:^0.2.0"
|
||||
checksum: 10/baac5bf555912f216a2494bf3f66377733a843306cddd233b1c5ad63084307266f61af35d6122e3936c657836d5db4a14da34300cd25930e013943b807a29c9b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"through2@npm:^2.0.1, through2@npm:~2.0.3":
|
||||
version: 2.0.5
|
||||
resolution: "through2@npm:2.0.5"
|
||||
@ -19066,6 +19328,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"zod@npm:^3.22.4":
|
||||
version: 3.22.4
|
||||
resolution: "zod@npm:3.22.4"
|
||||
checksum: 10/73622ca36a916f785cf528fe612a884b3e0f183dbe6b33365a7d0fc92abdbedf7804c5e2bd8df0a278e1472106d46674281397a3dd800fa9031dc3429758c6ac
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"zwitch@npm:^2.0.0":
|
||||
version: 2.0.2
|
||||
resolution: "zwitch@npm:2.0.2"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user