dev script without storybook
This commit is contained in:
parent
fee5de7562
commit
abb47b60ad
@ -11,7 +11,7 @@ cp \
|
||||
echo css
|
||||
pnpm exec sass -I . ./src/scss/main.scss dist/main.css &
|
||||
echo js
|
||||
pnpm exec esbuild --log-level=error --bundle src/main.ts --outdir=dist --target=es6 --loader:.scss=text --loader:.svg=dataurl --format=iife --sourcemap --jsx-factory=h --jsx-fragment=Fragment --platform=browser &
|
||||
pnpm exec esbuild --log-level=error --bundle src/main.ts --outdir=dist --target=es6 --loader:.svg=dataurl --format=iife --sourcemap --jsx-factory=h --jsx-fragment=Fragment --platform=browser &
|
||||
wait -n
|
||||
wait -n
|
||||
|
||||
|
83
packages/anastasis-webui/dev.mjs
Executable file
83
packages/anastasis-webui/dev.mjs
Executable file
@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env node
|
||||
/* eslint-disable no-undef */
|
||||
import esbuild from 'esbuild'
|
||||
import fs from 'fs';
|
||||
import WebSocket from "ws";
|
||||
import chokidar from "chokidar";
|
||||
|
||||
const devServerBroadcastDelay = 500
|
||||
const devServerPort = 8002
|
||||
const wss = new WebSocket.Server({ port: devServerPort });
|
||||
const toWatch = ["./src"]
|
||||
|
||||
function broadcast(file, event) {
|
||||
setTimeout(() => {
|
||||
wss.clients.forEach((client) => {
|
||||
if (client.readyState === WebSocket.OPEN) {
|
||||
console.log(new Date(), file)
|
||||
client.send(JSON.stringify(event));
|
||||
}
|
||||
});
|
||||
}, devServerBroadcastDelay);
|
||||
}
|
||||
|
||||
const watcher = chokidar
|
||||
.watch(toWatch, {
|
||||
persistent: true,
|
||||
ignoreInitial: true,
|
||||
awaitWriteFinish: {
|
||||
stabilityThreshold: 100,
|
||||
pollInterval: 100,
|
||||
},
|
||||
})
|
||||
.on("error", (error) => console.error(error))
|
||||
.on("change", async (file) => {
|
||||
broadcast(file, { type: "RELOAD" });
|
||||
})
|
||||
.on("add", async (file) => {
|
||||
broadcast(file, { type: "RELOAD" });
|
||||
})
|
||||
.on("unlink", async (file) => {
|
||||
broadcast(file, { type: "RELOAD" });
|
||||
});
|
||||
|
||||
|
||||
fs.writeFileSync("dist/stories.html", fs.readFileSync("stories.html"))
|
||||
fs.writeFileSync("dist/mocha.css", fs.readFileSync("node_modules/mocha/mocha.css"))
|
||||
fs.writeFileSync("dist/mocha.js", fs.readFileSync("node_modules/mocha/mocha.js"))
|
||||
fs.writeFileSync("dist/mocha.js.map", fs.readFileSync("node_modules/mocha/mocha.js.map"))
|
||||
|
||||
export const buildConfig = {
|
||||
entryPoints: ['src/stories.tsx'],
|
||||
bundle: true,
|
||||
outdir: 'dist',
|
||||
minify: false,
|
||||
loader: {
|
||||
'.svg': 'dataurl',
|
||||
},
|
||||
target: [
|
||||
'es6'
|
||||
],
|
||||
format: 'iife',
|
||||
platform: 'browser',
|
||||
sourcemap: true,
|
||||
jsxFactory: 'h',
|
||||
jsxFragment: 'Fragment',
|
||||
}
|
||||
|
||||
const server = await esbuild
|
||||
.serve({ servedir: 'dist' }, {
|
||||
...buildConfig, outdir: 'dist'
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e)
|
||||
process.exit(1)
|
||||
});
|
||||
|
||||
console.log(`Dev server is ready at http://localhost:${server.port}/.
|
||||
http://localhost:${server.port}/stories.html for the components stories.
|
||||
The server is running a using websocket at ${devServerPort} to notify code change and live reload.
|
||||
`);
|
||||
|
||||
|
||||
|
@ -29,12 +29,15 @@
|
||||
"@gnu-taler/anastasis-core": "workspace:*",
|
||||
"@gnu-taler/taler-util": "workspace:*",
|
||||
"base64-inline-loader": "1.1.1",
|
||||
"chokidar": "^3.5.3",
|
||||
"date-fns": "2.28.0",
|
||||
"jed": "1.1.1",
|
||||
"mocha": "^9.2.0",
|
||||
"preact": "^10.5.15",
|
||||
"preact-render-to-string": "^5.1.19",
|
||||
"preact-router": "^3.2.1",
|
||||
"qrcode-generator": "^1.4.4"
|
||||
"qrcode-generator": "^1.4.4",
|
||||
"ws": "7.4.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@creativebulma/bulma-tooltip": "^1.2.0",
|
||||
|
80
packages/anastasis-webui/src/pages/home/index.storiesNo.tsx
Normal file
80
packages/anastasis-webui/src/pages/home/index.storiesNo.tsx
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
This file is part of GNU Taler
|
||||
(C) 2021 Taler Systems S.A.
|
||||
|
||||
GNU Taler is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; either version 3, or (at your option) any later version.
|
||||
|
||||
GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Javier Marchano (sebasjm)
|
||||
*/
|
||||
|
||||
import * as a1 from "./RecoveryFinishedScreen.stories.js";
|
||||
import * as a3 from "./ContinentSelectionScreen.stories.js";
|
||||
import * as a4 from "./ReviewPoliciesScreen.stories.js";
|
||||
import * as a5 from "./authMethod/AuthMethodSmsSolve.stories.js";
|
||||
import * as a6 from "./authMethod/AuthMethodSmsSetup.stories.js";
|
||||
import * as a7 from "./authMethod/AuthMethodPostSetup.stories.js";
|
||||
import * as a8 from "./authMethod/AuthMethodEmailSetup.stories.js";
|
||||
import * as a9 from "./authMethod/AuthMethodIbanSetup.stories.js";
|
||||
import * as a10 from "./authMethod/AuthMethodQuestionSolve.stories.js";
|
||||
import * as a11 from "./authMethod/AuthMethodIbanSolve.stories.js";
|
||||
import * as a12 from "./authMethod/AuthMethodTotpSolve.stories.js";
|
||||
import * as a13 from "./authMethod/AuthMethodPostSolve.stories.js";
|
||||
import * as a14 from "./authMethod/AuthMethodTotpSetup.stories.js";
|
||||
import * as a15 from "./authMethod/AuthMethodEmailSolve.stories.js";
|
||||
import * as a16 from "./authMethod/AuthMethodQuestionSetup.stories.js";
|
||||
import * as a17 from "./ChallengePayingScreen.stories.js";
|
||||
import * as a18 from "./AuthenticationEditorScreen.stories.js";
|
||||
import * as a19 from "./SecretSelectionScreen.stories.js";
|
||||
import * as a20 from "./PoliciesPayingScreen.stories.js";
|
||||
import * as a21 from "./BackupFinishedScreen.stories.js";
|
||||
import * as a22 from "./SecretEditorScreen.stories.js";
|
||||
import * as a23 from "./AddingProviderScreen.stories.js";
|
||||
import * as a24 from "./StartScreen.stories.js";
|
||||
import * as a25 from "./ChallengeOverviewScreen.stories.js";
|
||||
import * as a26 from "./TruthsPayingScreen.stories.js";
|
||||
import * as a27 from "./EditPoliciesScreen.stories.js";
|
||||
import * as a28 from "./AttributeEntryScreen.stories.js";
|
||||
import * as a29 from "./SolveScreen.stories.js";
|
||||
|
||||
export default [
|
||||
a1,
|
||||
a3,
|
||||
a4,
|
||||
a5,
|
||||
a6,
|
||||
a7,
|
||||
a8,
|
||||
a9,
|
||||
a10,
|
||||
a11,
|
||||
a12,
|
||||
a13,
|
||||
a14,
|
||||
a15,
|
||||
a16,
|
||||
a17,
|
||||
a18,
|
||||
a19,
|
||||
a20,
|
||||
a21,
|
||||
a22,
|
||||
a23,
|
||||
a24,
|
||||
a25,
|
||||
a26,
|
||||
a27,
|
||||
a28,
|
||||
a29,
|
||||
];
|
@ -157,7 +157,6 @@ export function AnastasisClientFrame(props: AnastasisClientFrameProps): VNode {
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<Menu title="Anastasis" />
|
||||
<div class="home" onKeyPress={(e) => handleKeyPress(e)}>
|
||||
<h1 class="title">{props.title}</h1>
|
||||
<ErrorBanner />
|
||||
@ -195,6 +194,7 @@ const AnastasisClient: FunctionalComponent = () => {
|
||||
return (
|
||||
<AnastasisProvider value={reducer}>
|
||||
<ErrorBoundary reducer={reducer}>
|
||||
<Menu title="Anastasis" />
|
||||
<AnastasisClientImpl />
|
||||
</ErrorBoundary>
|
||||
</AnastasisProvider>
|
||||
|
381
packages/anastasis-webui/src/stories.tsx
Normal file
381
packages/anastasis-webui/src/stories.tsx
Normal file
@ -0,0 +1,381 @@
|
||||
/*
|
||||
This file is part of GNU Taler
|
||||
(C) 2021 Taler Systems S.A.
|
||||
|
||||
GNU Taler is free software; you can redistribute it and/or modify it under the
|
||||
terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; either version 3, or (at your option) any later version.
|
||||
|
||||
GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Javier Marchano (sebasjm)
|
||||
*/
|
||||
import { setupI18n } from "@gnu-taler/taler-util";
|
||||
import { ComponentChild, Fragment, h, render, VNode } from "preact";
|
||||
import { useEffect, useErrorBoundary, useState } from "preact/hooks";
|
||||
import { strings } from "./i18n/strings.js";
|
||||
import * as pages from "./pages/home/index.storiesNo.js";
|
||||
|
||||
const url = new URL(window.location.href);
|
||||
const lang = url.searchParams.get("lang") || "en";
|
||||
|
||||
setupI18n(lang, strings);
|
||||
|
||||
const Page = ({ children }: any) => <div class="page">{children}</div>;
|
||||
const SideBar = ({ children }: any) => <div class="sidebar">{children}</div>;
|
||||
const Content = ({ children }: any) => <div class="content">{children}</div>;
|
||||
|
||||
function parseExampleImport(group: string, im: any): ComponentItem {
|
||||
const component = im.default.title;
|
||||
const order: number = im.default.args?.order || 0;
|
||||
return {
|
||||
name: component,
|
||||
order,
|
||||
examples: Object.entries(im)
|
||||
.filter(([k]) => k !== "default")
|
||||
.map(
|
||||
([name, render]) =>
|
||||
({
|
||||
group,
|
||||
component,
|
||||
name,
|
||||
render,
|
||||
} as ExampleItem),
|
||||
),
|
||||
};
|
||||
}
|
||||
|
||||
function SortStories(a: any, b: any): number {
|
||||
return (a?.order ?? 0) - (b?.order ?? 0);
|
||||
}
|
||||
|
||||
const allExamples = Object.entries({ pages }).map(([title, value]) => ({
|
||||
title,
|
||||
list: value.default
|
||||
.map((s) => parseExampleImport(title, s))
|
||||
.sort(SortStories),
|
||||
}));
|
||||
|
||||
interface ComponentItem {
|
||||
name: string;
|
||||
order: number;
|
||||
examples: ExampleItem[];
|
||||
}
|
||||
|
||||
interface ExampleItem {
|
||||
group: string;
|
||||
component: string;
|
||||
name: string;
|
||||
render: {
|
||||
(args: any): VNode;
|
||||
args: any;
|
||||
};
|
||||
}
|
||||
|
||||
function findByGroupComponentName(
|
||||
group: string,
|
||||
component: string,
|
||||
name: string,
|
||||
): ExampleItem | undefined {
|
||||
const gl = allExamples.filter((e) => e.title === group);
|
||||
if (gl.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
const cl = gl[0].list.filter((l) => l.name === component);
|
||||
if (cl.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
const el = cl[0].examples.filter((c) => c.name === name);
|
||||
if (el.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
return el[0];
|
||||
}
|
||||
|
||||
function getContentForExample(item: ExampleItem | undefined): () => VNode {
|
||||
if (!item)
|
||||
return function SelectExampleMessage() {
|
||||
return <div>select example from the list on the left</div>;
|
||||
};
|
||||
const example = findByGroupComponentName(
|
||||
item.group,
|
||||
item.component,
|
||||
item.name,
|
||||
);
|
||||
if (!example)
|
||||
return function ExampleNotFoundMessage() {
|
||||
return <div>example not found</div>;
|
||||
};
|
||||
return () => example.render(example.render.args);
|
||||
}
|
||||
|
||||
function ExampleList({
|
||||
name,
|
||||
list,
|
||||
selected,
|
||||
onSelectStory,
|
||||
}: {
|
||||
name: string;
|
||||
list: {
|
||||
name: string;
|
||||
examples: ExampleItem[];
|
||||
}[];
|
||||
selected: ExampleItem | undefined;
|
||||
onSelectStory: (i: ExampleItem, id: string) => void;
|
||||
}): VNode {
|
||||
const [isOpen, setOpen] = useState(selected && selected.group === name);
|
||||
return (
|
||||
<ol>
|
||||
<div onClick={() => setOpen(!isOpen)}>{name}</div>
|
||||
<div data-hide={!isOpen}>
|
||||
{list.map((k) => (
|
||||
<li key={k.name}>
|
||||
<dl>
|
||||
<dt>{k.name}</dt>
|
||||
{k.examples.map((r) => {
|
||||
const e = encodeURIComponent;
|
||||
const eId = `${e(r.group)}-${e(r.component)}-${e(r.name)}`;
|
||||
const isSelected =
|
||||
selected &&
|
||||
selected.component === r.component &&
|
||||
selected.group === r.group &&
|
||||
selected.name === r.name;
|
||||
return (
|
||||
<dd id={eId} key={r.name} data-selected={isSelected}>
|
||||
<a
|
||||
href={`#${eId}`}
|
||||
onClick={(e) => {
|
||||
e.preventDefault();
|
||||
location.hash = `#${eId}`;
|
||||
onSelectStory(r, eId);
|
||||
}}
|
||||
>
|
||||
{r.name}
|
||||
</a>
|
||||
</dd>
|
||||
);
|
||||
})}
|
||||
</dl>
|
||||
</li>
|
||||
))}
|
||||
</div>
|
||||
</ol>
|
||||
);
|
||||
}
|
||||
|
||||
// function getWrapperForGroup(group: string): FunctionComponent {
|
||||
// switch (group) {
|
||||
// case "popup":
|
||||
// return function PopupWrapper({ children }: any) {
|
||||
// return (
|
||||
// <Fragment>
|
||||
// <PopupNavBar />
|
||||
// <PopupBox>{children}</PopupBox>
|
||||
// </Fragment>
|
||||
// );
|
||||
// };
|
||||
// case "wallet":
|
||||
// return function WalletWrapper({ children }: any) {
|
||||
// return (
|
||||
// <Fragment>
|
||||
// <LogoHeader />
|
||||
// <WalletNavBar />
|
||||
// <WalletBox>{children}</WalletBox>
|
||||
// </Fragment>
|
||||
// );
|
||||
// };
|
||||
// case "cta":
|
||||
// return function WalletWrapper({ children }: any) {
|
||||
// return (
|
||||
// <Fragment>
|
||||
// <WalletBox>{children}</WalletBox>
|
||||
// </Fragment>
|
||||
// );
|
||||
// };
|
||||
// default:
|
||||
// return Fragment;
|
||||
// }
|
||||
// }
|
||||
|
||||
function ErrorReport({
|
||||
children,
|
||||
selected,
|
||||
}: {
|
||||
children: ComponentChild;
|
||||
selected: ExampleItem | undefined;
|
||||
}): VNode {
|
||||
const [error] = useErrorBoundary();
|
||||
if (error) {
|
||||
return (
|
||||
<div class="error_report">
|
||||
<p>Error was thrown trying to render</p>
|
||||
{selected && (
|
||||
<ul>
|
||||
<li>
|
||||
<b>group</b>: {selected.group}
|
||||
</li>
|
||||
<li>
|
||||
<b>component</b>: {selected.component}
|
||||
</li>
|
||||
<li>
|
||||
<b>example</b>: {selected.name}
|
||||
</li>
|
||||
<li>
|
||||
<b>args</b>:{" "}
|
||||
<pre>{JSON.stringify(selected.render.args, undefined, 2)}</pre>
|
||||
</li>
|
||||
</ul>
|
||||
)}
|
||||
<p>{error.message}</p>
|
||||
<pre>{error.stack}</pre>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
return <Fragment>{children}</Fragment>;
|
||||
}
|
||||
|
||||
function getSelectionFromLocationHash(hash: string): ExampleItem | undefined {
|
||||
if (!hash) return undefined;
|
||||
const parts = hash.substring(1).split("-");
|
||||
if (parts.length < 3) return undefined;
|
||||
return findByGroupComponentName(
|
||||
decodeURIComponent(parts[0]),
|
||||
decodeURIComponent(parts[1]),
|
||||
decodeURIComponent(parts[2]),
|
||||
);
|
||||
}
|
||||
|
||||
function Application(): VNode {
|
||||
const initialSelection = getSelectionFromLocationHash(location.hash);
|
||||
const [selected, updateSelected] = useState<ExampleItem | undefined>(
|
||||
initialSelection,
|
||||
);
|
||||
useEffect(() => {
|
||||
if (location.hash) {
|
||||
const hash = location.hash.substring(1);
|
||||
const found = document.getElementById(hash);
|
||||
if (found) {
|
||||
setTimeout(() => {
|
||||
found.scrollIntoView({
|
||||
block: "center",
|
||||
});
|
||||
}, 10);
|
||||
}
|
||||
}
|
||||
}, []);
|
||||
|
||||
const ExampleContent = getContentForExample(selected);
|
||||
|
||||
// const GroupWrapper = getWrapperForGroup(selected?.group || "default");
|
||||
|
||||
return (
|
||||
<Page>
|
||||
<LiveReload />
|
||||
<SideBar>
|
||||
{allExamples.map((e) => (
|
||||
<ExampleList
|
||||
key={e.title}
|
||||
name={e.title}
|
||||
list={e.list}
|
||||
selected={selected}
|
||||
onSelectStory={(item, htmlId) => {
|
||||
document.getElementById(htmlId)?.scrollIntoView({
|
||||
block: "center",
|
||||
});
|
||||
updateSelected(item);
|
||||
}}
|
||||
/>
|
||||
))}
|
||||
<hr />
|
||||
</SideBar>
|
||||
<Content>
|
||||
<ErrorReport selected={selected}>
|
||||
{/* <GroupWrapper> */}
|
||||
<ExampleContent />
|
||||
{/* </GroupWrapper> */}
|
||||
</ErrorReport>
|
||||
</Content>
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", main);
|
||||
} else {
|
||||
main();
|
||||
}
|
||||
function main(): void {
|
||||
try {
|
||||
const container = document.getElementById("container");
|
||||
if (!container) {
|
||||
throw Error("container not found, can't mount page contents");
|
||||
}
|
||||
render(<Application />, container);
|
||||
} catch (e) {
|
||||
console.error("got error", e);
|
||||
if (e instanceof Error) {
|
||||
document.body.innerText = `Fatal error: "${e.message}". Please report this bug at https://bugs.gnunet.org/.`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let liveReloadMounted = false;
|
||||
function LiveReload({ port = 8002 }: { port?: number }): VNode {
|
||||
const [isReloading, setIsReloading] = useState(false);
|
||||
useEffect(() => {
|
||||
if (!liveReloadMounted) {
|
||||
setupLiveReload(port, () => {
|
||||
setIsReloading(true);
|
||||
window.location.reload();
|
||||
});
|
||||
liveReloadMounted = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (isReloading) {
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
backgroundColor: "rgba(0,0,0,0.5)",
|
||||
color: "white",
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<h1 style={{ margin: "auto" }}>reloading...</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
return <Fragment />;
|
||||
}
|
||||
|
||||
function setupLiveReload(port: number, onReload: () => void): void {
|
||||
const protocol = location.protocol === "https:" ? "wss:" : "ws:";
|
||||
const host = location.hostname;
|
||||
const socketPath = `${protocol}//${host}:${port}/socket`;
|
||||
|
||||
const ws = new WebSocket(socketPath);
|
||||
ws.onmessage = (message) => {
|
||||
const event = JSON.parse(message.data);
|
||||
if (event.type === "LOG") {
|
||||
console.log(event.message);
|
||||
}
|
||||
if (event.type === "RELOAD") {
|
||||
onReload();
|
||||
}
|
||||
};
|
||||
ws.onerror = (error) => {
|
||||
console.error(error);
|
||||
};
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/camelcase */
|
||||
import {
|
||||
AuthenticationProviderStatus,
|
||||
AuthenticationProviderStatusError,
|
||||
AuthenticationProviderStatusOk,
|
||||
BackupStates,
|
||||
RecoveryStates,
|
||||
ReducerState,
|
||||
@ -115,6 +118,7 @@ const base = {
|
||||
],
|
||||
authentication_providers: {
|
||||
"http://localhost:8086/": {
|
||||
status: "ok",
|
||||
http_status: 200,
|
||||
annual_fee: "COL:0",
|
||||
business_name: "Anastasis Local",
|
||||
@ -134,11 +138,12 @@ const base = {
|
||||
usage_fee: "COL:0",
|
||||
},
|
||||
],
|
||||
salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
provider_salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
storage_limit_in_megabytes: 16,
|
||||
truth_upload_fee: "COL:0",
|
||||
},
|
||||
} as AuthenticationProviderStatusOk,
|
||||
"https://kudos.demo.anastasis.lu/": {
|
||||
status: "ok",
|
||||
http_status: 200,
|
||||
annual_fee: "COL:0",
|
||||
business_name: "Anastasis Kudo",
|
||||
@ -154,11 +159,12 @@ const base = {
|
||||
usage_fee: "COL:0",
|
||||
},
|
||||
],
|
||||
salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
provider_salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
storage_limit_in_megabytes: 16,
|
||||
truth_upload_fee: "COL:0",
|
||||
},
|
||||
} as AuthenticationProviderStatusOk,
|
||||
"https://anastasis.demo.taler.net/": {
|
||||
status: "ok",
|
||||
http_status: 200,
|
||||
annual_fee: "COL:0",
|
||||
business_name: "Anastasis Demo",
|
||||
@ -178,23 +184,23 @@ const base = {
|
||||
usage_fee: "COL:0",
|
||||
},
|
||||
],
|
||||
salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
provider_salt: "WBMDD76BR1E90YQ5AHBMKPH7GW",
|
||||
storage_limit_in_megabytes: 16,
|
||||
truth_upload_fee: "COL:0",
|
||||
},
|
||||
} as AuthenticationProviderStatusOk,
|
||||
|
||||
"http://localhost:8087/": {
|
||||
code: 8414,
|
||||
hint: "request to provider failed",
|
||||
},
|
||||
} as AuthenticationProviderStatusError,
|
||||
"http://localhost:8088/": {
|
||||
code: 8414,
|
||||
hint: "request to provider failed",
|
||||
},
|
||||
} as AuthenticationProviderStatusError,
|
||||
"http://localhost:8089/": {
|
||||
code: 8414,
|
||||
hint: "request to provider failed",
|
||||
},
|
||||
} as AuthenticationProviderStatusError,
|
||||
},
|
||||
} as Partial<ReducerState>;
|
||||
|
||||
@ -210,6 +216,7 @@ export const reducerStatesExample = {
|
||||
} as ReducerState,
|
||||
secretSelection: {
|
||||
...base,
|
||||
reducer_type: "recovery",
|
||||
recovery_state: RecoveryStates.SecretSelecting,
|
||||
} as ReducerState,
|
||||
recoveryFinished: {
|
||||
@ -260,6 +267,7 @@ export const reducerStatesExample = {
|
||||
authEditing: {
|
||||
...base,
|
||||
backup_state: BackupStates.AuthenticationsEditing,
|
||||
reducer_type: "backup",
|
||||
} as ReducerState,
|
||||
backupAttributeEditing: {
|
||||
...base,
|
||||
|
72
packages/anastasis-webui/stories.html
Normal file
72
packages/anastasis-webui/stories.html
Normal file
@ -0,0 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Stories</title>
|
||||
<style>
|
||||
/* page css */
|
||||
div.page {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 100%;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
div.page p:not([class]) {
|
||||
margin-bottom: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
div.page {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
/* sidebar css */
|
||||
div.sidebar {
|
||||
min-width: 200px;
|
||||
height: calc(100vh - 20px);
|
||||
overflow-y: visible;
|
||||
overflow-x: hidden;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
div.sidebar > ol {
|
||||
padding: 4px;
|
||||
}
|
||||
div.sidebar div:first-child {
|
||||
background-color: lightcoral;
|
||||
cursor: pointer;
|
||||
}
|
||||
div.sidebar div[data-hide="true"] {
|
||||
display: none;
|
||||
}
|
||||
div.sidebar dd {
|
||||
margin-left: 1em;
|
||||
padding: 4px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
div.sidebar dd:nth-child(even) {
|
||||
background-color: lightgray;
|
||||
}
|
||||
div.sidebar dd:nth-child(odd) {
|
||||
background-color: lightblue;
|
||||
}
|
||||
div.sidebar a {
|
||||
color: black;
|
||||
}
|
||||
div.sidebar dd[data-selected] {
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
/* content css */
|
||||
div.content {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script src="./stories.js"></script>
|
||||
<link rel="stylesheet" href="./main.css" />
|
||||
</head>
|
||||
<body>
|
||||
<taler-stories id="container"></taler-stories>
|
||||
</body>
|
||||
</html>
|
111
pnpm-lock.yaml
111
pnpm-lock.yaml
@ -69,6 +69,7 @@ importers:
|
||||
bulma: ^0.9.3
|
||||
bulma-checkbox: ^1.1.1
|
||||
bulma-radio: ^1.1.1
|
||||
chokidar: ^3.5.3
|
||||
date-fns: 2.28.0
|
||||
enzyme: ^3.11.0
|
||||
enzyme-adapter-preact-pure: ^3.2.0
|
||||
@ -76,6 +77,7 @@ importers:
|
||||
eslint-config-preact: ^1.2.0
|
||||
jed: 1.1.1
|
||||
jssha: ^3.2.0
|
||||
mocha: ^9.2.0
|
||||
preact: ^10.5.15
|
||||
preact-cli: ^3.3.1
|
||||
preact-render-to-string: ^5.1.19
|
||||
@ -85,16 +87,20 @@ importers:
|
||||
sass-loader: ^10
|
||||
sirv-cli: ^1.0.14
|
||||
typescript: ^4.5.4
|
||||
ws: 7.4.5
|
||||
dependencies:
|
||||
'@gnu-taler/anastasis-core': link:../anastasis-core
|
||||
'@gnu-taler/taler-util': link:../taler-util
|
||||
base64-inline-loader: 1.1.1
|
||||
chokidar: 3.5.3
|
||||
date-fns: 2.28.0
|
||||
jed: 1.1.1
|
||||
mocha: 9.2.0
|
||||
preact: 10.6.5
|
||||
preact-render-to-string: 5.1.19_preact@10.6.5
|
||||
preact-router: 3.2.1_preact@10.6.5
|
||||
qrcode-generator: 1.4.4
|
||||
ws: 7.4.5
|
||||
devDependencies:
|
||||
'@creativebulma/bulma-tooltip': 1.2.0
|
||||
'@storybook/addon-a11y': 6.4.18
|
||||
@ -6186,7 +6192,6 @@ packages:
|
||||
|
||||
/@ungap/promise-all-settled/1.1.2:
|
||||
resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==}
|
||||
dev: true
|
||||
|
||||
/@webassemblyjs/ast/1.9.0:
|
||||
resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==}
|
||||
@ -6502,7 +6507,6 @@ packages:
|
||||
/ansi-colors/4.1.1:
|
||||
resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/ansi-html-community/0.0.8:
|
||||
resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
|
||||
@ -6518,7 +6522,6 @@ packages:
|
||||
/ansi-regex/5.0.1:
|
||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/ansi-regex/6.0.1:
|
||||
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
|
||||
@ -6542,7 +6545,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
color-convert: 2.0.1
|
||||
dev: true
|
||||
|
||||
/ansi-styles/6.1.0:
|
||||
resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==}
|
||||
@ -6572,7 +6574,6 @@ packages:
|
||||
dependencies:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/app-root-dir/1.0.2:
|
||||
resolution: {integrity: sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=}
|
||||
@ -6613,7 +6614,6 @@ packages:
|
||||
|
||||
/argparse/2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
dev: true
|
||||
|
||||
/aria-query/4.2.2:
|
||||
resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
|
||||
@ -7321,7 +7321,6 @@ packages:
|
||||
/binary-extensions/2.2.0:
|
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/bindings/1.5.0:
|
||||
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
||||
@ -7431,7 +7430,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
dev: true
|
||||
|
||||
/brorand/1.1.0:
|
||||
resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=}
|
||||
@ -7443,7 +7441,6 @@ packages:
|
||||
|
||||
/browser-stdout/1.3.1:
|
||||
resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==}
|
||||
dev: true
|
||||
|
||||
/browserify-aes/1.2.0:
|
||||
resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==}
|
||||
@ -7753,7 +7750,6 @@ packages:
|
||||
/camelcase/6.3.0:
|
||||
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/caniuse-api/3.0.0:
|
||||
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
|
||||
@ -7849,7 +7845,6 @@ packages:
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
supports-color: 7.2.0
|
||||
dev: true
|
||||
|
||||
/chalk/5.0.0:
|
||||
resolution: {integrity: sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==}
|
||||
@ -7935,7 +7930,6 @@ packages:
|
||||
readdirp: 3.6.0
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/chownr/1.1.4:
|
||||
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
||||
@ -8060,7 +8054,6 @@ packages:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wrap-ansi: 7.0.0
|
||||
dev: true
|
||||
|
||||
/clone-deep/4.0.1:
|
||||
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
|
||||
@ -8126,15 +8119,13 @@ packages:
|
||||
engines: {node: '>=7.0.0'}
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
dev: true
|
||||
|
||||
/color-name/1.1.3:
|
||||
resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
|
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
||||
dev: true
|
||||
|
||||
/color-name/1.1.4:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
dev: true
|
||||
|
||||
/color-string/1.9.0:
|
||||
resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==}
|
||||
@ -8268,7 +8259,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/concat-map/0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
||||
|
||||
/concat-stream/1.6.2:
|
||||
resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
|
||||
@ -9003,7 +8994,6 @@ packages:
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
supports-color: 8.1.1
|
||||
dev: true
|
||||
|
||||
/decamelize/1.2.0:
|
||||
resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=}
|
||||
@ -9013,7 +9003,6 @@ packages:
|
||||
/decamelize/4.0.0:
|
||||
resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/decode-uri-component/0.2.0:
|
||||
resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=}
|
||||
@ -9190,7 +9179,6 @@ packages:
|
||||
/diff/5.0.0:
|
||||
resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==}
|
||||
engines: {node: '>=0.3.1'}
|
||||
dev: true
|
||||
|
||||
/diffie-hellman/5.0.3:
|
||||
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
|
||||
@ -9450,7 +9438,6 @@ packages:
|
||||
|
||||
/emoji-regex/8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex/9.2.2:
|
||||
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
||||
@ -9864,7 +9851,6 @@ packages:
|
||||
/escalade/3.1.1:
|
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/escape-goat/2.1.1:
|
||||
resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==}
|
||||
@ -9876,7 +9862,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp/1.0.5:
|
||||
resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
|
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
dev: true
|
||||
|
||||
@ -9888,7 +9874,6 @@ packages:
|
||||
/escape-string-regexp/4.0.0:
|
||||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp/5.0.0:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
@ -10565,7 +10550,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/fill-range/4.0.0:
|
||||
resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=}
|
||||
resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
extend-shallow: 2.0.1
|
||||
@ -10579,7 +10564,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
dev: true
|
||||
|
||||
/finalhandler/1.1.2:
|
||||
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
|
||||
@ -10646,7 +10630,6 @@ packages:
|
||||
dependencies:
|
||||
locate-path: 6.0.0
|
||||
path-exists: 4.0.0
|
||||
dev: true
|
||||
|
||||
/find-up/6.3.0:
|
||||
resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
|
||||
@ -10676,7 +10659,6 @@ packages:
|
||||
/flat/5.0.2:
|
||||
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/flatted/3.2.5:
|
||||
resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==}
|
||||
@ -10972,7 +10954,6 @@ packages:
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/function-bind/1.1.1:
|
||||
@ -11025,7 +11006,6 @@ packages:
|
||||
/get-caller-file/2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
dev: true
|
||||
|
||||
/get-func-name/2.0.0:
|
||||
resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=}
|
||||
@ -11115,7 +11095,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/glob-parent/3.1.0:
|
||||
resolution: {integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=}
|
||||
resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==}
|
||||
dependencies:
|
||||
is-glob: 3.1.0
|
||||
path-dirname: 1.0.2
|
||||
@ -11126,7 +11106,6 @@ packages:
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
dev: true
|
||||
|
||||
/glob-parent/6.0.2:
|
||||
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
|
||||
@ -11266,7 +11245,6 @@ packages:
|
||||
/growl/1.10.5:
|
||||
resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==}
|
||||
engines: {node: '>=4.x'}
|
||||
dev: true
|
||||
|
||||
/gzip-size/6.0.0:
|
||||
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
|
||||
@ -11316,14 +11294,13 @@ packages:
|
||||
dev: true
|
||||
|
||||
/has-flag/3.0.0:
|
||||
resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/has-flag/4.0.0:
|
||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/has-glob/1.0.0:
|
||||
resolution: {integrity: sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=}
|
||||
@ -11484,7 +11461,6 @@ packages:
|
||||
/he/1.2.0:
|
||||
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/hex-color-regex/1.1.0:
|
||||
resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==}
|
||||
@ -11848,11 +11824,11 @@ packages:
|
||||
wrappy: 1.0.2
|
||||
|
||||
/inherits/2.0.1:
|
||||
resolution: {integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=}
|
||||
resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==}
|
||||
dev: true
|
||||
|
||||
/inherits/2.0.3:
|
||||
resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=}
|
||||
resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
|
||||
dev: true
|
||||
|
||||
/inherits/2.0.4:
|
||||
@ -11968,7 +11944,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/is-binary-path/1.0.1:
|
||||
resolution: {integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=}
|
||||
resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
binary-extensions: 1.13.1
|
||||
@ -11980,7 +11956,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
binary-extensions: 2.2.0
|
||||
dev: true
|
||||
|
||||
/is-boolean-object/1.1.2:
|
||||
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
|
||||
@ -12114,12 +12089,10 @@ packages:
|
||||
/is-extglob/2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-fullwidth-code-point/3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/is-fullwidth-code-point/4.0.0:
|
||||
resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
|
||||
@ -12131,7 +12104,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/is-glob/3.1.0:
|
||||
resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=}
|
||||
resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
@ -12142,7 +12115,6 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
dev: true
|
||||
|
||||
/is-hexadecimal/1.0.4:
|
||||
resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
|
||||
@ -12187,7 +12159,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/is-number/3.0.0:
|
||||
resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=}
|
||||
resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
kind-of: 3.2.2
|
||||
@ -12196,7 +12168,6 @@ packages:
|
||||
/is-number/7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
dev: true
|
||||
|
||||
/is-obj/1.0.1:
|
||||
resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=}
|
||||
@ -12225,7 +12196,6 @@ packages:
|
||||
/is-plain-obj/2.1.0:
|
||||
resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/is-plain-obj/3.0.0:
|
||||
resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
|
||||
@ -12314,7 +12284,6 @@ packages:
|
||||
/is-unicode-supported/0.1.0:
|
||||
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/is-unicode-supported/1.1.0:
|
||||
resolution: {integrity: sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==}
|
||||
@ -12369,8 +12338,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/isexe/2.0.0:
|
||||
resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
|
||||
dev: true
|
||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||
|
||||
/isobject/2.1.0:
|
||||
resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=}
|
||||
@ -12582,7 +12550,6 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
dev: true
|
||||
|
||||
/jsbn/0.1.1:
|
||||
resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=}
|
||||
@ -12933,7 +12900,6 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
dev: true
|
||||
|
||||
/locate-path/7.1.0:
|
||||
resolution: {integrity: sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==}
|
||||
@ -12984,7 +12950,6 @@ packages:
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
is-unicode-supported: 0.1.0
|
||||
dev: true
|
||||
|
||||
/loose-envify/1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
@ -13360,7 +13325,6 @@ packages:
|
||||
resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: true
|
||||
|
||||
/minimatch/3.0.5:
|
||||
resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==}
|
||||
@ -13485,7 +13449,6 @@ packages:
|
||||
yargs: 16.2.0
|
||||
yargs-parser: 20.2.4
|
||||
yargs-unparser: 2.0.0
|
||||
dev: true
|
||||
|
||||
/moo/0.5.1:
|
||||
resolution: {integrity: sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==}
|
||||
@ -13522,11 +13485,9 @@ packages:
|
||||
|
||||
/ms/2.1.2:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
dev: true
|
||||
|
||||
/ms/2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
dev: true
|
||||
|
||||
/multicast-dns-service-types/1.1.0:
|
||||
resolution: {integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=}
|
||||
@ -13550,7 +13511,6 @@ packages:
|
||||
resolution: {integrity: sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/nanomatch/1.2.13:
|
||||
resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
|
||||
@ -13717,7 +13677,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/normalize-path/2.1.1:
|
||||
resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=}
|
||||
resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
remove-trailing-separator: 1.1.0
|
||||
@ -13726,7 +13686,6 @@ packages:
|
||||
/normalize-path/3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/normalize-range/0.1.2:
|
||||
resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=}
|
||||
@ -13950,7 +13909,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/once/1.4.0:
|
||||
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
|
||||
@ -14103,7 +14062,6 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
yocto-queue: 0.1.0
|
||||
dev: true
|
||||
|
||||
/p-limit/4.0.0:
|
||||
resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
|
||||
@ -14138,7 +14096,6 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
p-limit: 3.1.0
|
||||
dev: true
|
||||
|
||||
/p-locate/6.0.0:
|
||||
resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
|
||||
@ -14343,14 +14300,13 @@ packages:
|
||||
dev: true
|
||||
|
||||
/path-exists/3.0.0:
|
||||
resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=}
|
||||
resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/path-exists/4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/path-exists/5.0.0:
|
||||
resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
|
||||
@ -14358,7 +14314,7 @@ packages:
|
||||
dev: true
|
||||
|
||||
/path-is-absolute/1.0.1:
|
||||
resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/path-key/2.0.1:
|
||||
@ -14421,7 +14377,6 @@ packages:
|
||||
/picomatch/2.3.1:
|
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||
engines: {node: '>=8.6'}
|
||||
dev: true
|
||||
|
||||
/pify/3.0.0:
|
||||
resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=}
|
||||
@ -15785,7 +15740,6 @@ packages:
|
||||
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: true
|
||||
|
||||
/randomfill/1.0.4:
|
||||
resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
|
||||
@ -16160,7 +16114,6 @@ packages:
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/refractor/3.5.0:
|
||||
resolution: {integrity: sha512-QwPJd3ferTZ4cSPPjdP5bsYHMytwWYnAN5EEnLtGvkqp/FCCnGsBgxrm9EuIDnjUC3Uc/kETtvVi7fSIVC74Dg==}
|
||||
@ -16405,7 +16358,6 @@ packages:
|
||||
/require-directory/2.1.1:
|
||||
resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/require-from-string/2.0.2:
|
||||
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
|
||||
@ -16626,7 +16578,6 @@ packages:
|
||||
|
||||
/safe-buffer/5.2.1:
|
||||
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
||||
dev: true
|
||||
|
||||
/safe-regex/1.1.0:
|
||||
resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=}
|
||||
@ -16851,7 +16802,6 @@ packages:
|
||||
resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==}
|
||||
dependencies:
|
||||
randombytes: 2.1.0
|
||||
dev: true
|
||||
|
||||
/serve-favicon/2.5.0:
|
||||
resolution: {integrity: sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=}
|
||||
@ -17343,7 +17293,6 @@ packages:
|
||||
emoji-regex: 8.0.0
|
||||
is-fullwidth-code-point: 3.0.0
|
||||
strip-ansi: 6.0.1
|
||||
dev: true
|
||||
|
||||
/string-width/5.1.0:
|
||||
resolution: {integrity: sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==}
|
||||
@ -17447,7 +17396,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
ansi-regex: 5.0.1
|
||||
dev: true
|
||||
|
||||
/strip-ansi/7.0.1:
|
||||
resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==}
|
||||
@ -17489,7 +17437,6 @@ packages:
|
||||
/strip-json-comments/3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/style-loader/1.3.0_webpack@4.46.0:
|
||||
resolution: {integrity: sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==}
|
||||
@ -17566,14 +17513,12 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
dev: true
|
||||
|
||||
/supports-color/8.1.1:
|
||||
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
dev: true
|
||||
|
||||
/supports-preserve-symlinks-flag/1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
@ -17860,7 +17805,6 @@ packages:
|
||||
engines: {node: '>=8.0'}
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
dev: true
|
||||
|
||||
/to-regex/3.0.2:
|
||||
resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
|
||||
@ -18882,7 +18826,6 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
dev: true
|
||||
|
||||
/wide-align/1.1.5:
|
||||
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
|
||||
@ -19089,7 +19032,6 @@ packages:
|
||||
|
||||
/workerpool/6.2.0:
|
||||
resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==}
|
||||
dev: true
|
||||
|
||||
/wrap-ansi/6.2.0:
|
||||
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
|
||||
@ -19107,7 +19049,6 @@ packages:
|
||||
ansi-styles: 4.3.0
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
dev: true
|
||||
|
||||
/wrappy/1.0.2:
|
||||
resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
|
||||
@ -19199,7 +19140,6 @@ packages:
|
||||
/y18n/5.0.8:
|
||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yallist/2.1.2:
|
||||
resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=}
|
||||
@ -19229,12 +19169,10 @@ packages:
|
||||
/yargs-parser/20.2.4:
|
||||
resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yargs-parser/20.2.9:
|
||||
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yargs-parser/21.0.0:
|
||||
resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==}
|
||||
@ -19249,7 +19187,6 @@ packages:
|
||||
decamelize: 4.0.0
|
||||
flat: 5.0.2
|
||||
is-plain-obj: 2.1.0
|
||||
dev: true
|
||||
|
||||
/yargs/15.4.1:
|
||||
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
|
||||
@ -19278,8 +19215,7 @@ packages:
|
||||
require-directory: 2.1.1
|
||||
string-width: 4.2.3
|
||||
y18n: 5.0.8
|
||||
yargs-parser: 20.2.4
|
||||
dev: true
|
||||
yargs-parser: 20.2.9
|
||||
|
||||
/yargs/17.3.1:
|
||||
resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==}
|
||||
@ -19297,7 +19233,6 @@ packages:
|
||||
/yocto-queue/0.1.0:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yocto-queue/1.0.0:
|
||||
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
|
||||
|
Loading…
Reference in New Issue
Block a user