diff --git a/package.json b/package.json index b8c32482..8ae0c1d4 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,6 @@ "@types/node": "catalog:", "c8": "^12.0.0", "express": "catalog:", - "form-data": "^4.0.6", "jsonwebtoken": "catalog:", "mocha": "^11.8.0", "oxlint": "^1.88.0", diff --git a/packages/controller/typedoc.json b/packages/controller/typedoc.json deleted file mode 100644 index ff5edcb9..00000000 --- a/packages/controller/typedoc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "entryPoints": ["index.ts"], - "includeVersion": true -} diff --git a/packages/ctl/typedoc.json b/packages/ctl/typedoc.json deleted file mode 100644 index ff5edcb9..00000000 --- a/packages/ctl/typedoc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "entryPoints": ["index.ts"], - "includeVersion": true -} diff --git a/packages/host/typedoc.json b/packages/host/typedoc.json deleted file mode 100644 index ff5edcb9..00000000 --- a/packages/host/typedoc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "entryPoints": ["index.ts"], - "includeVersion": true -} diff --git a/packages/lib/typedoc.json b/packages/lib/typedoc.json deleted file mode 100644 index ff5edcb9..00000000 --- a/packages/lib/typedoc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "entryPoints": ["index.ts"], - "includeVersion": true -} diff --git a/packages/web_ui/package.json b/packages/web_ui/package.json index 3f010034..13c6551d 100644 --- a/packages/web_ui/package.json +++ b/packages/web_ui/package.json @@ -45,7 +45,6 @@ "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", "process": "^0.11.10", - "rc-field-form": "^1.44.0", "react": "catalog:", "react-dom": "catalog:", "react-markdown": "catalog:", @@ -53,7 +52,6 @@ "react-router-dom": "catalog:", "semver": "catalog:", "stream-browserify": "^3.0.0", - "typescript": "catalog:", "util": "^0.12.5", "vite": "catalog:" }, @@ -61,6 +59,7 @@ "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "^18.3.7", - "@types/semver": "catalog:" + "@types/semver": "catalog:", + "typescript": "catalog:" } } diff --git a/packages/web_ui/src/components/ModPackViewPage.tsx b/packages/web_ui/src/components/ModPackViewPage.tsx index 3aba7619..575b3361 100644 --- a/packages/web_ui/src/components/ModPackViewPage.tsx +++ b/packages/web_ui/src/components/ModPackViewPage.tsx @@ -1,11 +1,10 @@ import React, { Fragment, memo, useCallback, useEffect, useContext, useRef, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; -import { FieldData } from "rc-field-form/lib/interface"; import { Button, Card, ColorPicker, Checkbox, Col, ConfigProvider, Descriptions, Form, Input, Pagination, Popconfirm, Row, Table, Tag, Typography, Select, Skeleton, Space, Spin, Switch, Modal, Tooltip, - TablePaginationConfig, Alert, notification, + TablePaginationConfig, Alert, notification, FormProps, } from "antd"; import { @@ -35,6 +34,8 @@ const { logger } = lib; const { Text } = Typography; const strcmp = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" }).compare; +type FieldData = NonNullable[number]; + type ModChange = { type: "name" | "description" diff --git a/packages/web_ui/typedoc.json b/packages/web_ui/typedoc.json deleted file mode 100644 index 5aab5474..00000000 --- a/packages/web_ui/typedoc.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "entryPoints": ["src/index.ts"], - "includeVersion": true -} diff --git a/test/controller/routes.js b/test/controller/routes.js index d0af23da..0f60a9d2 100644 --- a/test/controller/routes.js +++ b/test/controller/routes.js @@ -1,6 +1,5 @@ import assert from "node:assert/strict"; import events from "node:events"; -import FormData from "form-data"; import http from "node:http"; import { wait, expositionContentType } from "@clusterio/lib"; @@ -308,27 +307,25 @@ describe("controller/src/routes", function() { let form; form = new FormData(); form.append("instance_id", "123"); - form.append("file", "totally a zip file", { filename: "test.zip", contentType: "text/plain" }); + form.append("file", new Blob(["totally a zip file"], { type: "text/plain" }), "test.zip"); response = await fetch(endpoint, { method: "POST", headers: { "X-Access-Token": testToken, - ...form.getHeaders(), }, - body: form.getBuffer(), + body: form, }); assert.equal(response.status, 400); assert.deepEqual(await response.json(), { request_errors: ["invalid file Content-Type"] }); form = new FormData(); - form.append("file", "totally a zip file", { filename: "test.zip", contentType: "application/zip" }); + form.append("file", new Blob(["totally a zip file"], { type: "application/zip" }), "test.zip"); form.append("instance_id", "123"); response = await fetch(endpoint, { method: "POST", headers: { "X-Access-Token": testToken, - ...form.getHeaders(), }, - body: form.getBuffer(), + body: form, }); assert.equal(response.status, 400); assert.deepEqual( @@ -336,14 +333,13 @@ describe("controller/src/routes", function() { ); form = new FormData(); form.append("instance_id", "123"); - form.append("file", "totally a zip file", { filename: "test.txt", contentType: "application/zip" }); + form.append("file", new Blob(["totally a zip file"], { type: "application/zip" }), "test.txt"); response = await fetch(endpoint, { method: "POST", headers: { "X-Access-Token": testToken, - ...form.getHeaders(), }, - body: form.getBuffer(), + body: form, }); assert.equal(response.status, 400); assert.deepEqual( @@ -351,14 +347,13 @@ describe("controller/src/routes", function() { ); form = new FormData(); form.append("instance_id", "invalid"); - form.append("file", "totally a zip file", { filename: "test.zip", contentType: "application/zip" }); + form.append("file", new Blob(["totally a zip file"], { type: "application/zip" }), "test.zip"); response = await fetch(endpoint, { method: "POST", headers: { "X-Access-Token": testToken, - ...form.getHeaders(), }, - body: form.getBuffer(), + body: form, }); assert.equal(response.status, 400); assert.deepEqual( @@ -410,14 +405,13 @@ describe("controller/src/routes", function() { let form; form = new FormData(); form.append("instance_id", "123"); - form.append("file", "totally a zip file", { filename: "test.zip", contentType: "application/zip" }); + form.append("file", new Blob(["totally a zip file"], { type: "application/zip" }), "test.zip"); response = await fetch(endpoint, { method: "POST", headers: { "X-Access-Token": testToken, - ...form.getHeaders(), }, - body: form.getBuffer(), + body: form, }); assert.equal(response.status, 500); assert.deepEqual(await response.json(), { errors: ["Something went wrong"], request_errors: [] });