diff --git a/biome.json b/biome.json index 48b6ec1..118230c 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.3.13/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json", "vcs": { "enabled": false, "clientKind": "git", diff --git a/bun.lockb b/bun.lockb index 8ad7ad8..ca8201c 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/components/checkball.tsx b/components/checkball.tsx index a4d0ff5..11ba19d 100644 --- a/components/checkball.tsx +++ b/components/checkball.tsx @@ -1,4 +1,4 @@ -import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutline"; +import CheckCircleOutlineIcon from "@mui/icons-material/CheckCircleOutlined"; import RadioButtonUncheckedIcon from "@mui/icons-material/RadioButtonUnchecked"; import Checkbox, { type CheckboxProps } from "@mui/material/Checkbox"; import { styled } from "@mui/material/styles"; diff --git a/package.json b/package.json index 9abc435..6b5e8f6 100644 --- a/package.json +++ b/package.json @@ -16,38 +16,39 @@ "export:options": "next build", "export:pack": "zip -r --filesync repub.zip background.js background.js.map favicon.ico images/*.png manifest.json offscreen.html popup.html popup.js popup.js.map offscreen.js offscreen.js.map out", "export": "bun export:images && bun export:bundle && bun export:options && bun export:pack", - "pack": "bun lint && bun test --coverage && bun export" + "pack": "bun lint && bun test --coverage && bun export && publint" }, "devDependencies": { - "@biomejs/biome": "^2.3.13", + "@biomejs/biome": "^2.4.15", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@mozilla/readability": "^0.6.0", - "@mui/icons-material": "^7.3.7", - "@mui/material": "^7.3.7", - "@next/eslint-plugin-next": "^16.1.6", + "@mui/icons-material": "^9.0.1", + "@mui/material": "^9.0.1", + "@next/eslint-plugin-next": "^16.2.6", "@types/base64-js": "^1.5.0", - "@types/bun": "^1.3.8", - "@types/chrome": "^0.1.36", - "@types/jsdom": "^27.0.0", - "@types/react": "^19.2.10", + "@types/bun": "^1.3.14", + "@types/chrome": "^0.1.42", + "@types/jsdom": "^28.0.3", + "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/yargs": "^17.0.35", "base64-js": "^1.5.1", - "entities": "^7.0.1", - "jsdom": "^27.4.0", + "entities": "^8.0.0", + "jsdom": "^29.1.1", "leven": "^4.1.0", - "marked": "^17.0.1", - "mhtml-stream": "^2.0.1", - "next": "^16.1.6", - "react": "^19.2.4", - "react-dom": "^19.2.4", - "react-dropzone": "^14.4.0", - "react-icons": "^5.5.0", - "rmapi-js": "^9.0.2", - "teapub": "^3.1.0", - "typescript": "~5.9.3", - "uuid": "^13.0.0", + "marked": "^18.0.3", + "mhtml-stream": "^2.0.2", + "next": "^16.2.6", + "publint": "^0.3.21", + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-dropzone": "^15.0.0", + "react-icons": "^5.6.0", + "rmapi-js": "^10.0.0", + "teapub": "^3.3.0", + "typescript": "~6.0.3", + "uuid": "^14.0.0", "yargs": "^18.0.0" } } diff --git a/pages/index.tsx b/pages/index.tsx index f24e0cb..640997e 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1162,7 +1162,7 @@ function TagsSelector({ control={control} label={label} labelPlacement="top" - slotProps={{ typography: { width: "100%" } }} + slotProps={{ typography: { sx: { width: "100%" } } }} /> ); @@ -1272,7 +1272,7 @@ function UrlField({ control={control} label={header} labelPlacement="top" - slotProps={{ typography: { width: "100%" } }} + slotProps={{ typography: { sx: { width: "100%" } } }} /> ); @@ -1484,7 +1484,7 @@ export default function OptionsPage(): ReactElement { }} > {/* eslint-disable-next-line spellcheck/spell-checker */} - + - + Set EPub Metadata @@ -50,7 +50,7 @@ - + diff --git a/src/epub.ts b/src/epub.ts index 2871bba..4abe205 100644 --- a/src/epub.ts +++ b/src/epub.ts @@ -1,4 +1,5 @@ import { type ImageData, type ImageMime, render } from "teapub/dist"; + export type { ImageData, ImageMime }; export async function epub({ diff --git a/src/upload.ts b/src/upload.ts index f671f89..2acd09a 100644 --- a/src/upload.ts +++ b/src/upload.ts @@ -1,4 +1,4 @@ -import { GenerationError, type RemarkableApi, remarkable } from "rmapi-js/dist"; +import { GenerationError, type RemarkableApi, remarkable } from "rmapi-js"; import { lock } from "./lock"; import type { UploadOptions } from "./options"; diff --git a/tsconfig.json b/tsconfig.json index 30e2679..9c6d155 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,8 @@ "jsx": "react-jsx", "incremental": true, "target": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", + "types": ["chrome", "bun", "node", "next"], "noEmit": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, @@ -23,6 +24,13 @@ } ] }, - "include": ["src", "content", "pages", "components", ".next/types/**/*.ts"], + "include": [ + "src", + "content", + "pages", + "components", + "next-env.d.ts", + ".next/types/**/*.ts" + ], "exclude": ["node_modules"] }