From 2dbf264d46bbf6a4cf522cf6ab65e22f14b46560 Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Fri, 24 May 2024 14:33:54 +0100 Subject: [PATCH] Add bun compatibility --- package.json | 5 +++++ packages/web_ui/src/components/InstanceViewPage.tsx | 4 ++-- packages/web_ui/src/components/SiteLayout.tsx | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 7078aa49..00fee519 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,11 @@ "engines": { "node": ">=18" }, + "workspaces": [ + "packages/*", + "plugins/*", + "external_plugins/*" + ], "devDependencies": { "@clusterio/controller": "workspace:*", "@clusterio/ctl": "workspace:*", diff --git a/packages/web_ui/src/components/InstanceViewPage.tsx b/packages/web_ui/src/components/InstanceViewPage.tsx index 13ab8f3f..0b773d85 100644 --- a/packages/web_ui/src/components/InstanceViewPage.tsx +++ b/packages/web_ui/src/components/InstanceViewPage.tsx @@ -1,7 +1,6 @@ import React, { useContext, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; import { Alert, Button, Descriptions, Dropdown, MenuProps, Modal, Space, Spin, Typography } from "antd"; -import { ItemType } from "antd/es/menu/interface"; import DeleteOutlined from "@ant-design/icons/DeleteOutlined"; import DownOutlined from "@ant-design/icons/DownOutlined"; @@ -25,6 +24,7 @@ import { useHost } from "../model/host"; import InstanceStatusTag from "./InstanceStatusTag"; import Link from "./Link"; +type MenuItem = Required["items"][number]; const { Title } = Typography; type InstanceDescriptionProps = { @@ -71,7 +71,7 @@ function InstanceButtons(props: { instance: lib.InstanceDetails }) { let instance = props.instance; let instanceId = instance.id!; - let instanceButtonMenuItems: ItemType[] = []; + let instanceButtonMenuItems: MenuItem[] = []; if (account.hasPermission("core.instance.export_data")) { instanceButtonMenuItems.push({ disabled: exportingData || instance.status !== "stopped", diff --git a/packages/web_ui/src/components/SiteLayout.tsx b/packages/web_ui/src/components/SiteLayout.tsx index 0e84d85a..a24b3490 100644 --- a/packages/web_ui/src/components/SiteLayout.tsx +++ b/packages/web_ui/src/components/SiteLayout.tsx @@ -12,6 +12,8 @@ import ControlContext from "./ControlContext"; import { pages } from "../pages"; import { DraggingContext } from "../model/is_dragging"; +type MenuItem = Required["items"][number]; + const { Header, Sider } = Layout; function isActiveDropzone(element: HTMLElement | null): boolean { @@ -64,7 +66,7 @@ export default function SiteLayout() { combinedPages.push(...plugin.pages); } - let menuItems: ItemType[] = []; + let menuItems: MenuItem[] = []; let menuGroups = new Map(); for (let { sidebarName, sidebarGroup, permission, path } of combinedPages) { if (