19 changed files with 339 additions and 416 deletions
+9
View File
@@ -0,0 +1,9 @@
import { Body } from "./Primitives/Body";
export function Banner() {
return (
<div className="flex justify-center items-center w-screen bg-yellow-300 min-h-[30px]">
<Body>Test Banner</Body>
</div>
);
}
+1 -4
View File
@@ -94,10 +94,7 @@ export function CodeEditor(opts: CodeEditorProps) {
return (
<div>
<div
className="h-jsonViewerHeight overflow-y-auto no-scrollbar"
ref={editor}
/>
<div className="h-full overflow-y-auto no-scrollbar" ref={editor} />
</div>
);
}
+2 -4
View File
@@ -20,16 +20,14 @@ function ColumnElement(column: ColumnProps) {
return (
<div
className={
"column flex-none border-r-[1px] border-slate-300 w-80 transition dark:border-slate-600"
"column flex-none overflow-x-auto no-scrollbar border-r-[1px] border-slate-300 w-80 transition dark:border-slate-600"
}
>
<div className="flex items-center text-slate-800 bg-slate-50 mb-[3px] p-2 pb-0 transition dark:bg-slate-900 dark:text-slate-300">
{column.icon && <column.icon className="h-6 w-6 mr-1" />}
<Title className="">{title}</Title>
</div>
<div className="overflow-y-auto h-viewerHeight no-scrollbar">
{children}
</div>
<div className="h-full">{children}</div>
</div>
);
}
+11 -2
View File
@@ -10,7 +10,13 @@ import { BlankColumn } from "./BlankColumn";
import { Column } from "./Column";
import { ColumnItem } from "./ColumnItem";
function ColumnsElement({ columns }: { columns: ColumnDefinition[] }) {
function ColumnsElement({
columns,
props,
}: {
columns: ColumnDefinition[];
props?: any;
}) {
const [json] = useJson();
const { selectedPath, highlightedPath, highlightedNodeId } =
useJsonColumnViewState();
@@ -27,7 +33,10 @@ function ColumnsElement({ columns }: { columns: ColumnDefinition[] }) {
}, [highlightedPath, json]);
return (
<div className="columns flex flex-grow overflow-x-auto no-scrollbar focus:outline-none">
<div
className="all-columns flex h-full overflow-hidden focus:outline-none"
{...props}
>
{columns.map((column) => {
return (
<Column
+1 -1
View File
@@ -7,7 +7,7 @@ import { ThemeModeToggler } from "./ThemeModeToggle";
export function Footer() {
return (
<footer className="flex items-center justify-between w-screen h-[30px] bg-slate-200 dark:bg-slate-800 border-t-[1px] border-slate-400 transition dark:border-slate-600">
<footer className="flex items-center justify-between w-screen min-h-[30px] bg-slate-200 dark:bg-slate-800 border-t-[1px] border-slate-400 transition dark:border-slate-600">
<ol className="flex pl-3">
<li className="flex items-center">
<ArrowKeysIcon className="transition text-slate-300 dark:text-slate-500" />
+10 -2
View File
@@ -4,19 +4,27 @@ import { PropertiesValue } from "./Properties/PropertiesValue";
import { InfoHeader } from "./InfoHeader";
import { ContainerInfo } from "./ContainerInfo";
import { useSelectedInfo } from "~/hooks/useSelectedInfo";
import { useMemo } from "react";
import { useJson } from "~/hooks/useJson";
import { getRelatedPathsAtPath } from "~/utilities/relatedValues";
import { useJsonColumnViewState } from "~/hooks/useJsonColumnView";
import { useRelatedPaths } from "~/hooks/useRelatedPaths";
export function InfoPanel() {
const selectedInfo = useSelectedInfo();
const { selectedNodeId } = useJsonColumnViewState();
const relatedPaths = useRelatedPaths();
if (!selectedInfo) {
return <></>;
}
const isSelectedLeafNode =
selectedInfo.name !== "object" && selectedInfo.name !== "array";
return (
<>
<div className="h-inspectorHeight p-4 bg-white border-l-[1px] border-slate-300 overflow-y-auto no-scrollbar transition dark:bg-slate-800 dark:border-slate-600">
<div className="h-full p-4 bg-white border-l-[1px] border-slate-300 overflow-y-auto no-scrollbar transition dark:bg-slate-800 dark:border-slate-600">
<InfoHeader relatedPaths={relatedPaths} />
<div className="mb-4">
@@ -26,7 +34,7 @@ export function InfoPanel() {
<ContainerInfo />
<RelatedValues relatedPaths={relatedPaths} />
{isSelectedLeafNode && <RelatedValues relatedPaths={relatedPaths} />}
</div>
</>
);
+6 -6
View File
@@ -12,9 +12,7 @@ export function JsonColumnView() {
return (
<>
<KeyboardShortcuts />
<div {...getColumnViewProps()}>
<Columns columns={columns} />
</div>
<Columns columns={columns} props={getColumnViewProps()} />
</>
);
}
@@ -68,7 +66,9 @@ function KeyboardShortcuts() {
[api]
);
return <>
<CopySelectedNodeShortcut />
</>;
return (
<>
<CopySelectedNodeShortcut />
</>
);
}
+1 -1
View File
@@ -4,7 +4,7 @@ import { SearchBar } from "./SearchBar";
export function JsonView({ children }: { children: React.ReactNode }) {
return (
<div className="path-bar-and-column-wrapper flex flex-col flex-grow overflow-x-hidden border-l-[1px] border-slate-300 transition dark:border-slate-600">
<div className="path-bar-and-columns flex flex-col flex-grow overflow-x-hidden border-l-[1px] border-slate-300 transition dark:border-slate-600">
<div className="flex justify-between p-1 bg-slate-200 border-slate-300 border-b-[1px] transition dark:bg-slate-900 dark:border-slate-600">
<div className="flex-shrink-0 flex-grow-0">
<PathHistoryControls />
@@ -1,18 +0,0 @@
import { PreviewImageUri } from "./PreviewImageUri";
export function PreviewIPFSImage({ src }: { src: URL }) {
const newSrc = createPreviewIPFSImageURL(src);
return <PreviewImageUri src={newSrc} />;
}
const createPreviewIPFSImageURL = (src: URL): string => {
const url = new URL(src.href);
url.protocol = "https:";
url.pathname = `/ipfs/${src.pathname.substring(1)}`;
url.hostname = "ipfs.io";
// Remove the leading slash
return url.href;
};
@@ -6,11 +6,11 @@ export function PreviewImageUri({
contentType,
}: {
src: string;
contentType?: string;
contentType: string;
}) {
return (
<div>
<PreviewBox link={src}>
<PreviewBox>
<Body>
<img src={src} />
</Body>
+6 -13
View File
@@ -9,7 +9,6 @@ import { PreviewBox } from "../PreviewBox";
import { PreviewAudioUri } from "./PreviewAudioUri";
import { PreviewDate } from "./PreviewDate";
import { PreviewImageUri } from "./PreviewImageUri";
import { PreviewIPFSImage } from "./PreviewIPFSImage";
import { PreviewUri } from "./PreviewUri";
import { PreviewVideoUri } from "./PreviewVideoUri";
@@ -27,18 +26,12 @@ export function PreviewString({ info }: { info: JSONStringType }) {
info.format.contentType === "image/svg+xml" ||
info.format.contentType === "image/webp"
) {
const url = new URL(info.value);
if (url.protocol === "ipfs:") {
return <PreviewIPFSImage src={url} />;
} else {
return (
<PreviewImageUri
src={info.value}
contentType={info.format.contentType}
/>
);
}
return (
<PreviewImageUri
src={info.value}
contentType={info.format.contentType}
/>
);
} else if (
info.format.contentType === "video/mp4" ||
info.format.contentType === "video/webm" ||
-80
View File
@@ -1,80 +0,0 @@
import * as ToastPrimitive from "@radix-ui/react-toast";
import cx from "~/utilities/classnames";
import React from "react";
import { Body } from "../Primitives/Body";
import { Title } from "../Primitives/Title";
type Props = {};
const Toast = (props: Props) => {
const [open, setOpen] = React.useState(false);
return (
<ToastPrimitive.Provider>
<button
onClick={() => {
if (open) {
setOpen(false);
setTimeout(() => {
setOpen(true);
}, 500);
} else {
setOpen(true);
}
}}
>
Click
</button>
<ToastPrimitive.Root
open={open}
onOpenChange={setOpen}
className={cx(
"z-50 fixed bottom-4 inset-x-4 w-auto md:top-4 md:right-2 md:left-auto md:bottom-auto md:w-full md:max-w-sm shadow-lg rounded-md",
"bg-slate-100 dark:bg-slate-900 border-[1px] border-slate-200 dark:border-black",
"radix-state-open:animate-toast-slide-in-bottom md:radix-state-open:animate-toast-slide-in-right",
"radix-state-closed:animate-toast-hide",
"radix-swipe-end:animate-toast-swipe-out",
"translate-x-radix-toast-swipe-move-x",
"radix-swipe-cancel:translate-x-0 radix-swipe-cancel:duration-200 radix-swipe-cancel:ease-[ease]",
"focus:outline-none focus-visible:ring focus-visible:ring-indigo-500 focus-visible:ring-opacity-75"
)}
>
<div className="flex">
<div className="w-0 flex-1 flex items-center pl-5 py-4">
<div className="w-full radix">
<Title className="dark:text-slate-200">Invalid JSON</Title>
<Body className="mt-0.5 dark:text-slate-400">
Check your JSON is valid and try again.
</Body>
</div>
</div>
<div className="flex">
<div className="flex flex-col pl-3 pr-2 py-2 space-y-1">
<div className="h-0 flex-1 flex items-center">
<ToastPrimitive.Action
altText="close"
className="w-full max-h-10 border border-transparent rounded-sm px-3 py-2 flex items-center justify-center text-md font-medium text-white bg-indigo-600 hover:bg-indigo-600/90 focus:z-10 focus:outline-none focus-visible:ring focus-visible:ring-indigo-500 focus-visible:ring-opacity-75"
onClick={(e) => {
e.preventDefault();
window.open("https://github.com");
}}
>
Primary
</ToastPrimitive.Action>
</div>
<div className="h-0 flex-1 flex">
<ToastPrimitive.Close className="w-full max-h-10 border border-transparent rounded-sm px-3 py-2 flex items-center justify-center text-md font-medium text-slate-700 dark:text-slate-100 bg-slate-300 hover:bg-slate-300/80 dark:bg-slate-700 hover:dark:bg-slate-700/80 dark:hover:bg-slate-900 focus:z-10 focus:outline-none focus-visible:ring focus-visible:ring-indigo-500 focus-visible:ring-opacity-75">
Secondary
</ToastPrimitive.Close>
</div>
</div>
</div>
</div>
</ToastPrimitive.Root>
<ToastPrimitive.Viewport />
</ToastPrimitive.Provider>
);
};
export default Toast;
+64
View File
@@ -0,0 +1,64 @@
export default function Index() {
return <Flex />;
}
function Grid() {
return (
<div className="grid overflow-hidden grid-cols-1 grid-rows-app gap-0 h-screen">
<div className="bg-yellow-300 border-yellow-500 border-dashed border">
banner
</div>
<div className="bg-green-300 border-green-500 border-dashed border">
header
</div>
<div className="bg-red-300 border-red-500 border-dashed border">
<div className="flex h-full w-24 bg-slate-500"></div>
</div>
<div className="bg-blue-300 border-blue-500 border-dashed border">
footer
</div>
</div>
);
}
function Flex() {
return (
<div className="flex overflow-hidden flex-col gap-0 h-screen">
<div className="bg-yellow-300 border-yellow-500 border-dashed border min-h-8">
banner
</div>
<div className="bg-green-300 border-green-500 border-dashed border min-h-8">
header
</div>
<div className="bg-red-300 border-red-500 overflow-y-auto border-dashed border flex-grow">
<div className="h-full w-48 overflow-y-auto no-scrollbar bg-slate-500">
<div className="">
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
<TestItem></TestItem>
</div>
</div>
</div>
<div className="bg-blue-300 border-blue-500 border-dashed border min-h-8">
footer
</div>
</div>
);
}
function TestItem() {
return (
<div className="flex items-center justify-center bg-orange-300 border-b-slate-900 border-b">
<p className="text-2xl text-black">Test Item</p>
</div>
);
}
+2 -2
View File
@@ -28,7 +28,7 @@ import { Body } from "~/components/Primitives/Body";
import { PageNotFoundTitle } from "~/components/Primitives/PageNotFoundTitle";
import { SmallSubtitle } from "~/components/Primitives/SmallSubtitle";
import { Logo } from "~/components/Icons/Logo";
import ToastPopover from "~/components/UI/ToastPopover";
import { Banner } from "~/components/Banner";
export const loader: LoaderFunction = async ({ params, request }) => {
invariant(params.id, "expected params.id");
@@ -126,7 +126,6 @@ export default function JsonDocumentRoute() {
path={loaderData.path}
key={loaderData.doc.id}
>
<ToastPopover />
<JsonProvider initialJson={loaderData.json}>
<JsonSchemaProvider>
<JsonColumnViewProvider>
@@ -147,6 +146,7 @@ export default function JsonDocumentRoute() {
</div>
</div>
<div className="h-screen flex flex-col sm:overflow-hidden">
<Banner />
<Header />
<div className="bg-slate-50 flex-grow transition dark:bg-slate-900">
<div className="main-container flex justify-items-stretch h-full">
-6
View File
@@ -28,10 +28,6 @@ export function groupRelatedValues(
return "undefined";
} else if (value == null) {
return "null";
} else if (Array.isArray(value)) {
return "[...]";
} else if (typeof value === "object") {
return "{...}";
} else {
return value.toString();
}
@@ -75,8 +71,6 @@ export function getRelatedPathsAtPath(
if (inferredType.name !== "array") continue;
if (index + 1 === pathDepth) continue;
for (
let childIndex = 0;
childIndex < inferredType.value.length;
+216 -216
View File
@@ -56,7 +56,7 @@
"concurrently": "^7.0.0",
"esbuild-visualizer": "^0.3.1",
"jest": "^27.4.7",
"miniflare": "^2.4.0",
"miniflare": "^2.1.0",
"patch-package": "^6.4.7",
"rimraf": "^3.0.2",
"tailwindcss": "^3.0.22",
@@ -1724,9 +1724,9 @@
}
},
"node_modules/@jsonhero/json-infer-types": {
"version": "1.2.10",
"resolved": "https://registry.npmjs.org/@jsonhero/json-infer-types/-/json-infer-types-1.2.10.tgz",
"integrity": "sha512-D91mdtH59U76CRflPZrRfkPMuUPQjBaCqDpH18WnSC0tTqLKymF11XAGcY0KLeXoFd2EqJu9Q8HwxsFOTQQa8A==",
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/@jsonhero/json-infer-types/-/json-infer-types-1.2.9.tgz",
"integrity": "sha512-QuIOEy7M57bB4fhwadtDUQv5HjrUFD9SXjvQfWUMSQ6zOL8l9S9SV/wRQCn0y0dal+xZPBoMoDqTMJyEBIHnQQ==",
"dependencies": {
"ip-address": "^8.1.0",
"json5": "^2.2.0",
@@ -1793,13 +1793,13 @@
}
},
"node_modules/@miniflare/cache": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.4.0.tgz",
"integrity": "sha512-tMDXlUVlThgFubJmlxZoKmLK8kBxDmuMbVMt7csHpXegzkuo2TmIsDqBE/C3CRiJ5xeCQgpD6iZtKBu5Zn5fRA==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.3.0.tgz",
"integrity": "sha512-lOf3WVtrs0ac7KOtsQ+JOGHWR90zsqqJbolE+Wt4hIZuvM2U3t1RD2Ms7U20J301msVIsBAd02IL57H95LXQtQ==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"http-cache-semantics": "^4.1.0",
"undici": "4.13.0"
},
@@ -1808,12 +1808,12 @@
}
},
"node_modules/@miniflare/cli-parser": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.4.0.tgz",
"integrity": "sha512-Xr5lO8f+oIr9r/b2dfo0on1p0MNN+pkwRHWoY5ACSnp9FaGnwm/g71DM7AajIQPIk0TpRsSVNDx8Ygj1LPT+sQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.3.0.tgz",
"integrity": "sha512-yQzU+OBBvWshr9qVxAe6bWXJLNfpmLYrfkfR3u+rPOo2LYnccWg0f/8jtxrXM1TIyu+tCOJGqCODpO//XtrwWw==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0",
"@miniflare/shared": "2.3.0",
"kleur": "^4.1.4"
},
"engines": {
@@ -1821,14 +1821,14 @@
}
},
"node_modules/@miniflare/core": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.4.0.tgz",
"integrity": "sha512-vYl8xaWTFzxtkbzx3IkT4Py0OAFdfmFnVo627O1HKHWVGlkjVr8UKtxBpIR+f5pq/HCMzzqA1HM9FXO0dQfy3A==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.3.0.tgz",
"integrity": "sha512-Dltb3p+Uq5Lx53DuInckHYaDoMrBq49HE/p/oUDXmzHmQy7EAM6v+nJGKmiM9Uen4OqyqsmlmPWqntSMjaX7Jg==",
"dev": true,
"dependencies": {
"@iarna/toml": "^2.2.5",
"@miniflare/shared": "2.4.0",
"@miniflare/watcher": "2.4.0",
"@miniflare/shared": "2.3.0",
"@miniflare/watcher": "2.3.0",
"busboy": "^0.3.1",
"dotenv": "^10.0.0",
"kleur": "^4.1.4",
@@ -1840,14 +1840,14 @@
}
},
"node_modules/@miniflare/durable-objects": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.4.0.tgz",
"integrity": "sha512-VVLaUXXcAQcYE/3YmDLTacZf5OzR8bib6q1T9NqVb0uK5sLMQqyHvQdsG5rMqs7iyxfJxyZ0bL2OW9XGALOkoQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.3.0.tgz",
"integrity": "sha512-YuzxBBu9xBU3xxD4TzGdeVVMXrE76AWJE4MIqkJR5UmASqayyv//cApGw3+C01NHe07cpbrTM1QTgFo2eBncwQ==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/storage-memory": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/storage-memory": "2.3.0",
"undici": "4.13.0"
},
"engines": {
@@ -1855,13 +1855,13 @@
}
},
"node_modules/@miniflare/html-rewriter": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.4.0.tgz",
"integrity": "sha512-ZG8819N7LelDD+8+Ss5FZpVyQQq/V2igod0qE68JK4he/w4/yn57Rk6Efb49y15HoHAXl2RpCCsnCyIow/Xjug==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.3.0.tgz",
"integrity": "sha512-cyWhmQgzhtRlBeg0mxP5FmAq/75ChuLwWQlhokx88XkGnteuh0/DOk3OxIMaveF2oDHKmIlLFgSlzv4NbT1Mng==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"html-rewriter-wasm": "^0.4.1",
"undici": "4.13.0"
},
@@ -1870,14 +1870,14 @@
}
},
"node_modules/@miniflare/http-server": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.4.0.tgz",
"integrity": "sha512-r6Z/nqxE0oa1z63L95yvnG0PUeLRxZOeGS7ADxZMFKan4WD5lvYtSKDuDEm0lkbQshCOHQ3uXFr0cotOm8JoMQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.3.0.tgz",
"integrity": "sha512-jTzsRuro3yWVb4T85znBGw1w+ydimgi2PJvHrTuGFKDjFam+R037fGH+HZCAjAgPiBHTroXfkeSXypJLXbQBEg==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/web-sockets": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/web-sockets": "2.3.0",
"kleur": "^4.1.4",
"selfsigned": "^2.0.0",
"undici": "4.13.0",
@@ -1889,9 +1889,9 @@
}
},
"node_modules/@miniflare/http-server/node_modules/ws": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
"integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -1910,37 +1910,37 @@
}
},
"node_modules/@miniflare/kv": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.4.0.tgz",
"integrity": "sha512-1UW7f1386xR6EDEXNZOR1TpFwQfRRSxUPqD6m/U0WprlsbM0cIYGz+AUeaVbkFf8lfE2MeXCUrjbWsLOvsnw3g==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.3.0.tgz",
"integrity": "sha512-m0zu5sRoaFDm+WVTnLRrz8+77b6eVxQN7cLN6ZQiKP3Nd8cAggPdaIIef8dVksWbPvOW9DztoUVZTB1v9EOaLA==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/runner-vm": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.4.0.tgz",
"integrity": "sha512-7sdwBYzXQTwYeR3tTvQ+vJfzc7BXwqR8AUPK9l5gvCtg+Geq9sMslr5SikIJpgcvbYqKDjvC9DQEPJ3sqr9cSQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.3.0.tgz",
"integrity": "sha512-/aB997YodNcRFxtlnvEn4BJSIqKXRw29FexOqCWwWv+b7XQkTTxd4IfSocIFi6du3265gp85icqP/hxsLAQBVg==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/scheduler": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.4.0.tgz",
"integrity": "sha512-dfMCXoAS8Y+3xABNxYju62I2xIBS54Op7ohCHoatvAM5RvualJUPICEMPZzX6/z29q5xPIeSLhLDhl/asAQ19w==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.3.0.tgz",
"integrity": "sha512-Er80srMNXbxqGbYXtiZkD8UlveHsw4cpwcytQgsEJCHG7/48vC/rpmtN0zKOWFEHifaOUvHhURZRJu+S2E4Stg==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"cron-schedule": "^3.0.4"
},
"engines": {
@@ -1948,9 +1948,9 @@
}
},
"node_modules/@miniflare/shared": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.4.0.tgz",
"integrity": "sha512-lPQFzBUVGNQ93gQ/dliToWnO0OqAgsD3/902Pd/IixVSRwRj3BTnYv2dHMUKZcODBPrhnbqZeqcPWdBLzEx8uw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.3.0.tgz",
"integrity": "sha512-TvCSUe1op5AKINx3zHSSdfAbdoV3eSF3MzeVQA4+1NmtuefY8cjujQCdILeAxg3oPbHXaZkc7j1zZ13rYdvwGQ==",
"dev": true,
"dependencies": {
"ignore": "^5.1.8",
@@ -1961,64 +1961,64 @@
}
},
"node_modules/@miniflare/sites": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.4.0.tgz",
"integrity": "sha512-YZy/TujnR1lkBvCncDDQ8tsWsXRE4JJ4x9a0bKN/XnZh7r6OhDM0sw4BFcBQhT6Ukdtttam1O3FlJxnMitrDGg==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.3.0.tgz",
"integrity": "sha512-WkRBxQbf6k/eS1D/D1mw30Zs253TFeIkWFh8HQ8Z36Kdt79rNVezT9YmRpahUfvYXmubTquV5JftNOAhvbOJXA==",
"dev": true,
"dependencies": {
"@miniflare/kv": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/storage-file": "2.4.0"
"@miniflare/kv": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/storage-file": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/storage-file": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.4.0.tgz",
"integrity": "sha512-f1AUMz8xps/4VhNJMb8JeCevZFeU4pg2lIWmC11gG4xeq2nibTPBi6Qtx594Le7ZKij/tF6rRsoNfGau2Q5gdw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.3.0.tgz",
"integrity": "sha512-1rda/MC0R8wVC6N7Na2EdSGNAZv6o/yugp7Z+GikJ1vbgi1+9soAczDzFtaq4jrBzAkCFOMT79DgkSKSl59vxg==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0",
"@miniflare/storage-memory": "2.4.0"
"@miniflare/shared": "2.3.0",
"@miniflare/storage-memory": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/storage-memory": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.4.0.tgz",
"integrity": "sha512-mhWwgHhDNtEa7y1bYbdVucV0lqUmzagYXUSppAdSGS5JPyJMyw3HseqRNTk6gC/vKlvEYlFf3ugWcREGCedr9A==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.3.0.tgz",
"integrity": "sha512-cMqQK9neRySchoNUVhQYOmLFrYkAjT5V113Wfxmsz93dladQ1/mXOsndqPrlb+5hhnwbw4Ns67nyzkHUe9sX/g==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/watcher": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.4.0.tgz",
"integrity": "sha512-gDQRUxwOjmctvowyd4Hcdy3fjxz3ERKzirp6TvA3AWUohKZk3IhwGlaA8aCwbdP+ELYQlG5wK44AfLSGi956fg==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.3.0.tgz",
"integrity": "sha512-G0ZE9WHIcdR2TlPXwwQabULDIMZ9LujfC0tn+yXmPXKxgWoJWcWFmUbkhVDcOJzkIz2TAhRlLbW11n8nChUHFQ==",
"dev": true,
"dependencies": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
},
"engines": {
"node": ">=16.7"
}
},
"node_modules/@miniflare/web-sockets": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.4.0.tgz",
"integrity": "sha512-cz/cN0GoQOXRLh80UmlcEJODPIw2ijKBK3PLRzvfTzqQ5avK6wp2M8Fj8C/5JIT6g7siwvBANyKXD3U3RpKGHQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.3.0.tgz",
"integrity": "sha512-3xcPG1vfiMb2obVC4jNtS5VzUxzM1rdUrWPCG86gpZaHky0xC1U7Tp+eFdxQFTty99HPYrrVKXl1ww2h1LGWRA==",
"dev": true,
"dependencies": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"undici": "4.13.0",
"ws": "^8.2.2"
},
@@ -2027,9 +2027,9 @@
}
},
"node_modules/@miniflare/web-sockets/node_modules/ws": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
"integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -4396,9 +4396,9 @@
"integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
},
"node_modules/cron-schedule": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.6.tgz",
"integrity": "sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==",
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.5.tgz",
"integrity": "sha512-YjtB4jy7RJEX8j9GokHp+y8S/ihCHjrD2Z3E13LSGP/+G0Sdv+MEKsZu5wPLLWwW1HQc4HwpGMFU3GUTStZTaA==",
"dev": true
},
"node_modules/cross-spawn": {
@@ -10236,25 +10236,25 @@
}
},
"node_modules/miniflare": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-2.4.0.tgz",
"integrity": "sha512-xOBL/dQsUL95rxIYO+KrrVPPpm2TAf6TKl4AvhcjSfUeVkzDWd/y9f7hXCt8x6srDoK0Z2LpYouatvSfSUzGOw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-2.3.0.tgz",
"integrity": "sha512-0lK4Df+jfqLDSDDgj4AOJffb1G6sN7XvB5QGUaquEakW+qPdurydyNhFKcFKBgpk4ozN6WTmB2x802iPXQcJJQ==",
"dev": true,
"dependencies": {
"@miniflare/cache": "2.4.0",
"@miniflare/cli-parser": "2.4.0",
"@miniflare/core": "2.4.0",
"@miniflare/durable-objects": "2.4.0",
"@miniflare/html-rewriter": "2.4.0",
"@miniflare/http-server": "2.4.0",
"@miniflare/kv": "2.4.0",
"@miniflare/runner-vm": "2.4.0",
"@miniflare/scheduler": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/sites": "2.4.0",
"@miniflare/storage-file": "2.4.0",
"@miniflare/storage-memory": "2.4.0",
"@miniflare/web-sockets": "2.4.0",
"@miniflare/cache": "2.3.0",
"@miniflare/cli-parser": "2.3.0",
"@miniflare/core": "2.3.0",
"@miniflare/durable-objects": "2.3.0",
"@miniflare/html-rewriter": "2.3.0",
"@miniflare/http-server": "2.3.0",
"@miniflare/kv": "2.3.0",
"@miniflare/runner-vm": "2.3.0",
"@miniflare/scheduler": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/sites": "2.3.0",
"@miniflare/storage-file": "2.3.0",
"@miniflare/storage-memory": "2.3.0",
"@miniflare/web-sockets": "2.3.0",
"kleur": "^4.1.4",
"semiver": "^1.1.0",
"source-map-support": "^0.5.20",
@@ -10267,7 +10267,7 @@
"node": ">=16.7"
},
"peerDependencies": {
"@miniflare/storage-redis": "2.4.0",
"@miniflare/storage-redis": "2.3.0",
"cron-schedule": "^3.0.4",
"ioredis": "^4.27.9"
},
@@ -10491,9 +10491,9 @@
}
},
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz",
"integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==",
"dev": true,
"engines": {
"node": ">= 6.13.0"
@@ -11919,12 +11919,12 @@
}
},
"node_modules/selfsigned": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz",
"integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz",
"integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==",
"dev": true,
"dependencies": {
"node-forge": "^1"
"node-forge": "^1.2.0"
},
"engines": {
"node": ">=10"
@@ -14905,9 +14905,9 @@
}
},
"@jsonhero/json-infer-types": {
"version": "1.2.10",
"resolved": "https://registry.npmjs.org/@jsonhero/json-infer-types/-/json-infer-types-1.2.10.tgz",
"integrity": "sha512-D91mdtH59U76CRflPZrRfkPMuUPQjBaCqDpH18WnSC0tTqLKymF11XAGcY0KLeXoFd2EqJu9Q8HwxsFOTQQa8A==",
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/@jsonhero/json-infer-types/-/json-infer-types-1.2.9.tgz",
"integrity": "sha512-QuIOEy7M57bB4fhwadtDUQv5HjrUFD9SXjvQfWUMSQ6zOL8l9S9SV/wRQCn0y0dal+xZPBoMoDqTMJyEBIHnQQ==",
"requires": {
"ip-address": "^8.1.0",
"json5": "^2.2.0",
@@ -14962,36 +14962,36 @@
}
},
"@miniflare/cache": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.4.0.tgz",
"integrity": "sha512-tMDXlUVlThgFubJmlxZoKmLK8kBxDmuMbVMt7csHpXegzkuo2TmIsDqBE/C3CRiJ5xeCQgpD6iZtKBu5Zn5fRA==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.3.0.tgz",
"integrity": "sha512-lOf3WVtrs0ac7KOtsQ+JOGHWR90zsqqJbolE+Wt4hIZuvM2U3t1RD2Ms7U20J301msVIsBAd02IL57H95LXQtQ==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"http-cache-semantics": "^4.1.0",
"undici": "4.13.0"
}
},
"@miniflare/cli-parser": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.4.0.tgz",
"integrity": "sha512-Xr5lO8f+oIr9r/b2dfo0on1p0MNN+pkwRHWoY5ACSnp9FaGnwm/g71DM7AajIQPIk0TpRsSVNDx8Ygj1LPT+sQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.3.0.tgz",
"integrity": "sha512-yQzU+OBBvWshr9qVxAe6bWXJLNfpmLYrfkfR3u+rPOo2LYnccWg0f/8jtxrXM1TIyu+tCOJGqCODpO//XtrwWw==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0",
"@miniflare/shared": "2.3.0",
"kleur": "^4.1.4"
}
},
"@miniflare/core": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.4.0.tgz",
"integrity": "sha512-vYl8xaWTFzxtkbzx3IkT4Py0OAFdfmFnVo627O1HKHWVGlkjVr8UKtxBpIR+f5pq/HCMzzqA1HM9FXO0dQfy3A==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.3.0.tgz",
"integrity": "sha512-Dltb3p+Uq5Lx53DuInckHYaDoMrBq49HE/p/oUDXmzHmQy7EAM6v+nJGKmiM9Uen4OqyqsmlmPWqntSMjaX7Jg==",
"dev": true,
"requires": {
"@iarna/toml": "^2.2.5",
"@miniflare/shared": "2.4.0",
"@miniflare/watcher": "2.4.0",
"@miniflare/shared": "2.3.0",
"@miniflare/watcher": "2.3.0",
"busboy": "^0.3.1",
"dotenv": "^10.0.0",
"kleur": "^4.1.4",
@@ -15000,38 +15000,38 @@
}
},
"@miniflare/durable-objects": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.4.0.tgz",
"integrity": "sha512-VVLaUXXcAQcYE/3YmDLTacZf5OzR8bib6q1T9NqVb0uK5sLMQqyHvQdsG5rMqs7iyxfJxyZ0bL2OW9XGALOkoQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.3.0.tgz",
"integrity": "sha512-YuzxBBu9xBU3xxD4TzGdeVVMXrE76AWJE4MIqkJR5UmASqayyv//cApGw3+C01NHe07cpbrTM1QTgFo2eBncwQ==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/storage-memory": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/storage-memory": "2.3.0",
"undici": "4.13.0"
}
},
"@miniflare/html-rewriter": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.4.0.tgz",
"integrity": "sha512-ZG8819N7LelDD+8+Ss5FZpVyQQq/V2igod0qE68JK4he/w4/yn57Rk6Efb49y15HoHAXl2RpCCsnCyIow/Xjug==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.3.0.tgz",
"integrity": "sha512-cyWhmQgzhtRlBeg0mxP5FmAq/75ChuLwWQlhokx88XkGnteuh0/DOk3OxIMaveF2oDHKmIlLFgSlzv4NbT1Mng==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"html-rewriter-wasm": "^0.4.1",
"undici": "4.13.0"
}
},
"@miniflare/http-server": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.4.0.tgz",
"integrity": "sha512-r6Z/nqxE0oa1z63L95yvnG0PUeLRxZOeGS7ADxZMFKan4WD5lvYtSKDuDEm0lkbQshCOHQ3uXFr0cotOm8JoMQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.3.0.tgz",
"integrity": "sha512-jTzsRuro3yWVb4T85znBGw1w+ydimgi2PJvHrTuGFKDjFam+R037fGH+HZCAjAgPiBHTroXfkeSXypJLXbQBEg==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/web-sockets": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/web-sockets": "2.3.0",
"kleur": "^4.1.4",
"selfsigned": "^2.0.0",
"undici": "4.13.0",
@@ -15040,47 +15040,47 @@
},
"dependencies": {
"ws": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
"integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"requires": {}
}
}
},
"@miniflare/kv": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.4.0.tgz",
"integrity": "sha512-1UW7f1386xR6EDEXNZOR1TpFwQfRRSxUPqD6m/U0WprlsbM0cIYGz+AUeaVbkFf8lfE2MeXCUrjbWsLOvsnw3g==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.3.0.tgz",
"integrity": "sha512-m0zu5sRoaFDm+WVTnLRrz8+77b6eVxQN7cLN6ZQiKP3Nd8cAggPdaIIef8dVksWbPvOW9DztoUVZTB1v9EOaLA==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
}
},
"@miniflare/runner-vm": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.4.0.tgz",
"integrity": "sha512-7sdwBYzXQTwYeR3tTvQ+vJfzc7BXwqR8AUPK9l5gvCtg+Geq9sMslr5SikIJpgcvbYqKDjvC9DQEPJ3sqr9cSQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.3.0.tgz",
"integrity": "sha512-/aB997YodNcRFxtlnvEn4BJSIqKXRw29FexOqCWwWv+b7XQkTTxd4IfSocIFi6du3265gp85icqP/hxsLAQBVg==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
}
},
"@miniflare/scheduler": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.4.0.tgz",
"integrity": "sha512-dfMCXoAS8Y+3xABNxYju62I2xIBS54Op7ohCHoatvAM5RvualJUPICEMPZzX6/z29q5xPIeSLhLDhl/asAQ19w==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.3.0.tgz",
"integrity": "sha512-Er80srMNXbxqGbYXtiZkD8UlveHsw4cpwcytQgsEJCHG7/48vC/rpmtN0zKOWFEHifaOUvHhURZRJu+S2E4Stg==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"cron-schedule": "^3.0.4"
}
},
"@miniflare/shared": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.4.0.tgz",
"integrity": "sha512-lPQFzBUVGNQ93gQ/dliToWnO0OqAgsD3/902Pd/IixVSRwRj3BTnYv2dHMUKZcODBPrhnbqZeqcPWdBLzEx8uw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.3.0.tgz",
"integrity": "sha512-TvCSUe1op5AKINx3zHSSdfAbdoV3eSF3MzeVQA4+1NmtuefY8cjujQCdILeAxg3oPbHXaZkc7j1zZ13rYdvwGQ==",
"dev": true,
"requires": {
"ignore": "^5.1.8",
@@ -15088,60 +15088,60 @@
}
},
"@miniflare/sites": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.4.0.tgz",
"integrity": "sha512-YZy/TujnR1lkBvCncDDQ8tsWsXRE4JJ4x9a0bKN/XnZh7r6OhDM0sw4BFcBQhT6Ukdtttam1O3FlJxnMitrDGg==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.3.0.tgz",
"integrity": "sha512-WkRBxQbf6k/eS1D/D1mw30Zs253TFeIkWFh8HQ8Z36Kdt79rNVezT9YmRpahUfvYXmubTquV5JftNOAhvbOJXA==",
"dev": true,
"requires": {
"@miniflare/kv": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/storage-file": "2.4.0"
"@miniflare/kv": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/storage-file": "2.3.0"
}
},
"@miniflare/storage-file": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.4.0.tgz",
"integrity": "sha512-f1AUMz8xps/4VhNJMb8JeCevZFeU4pg2lIWmC11gG4xeq2nibTPBi6Qtx594Le7ZKij/tF6rRsoNfGau2Q5gdw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.3.0.tgz",
"integrity": "sha512-1rda/MC0R8wVC6N7Na2EdSGNAZv6o/yugp7Z+GikJ1vbgi1+9soAczDzFtaq4jrBzAkCFOMT79DgkSKSl59vxg==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0",
"@miniflare/storage-memory": "2.4.0"
"@miniflare/shared": "2.3.0",
"@miniflare/storage-memory": "2.3.0"
}
},
"@miniflare/storage-memory": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.4.0.tgz",
"integrity": "sha512-mhWwgHhDNtEa7y1bYbdVucV0lqUmzagYXUSppAdSGS5JPyJMyw3HseqRNTk6gC/vKlvEYlFf3ugWcREGCedr9A==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.3.0.tgz",
"integrity": "sha512-cMqQK9neRySchoNUVhQYOmLFrYkAjT5V113Wfxmsz93dladQ1/mXOsndqPrlb+5hhnwbw4Ns67nyzkHUe9sX/g==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
}
},
"@miniflare/watcher": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.4.0.tgz",
"integrity": "sha512-gDQRUxwOjmctvowyd4Hcdy3fjxz3ERKzirp6TvA3AWUohKZk3IhwGlaA8aCwbdP+ELYQlG5wK44AfLSGi956fg==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.3.0.tgz",
"integrity": "sha512-G0ZE9WHIcdR2TlPXwwQabULDIMZ9LujfC0tn+yXmPXKxgWoJWcWFmUbkhVDcOJzkIz2TAhRlLbW11n8nChUHFQ==",
"dev": true,
"requires": {
"@miniflare/shared": "2.4.0"
"@miniflare/shared": "2.3.0"
}
},
"@miniflare/web-sockets": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.4.0.tgz",
"integrity": "sha512-cz/cN0GoQOXRLh80UmlcEJODPIw2ijKBK3PLRzvfTzqQ5avK6wp2M8Fj8C/5JIT6g7siwvBANyKXD3U3RpKGHQ==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.3.0.tgz",
"integrity": "sha512-3xcPG1vfiMb2obVC4jNtS5VzUxzM1rdUrWPCG86gpZaHky0xC1U7Tp+eFdxQFTty99HPYrrVKXl1ww2h1LGWRA==",
"dev": true,
"requires": {
"@miniflare/core": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/core": "2.3.0",
"@miniflare/shared": "2.3.0",
"undici": "4.13.0",
"ws": "^8.2.2"
},
"dependencies": {
"ws": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
"integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
"integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
"dev": true,
"requires": {}
}
@@ -17037,9 +17037,9 @@
"integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
},
"cron-schedule": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.6.tgz",
"integrity": "sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==",
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.5.tgz",
"integrity": "sha512-YjtB4jy7RJEX8j9GokHp+y8S/ihCHjrD2Z3E13LSGP/+G0Sdv+MEKsZu5wPLLWwW1HQc4HwpGMFU3GUTStZTaA==",
"dev": true
},
"cross-spawn": {
@@ -21188,25 +21188,25 @@
"dev": true
},
"miniflare": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-2.4.0.tgz",
"integrity": "sha512-xOBL/dQsUL95rxIYO+KrrVPPpm2TAf6TKl4AvhcjSfUeVkzDWd/y9f7hXCt8x6srDoK0Z2LpYouatvSfSUzGOw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-2.3.0.tgz",
"integrity": "sha512-0lK4Df+jfqLDSDDgj4AOJffb1G6sN7XvB5QGUaquEakW+qPdurydyNhFKcFKBgpk4ozN6WTmB2x802iPXQcJJQ==",
"dev": true,
"requires": {
"@miniflare/cache": "2.4.0",
"@miniflare/cli-parser": "2.4.0",
"@miniflare/core": "2.4.0",
"@miniflare/durable-objects": "2.4.0",
"@miniflare/html-rewriter": "2.4.0",
"@miniflare/http-server": "2.4.0",
"@miniflare/kv": "2.4.0",
"@miniflare/runner-vm": "2.4.0",
"@miniflare/scheduler": "2.4.0",
"@miniflare/shared": "2.4.0",
"@miniflare/sites": "2.4.0",
"@miniflare/storage-file": "2.4.0",
"@miniflare/storage-memory": "2.4.0",
"@miniflare/web-sockets": "2.4.0",
"@miniflare/cache": "2.3.0",
"@miniflare/cli-parser": "2.3.0",
"@miniflare/core": "2.3.0",
"@miniflare/durable-objects": "2.3.0",
"@miniflare/html-rewriter": "2.3.0",
"@miniflare/http-server": "2.3.0",
"@miniflare/kv": "2.3.0",
"@miniflare/runner-vm": "2.3.0",
"@miniflare/scheduler": "2.3.0",
"@miniflare/shared": "2.3.0",
"@miniflare/sites": "2.3.0",
"@miniflare/storage-file": "2.3.0",
"@miniflare/storage-memory": "2.3.0",
"@miniflare/web-sockets": "2.3.0",
"kleur": "^4.1.4",
"semiver": "^1.1.0",
"source-map-support": "^0.5.20",
@@ -21364,9 +21364,9 @@
}
},
"node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz",
"integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==",
"dev": true
},
"node-int64": {
@@ -22398,12 +22398,12 @@
}
},
"selfsigned": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz",
"integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz",
"integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==",
"dev": true,
"requires": {
"node-forge": "^1"
"node-forge": "^1.2.0"
}
},
"semiver": {
+1 -1
View File
@@ -76,7 +76,7 @@
"concurrently": "^7.0.0",
"esbuild-visualizer": "^0.3.1",
"jest": "^27.4.7",
"miniflare": "^2.4.0",
"miniflare": "^2.1.0",
"patch-package": "^6.4.7",
"rimraf": "^3.0.2",
"tailwindcss": "^3.0.22",
+6 -3
View File
@@ -20,9 +20,12 @@ module.exports = {
},
extend: {
height: {
viewerHeight: "calc(100vh - 146px)",
inspectorHeight: "calc(100vh - 70px)",
jsonViewerHeight: "calc(100vh - 106px)",
// viewerHeight: "calc(100vh - 146px)",
// inspectorHeight: "calc(100vh - 70px)",
// jsonViewerHeight: "calc(100vh - 106px)",
},
gridTemplateColumns: {
'json-column': 'auto',
},
fontFamily: {
sans: ["Source Sans Pro", "sans-serif"],
+1 -55
View File
@@ -46,9 +46,6 @@ const json = {
},
id: "B65hEUWW01ErVKDDGImKcBquYhwEAkjW6Ic3lPY0299Cc",
created_at: "1607587513",
another_field: {
nested: "value",
},
modifiedAt: null,
},
{
@@ -78,62 +75,11 @@ const json = {
},
id: "B65hEUWW01ErVKDDGImKcBquYhwEAkjW6Ic3lPY0299Cc",
created_at: "1607587513",
another_field: {
nested: "value",
},
},
],
};
describe("calculateRelatedValuesGroups", () => {
test("it should return the correct values when path is an object", () => {
const path = "$.data.1.another_field";
const result = calculateRelatedValuesGroups(path, json);
expect(result).toMatchInlineSnapshot(`
Array [
Object {
"paths": Array [
"$.data.1.another_field",
"$.data.2.another_field",
],
"value": "{...}",
},
Object {
"paths": Array [
"$.data.0.another_field",
],
"value": "undefined",
},
]
`);
});
test("it should return the correct values when path is an array", () => {
const path = "$.data.1.recent_asset_ids";
const result = calculateRelatedValuesGroups(path, json);
expect(result).toMatchInlineSnapshot(`
Array [
Object {
"paths": Array [
"$.data.1.recent_asset_ids",
"$.data.2.recent_asset_ids",
],
"value": "[...]",
},
Object {
"paths": Array [
"$.data.0.recent_asset_ids",
],
"value": "undefined",
},
]
`);
});
test("it should return the correct related values grouped by value", () => {
const path = "$.data.1.playback_ids.0.policy";
@@ -160,7 +106,7 @@ Array [
paths: ["$.data.2.playback_ids.1.policy"],
},
{
value: "{...}",
value: "[object Object]",
paths: ["$.data.2.playback_ids.2.policy"],
},
]);