diff --git a/bun.lockb b/bun.lockb index 247b232..d4f1262 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/docs/versioning.md b/docs/versioning.md deleted file mode 100644 index 4d50356..0000000 --- a/docs/versioning.md +++ /dev/null @@ -1,32 +0,0 @@ -# Versioning & Development Cycle - -The versioning policy follows the [Semantic Versioning](https://semver.org/). -Since Tutu is an app for the end user, we redefine the some words in the policy: - -- API changes: the app is no longer available on certain platforms. - -## Development Cycle - -Dependency Freeze -> Development -> Release - -### Dependency Freeze - -This step is for: - -- Update dependencies -- Prepare the new version (like, bump the version number). - -New dependencies should not be added in this step. - -### Development - -In this step, dependencies can only be updated if it's required to fix bugs. - -New dependencies should be added as their use, in this step. - -### Release - -The version is released to production in this step. - -Before the next development step, new versions can still be released to -fix bugs. diff --git a/package.json b/package.json index 25814fe..a574f81 100644 --- a/package.json +++ b/package.json @@ -17,33 +17,33 @@ "author": "Rubicon", "license": "Apache-2.0", "devDependencies": { - "@solid-devtools/overlay": "^0.33.0", + "@solid-devtools/overlay": "^0.30.1", "@suid/vite-plugin": "^0.3.1", "@testing-library/webdriverio": "^3.2.1", "@types/hammerjs": "^2.0.46", "@types/masonry-layout": "^4.2.8", "@vite-pwa/assets-generator": "^0.2.6", - "@wdio/cli": "^9.5.1", - "@wdio/lighthouse-service": "^9.5.1", - "@wdio/local-runner": "^9.5.1", - "@wdio/mocha-framework": "^9.5.0", - "@wdio/spec-reporter": "^9.5.0", + "@wdio/cli": "^9.4.5", + "@wdio/lighthouse-service": "^9.4.5", + "@wdio/local-runner": "^9.4.5", + "@wdio/mocha-framework": "^9.4.4", + "@wdio/spec-reporter": "^9.4.4", "postcss": "^8.4.49", - "prettier": "^3.4.2", + "prettier": "^3.3.3", "tsx": "^4.19.2", - "typescript": "^5.7.2", - "vite": "^6.0.7", + "typescript": "^5.6.3", + "vite": "^5.4.11", "vite-plugin-package-version": "^1.1.0", - "vite-plugin-pwa": "^0.21.1", - "vite-plugin-solid": "^2.11.0", + "vite-plugin-pwa": "^0.20.5", + "vite-plugin-solid": "^2.10.2", "vite-plugin-solid-styled": "^0.11.1", "wdio-vite-service": "^2.0.0", "wdio-wait-for": "^3.0.11", "workbox-build": "^7.3.0", - "wrangler": "^3.99.0" + "wrangler": "^3.86.1" }, "dependencies": { - "@formatjs/intl-localematcher": "^0.5.10", + "@formatjs/intl-localematcher": "^0.5.7", "@nanostores/persistent": "^0.10.2", "@nanostores/solid": "^0.5.0", "@solid-primitives/event-listener": "^2.3.3", @@ -52,7 +52,7 @@ "@solid-primitives/map": "^0.4.13", "@solid-primitives/page-visibility": "^2.0.17", "@solid-primitives/resize-observer": "^2.0.26", - "@solidjs/router": "^0.15.2", + "@solidjs/router": "^0.15.1", "@suid/icons-material": "^0.8.1", "@suid/material": "^0.18.0", "blurhash": "^2.0.5", @@ -65,7 +65,7 @@ "masto": "^6.10.1", "nanostores": "^0.11.3", "normalize.css": "^8.0.1", - "solid-devtools": "^0.33.0", + "solid-devtools": "^0.30.1", "solid-js": "^1.9.3", "solid-styled": "^0.11.1", "solid-transition-group": "^0.2.3", diff --git a/src/material/BottomSheet.tsx b/src/material/BottomSheet.tsx index 5b463a0..99bfbd0 100644 --- a/src/material/BottomSheet.tsx +++ b/src/material/BottomSheet.tsx @@ -51,7 +51,7 @@ function animateSlideInFromBottom(element: HTMLElement, reverse?: boolean) { } const BottomSheet: ParentComponent = (props) => { - let element!: HTMLDialogElement; + let element: HTMLDialogElement; let animation: Animation | undefined; const child = children(() => props.children); diff --git a/src/material/Menu.tsx b/src/material/Menu.tsx index 3bc2ab0..931b756 100644 --- a/src/material/Menu.tsx +++ b/src/material/Menu.tsx @@ -108,7 +108,7 @@ function animateGrowFromTopLeft( * - Use {@link MenuItem} from SUID as children. */ const Menu: Component = (oprops) => { - let root!: HTMLDialogElement; + let root: HTMLDialogElement; const windowSize = useWindowSize(); const [props, rest] = splitProps(oprops, [ "open", diff --git a/src/timelines/MediaViewer.tsx b/src/timelines/MediaViewer.tsx index af3ef7b..ba92772 100644 --- a/src/timelines/MediaViewer.tsx +++ b/src/timelines/MediaViewer.tsx @@ -38,7 +38,7 @@ function clamp(input: number, min: number, max: number) { } const MediaViewer: ParentComponent = (props) => { - let rootRef!: HTMLDialogElement; + let rootRef: HTMLDialogElement; type State = { ref?: HTMLElement; diff --git a/src/timelines/PullDownToRefresh.tsx b/src/timelines/PullDownToRefresh.tsx index 6393050..4f829ee 100644 --- a/src/timelines/PullDownToRefresh.tsx +++ b/src/timelines/PullDownToRefresh.tsx @@ -17,7 +17,7 @@ const PullDownToRefresh: Component<{ linkedElement?: HTMLElement; onRefresh?: () => void; }> = (props) => { - let rootElement!: HTMLDivElement; + let rootElement: HTMLDivElement; const [pullDown, setPullDown] = createSignal(0); const stopPos = () => 160; diff --git a/src/timelines/TootLangPicker.tsx b/src/timelines/TootLangPicker.tsx index 7ed1055..e86f69e 100644 --- a/src/timelines/TootLangPicker.tsx +++ b/src/timelines/TootLangPicker.tsx @@ -23,7 +23,7 @@ type ChooseTootLangProps = { }; const ChooseTootLang: Component = (props) => { - let listRef!: HTMLUListElement; + let listRef: HTMLUListElement; const [t] = createTranslator( (code) => import(`./i18n/${code}.json`) as Promise<{ diff --git a/src/timelines/toots/PreviewCard.tsx b/src/timelines/toots/PreviewCard.tsx index c4b4036..5e6780e 100644 --- a/src/timelines/toots/PreviewCard.tsx +++ b/src/timelines/toots/PreviewCard.tsx @@ -17,7 +17,7 @@ export function PreviewCard(props: { src: mastodon.v1.PreviewCard; alwaysCompact?: boolean; }) { - let root!: HTMLAnchorElement; + let root: HTMLAnchorElement; createEffect(() => { if (props.alwaysCompact) { diff --git a/src/timelines/toots/TootPoll.tsx b/src/timelines/toots/TootPoll.tsx index 5c08c21..a2b9dc6 100644 --- a/src/timelines/toots/TootPoll.tsx +++ b/src/timelines/toots/TootPoll.tsx @@ -33,7 +33,7 @@ type TootPollProps = { }; const TootPoll: Component = (props) => { - let list!: HTMLUListElement; + let list: HTMLUListElement; const { vote } = useTootEnv(); const now = useTimeSource(); diff --git a/tsconfig.super.json b/tsconfig.super.json index d04be40..9cf8e60 100644 --- a/tsconfig.super.json +++ b/tsconfig.super.json @@ -2,8 +2,8 @@ "compilerOptions": { "strict": true, "target": "ESNext", - "module": "ESNext", - "moduleResolution": "bundler", + "module": "esnext", + "moduleResolution": "node", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "noEmit": true, diff --git a/vite.config.ts b/vite.config.ts index d23c5cb..0e72623 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,7 +4,7 @@ import solidStyled from "vite-plugin-solid-styled"; import suid from "@suid/vite-plugin"; import { VitePWA } from "vite-plugin-pwa"; import version from "vite-plugin-package-version"; -import manifest from "./manifest.config.js"; +import manifest from "./manifest.config"; import { GetManualChunk } from "rollup"; import devtools from "solid-devtools/vite"; import { resolve } from "node:path"; @@ -70,17 +70,17 @@ export default defineConfig(({ mode }) => { plugins: [ devtools({ autoname: true, - locator: devConf["DEV_LOCATOR_EDITOR"] - ? { - targetIDE: devConf["DEV_LOCATOR_EDITOR"] as - | "vscode" - | "atom" - | "webstorm" - | "vscode-insiders", - componentLocation: true, - jsxLocation: true, - } - : undefined, + locator: { + targetIDE: + (devConf["DEV_LOCATOR_EDITOR"] as + | "vscode" + | "atom" + | "webstorm" + | "vscode-insiders" + | "") || undefined, + componentLocation: true, + jsxLocation: true, + }, }), suid(), solid(),