build(deps-dev): bump @biomejs/biome from 1.9.4 to 2.3.3 (#108)
* build(deps-dev): bump @biomejs/biome from 1.9.4 to 2.3.3 Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) from 1.9.4 to 2.3.3. - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.3.3/packages/@biomejs/biome) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.3.3 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * fix --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: cannorin <cannorin@users.noreply.github.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": ["../../biome.json"]
|
"root": false,
|
||||||
|
"extends": "//"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"fix": "biome check --fix"
|
"fix": "biome check --fix"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "2.3.5",
|
||||||
"@poppanator/sveltekit-svg": "5.0.0",
|
"@poppanator/sveltekit-svg": "5.0.0",
|
||||||
"@sveltejs/adapter-auto": "6.0.0",
|
"@sveltejs/adapter-auto": "6.0.0",
|
||||||
"@sveltejs/adapter-cloudflare": "7.2.3",
|
"@sveltejs/adapter-cloudflare": "7.2.3",
|
||||||
|
|||||||
2
apps/web/src/app.d.ts
vendored
2
apps/web/src/app.d.ts
vendored
@@ -12,7 +12,7 @@ declare global {
|
|||||||
}
|
}
|
||||||
|
|
||||||
declare module "*.md" {
|
declare module "*.md" {
|
||||||
import type { Component, SvelteComponent } from "svelte";
|
import type { Component } from "svelte";
|
||||||
const content: Component<HTMLAttributes<HTMLElement>>;
|
const content: Component<HTMLAttributes<HTMLElement>>;
|
||||||
export default content;
|
export default content;
|
||||||
export const metadata: Record<string, unknown>;
|
export const metadata: Record<string, unknown>;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
import type { Snippet } from "svelte";
|
import type { Snippet } from "svelte";
|
||||||
import type { Picture } from "vite-imagetools";
|
import type { Picture } from "vite-imagetools";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
export interface CardProps {
|
export interface CardProps {
|
||||||
class?: string | undefined;
|
class?: string | undefined;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ SOFTWARE.
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { SeoProps } from "./types";
|
import type { SeoProps } from "./types";
|
||||||
|
|
||||||
let { openGraph }: { openGraph?: SeoProps["openGraph"] } = $props();
|
let { openGraph }: { openGraph?: SeoProps["openGraph"] } = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import type {
|
|||||||
HTMLAnchorAttributes,
|
HTMLAnchorAttributes,
|
||||||
HTMLButtonAttributes,
|
HTMLButtonAttributes,
|
||||||
} from "svelte/elements";
|
} from "svelte/elements";
|
||||||
import { type VariantProps, tv } from "tailwind-variants";
|
import { tv, type VariantProps } from "tailwind-variants";
|
||||||
|
|
||||||
export const buttonVariants = tv({
|
export const buttonVariants = tv({
|
||||||
base: "focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
base: "focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import {
|
import {
|
||||||
Dialog as DialogPrimitive,
|
Dialog as DialogPrimitive,
|
||||||
type WithoutChildrenOrChild,
|
type WithoutChildrenOrChild,
|
||||||
} from "bits-ui";
|
} from "bits-ui";
|
||||||
import X from "lucide-svelte/icons/x";
|
import X from "lucide-svelte/icons/x";
|
||||||
import type { Snippet } from "svelte";
|
import type { Snippet } from "svelte";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
import * as Dialog from "./index.js";
|
import * as Dialog from "./index.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import { Dialog as DialogPrimitive } from "bits-ui";
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ref = $bindable(null),
|
ref = $bindable(null),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import type { WithElementRef } from "bits-ui";
|
import type { WithElementRef } from "bits-ui";
|
||||||
import type { HTMLAttributes } from "svelte/elements";
|
import type { HTMLAttributes } from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ref = $bindable(null),
|
ref = $bindable(null),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import type { WithElementRef } from "bits-ui";
|
import type { WithElementRef } from "bits-ui";
|
||||||
import type { HTMLAttributes } from "svelte/elements";
|
import type { HTMLAttributes } from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ref = $bindable(null),
|
ref = $bindable(null),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import { Dialog as DialogPrimitive } from "bits-ui";
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ref = $bindable(null),
|
ref = $bindable(null),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { cn } from "$lib/utils.js";
|
|
||||||
import { Dialog as DialogPrimitive } from "bits-ui";
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ref = $bindable(null),
|
ref = $bindable(null),
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import LuChevronsRight from "lucide-svelte/icons/chevrons-right";
|
||||||
|
import LuCopyleft from "lucide-svelte/icons/copyleft";
|
||||||
import { page } from "$app/state";
|
import { page } from "$app/state";
|
||||||
import { limitWidth } from "$lib/constants";
|
import { limitWidth } from "$lib/constants";
|
||||||
import { cn } from "$lib/utils";
|
import { cn } from "$lib/utils";
|
||||||
import LuChevronsRight from "lucide-svelte/icons/chevrons-right";
|
|
||||||
import LuCopyleft from "lucide-svelte/icons/copyleft";
|
|
||||||
|
|
||||||
let { children } = $props();
|
let { children } = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { limitWidth } from "$lib/constants";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
import type { Snapshot } from "../$types";
|
|
||||||
import CardDev from "./dev/card.svelte";
|
|
||||||
import CardMath from "./math/card.svelte";
|
|
||||||
import CardMusic from "./music/card.svelte";
|
|
||||||
|
|
||||||
import SiDiscord from "@icons-pack/svelte-simple-icons/icons/SiDiscord";
|
import SiDiscord from "@icons-pack/svelte-simple-icons/icons/SiDiscord";
|
||||||
import SiKeybase from "@icons-pack/svelte-simple-icons/icons/SiKeybase";
|
import SiKeybase from "@icons-pack/svelte-simple-icons/icons/SiKeybase";
|
||||||
import SiMisskey from "@icons-pack/svelte-simple-icons/icons/SiMisskey";
|
import SiMisskey from "@icons-pack/svelte-simple-icons/icons/SiMisskey";
|
||||||
import SiSteam from "@icons-pack/svelte-simple-icons/icons/SiSteam";
|
import SiSteam from "@icons-pack/svelte-simple-icons/icons/SiSteam";
|
||||||
import SiTwitch from "@icons-pack/svelte-simple-icons/icons/SiTwitch";
|
import SiTwitch from "@icons-pack/svelte-simple-icons/icons/SiTwitch";
|
||||||
import SiX from "@icons-pack/svelte-simple-icons/icons/SiX";
|
import SiX from "@icons-pack/svelte-simple-icons/icons/SiX";
|
||||||
|
import { limitWidth } from "$lib/constants";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
import type { Snapshot } from "../$types";
|
||||||
|
import CardDev from "./dev/card.svelte";
|
||||||
|
import CardMath from "./math/card.svelte";
|
||||||
|
import CardMusic from "./music/card.svelte";
|
||||||
|
|
||||||
type SnapshotData = {
|
type SnapshotData = {
|
||||||
scrollPosition: number;
|
scrollPosition: number;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { SeoProps } from "$lib/components/seo";
|
import type { SeoProps } from "$lib/components/seo";
|
||||||
import { type Metadata, data } from "./(articles)/data";
|
import { data, type Metadata } from "./(articles)/data";
|
||||||
|
|
||||||
export async function load() {
|
export async function load() {
|
||||||
const posts: (Metadata & { slug: string })[] = [];
|
const posts: (Metadata & { slug: string })[] = [];
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Card, { type CardProps } from "$components/card.svelte";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
|
|
||||||
import IconTapl from "$assets/images/static/icon/tapl.webp?w=1080;800;600;400;300&enhanced";
|
|
||||||
|
|
||||||
import SiGithub from "@icons-pack/svelte-simple-icons/icons/SiGithub";
|
import SiGithub from "@icons-pack/svelte-simple-icons/icons/SiGithub";
|
||||||
import SiQiita from "@icons-pack/svelte-simple-icons/icons/SiQiita";
|
import SiQiita from "@icons-pack/svelte-simple-icons/icons/SiQiita";
|
||||||
import SiZenn from "@icons-pack/svelte-simple-icons/icons/SiZenn";
|
import SiZenn from "@icons-pack/svelte-simple-icons/icons/SiZenn";
|
||||||
|
import IconTapl from "$assets/images/static/icon/tapl.webp?w=1080;800;600;400;300&enhanced";
|
||||||
|
import Card, { type CardProps } from "$components/card.svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import type { Snippet } from "svelte";
|
||||||
import { limitWidth } from "$lib/constants";
|
import { limitWidth } from "$lib/constants";
|
||||||
import { cn } from "$lib/utils";
|
import { cn } from "$lib/utils";
|
||||||
import type { Snippet } from "svelte";
|
|
||||||
|
|
||||||
const categories = [
|
const categories = [
|
||||||
{ type: "mine" },
|
{ type: "mine" },
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ const papers: Paper[] = [
|
|||||||
"https://www.researchgate.net/publication/389821716_Uniform_Lyndon_interpolation_for_the_pure_logic_of_necessitation_with_a_modal_reduction_principle",
|
"https://www.researchgate.net/publication/389821716_Uniform_Lyndon_interpolation_for_the_pure_logic_of_necessitation_with_a_modal_reduction_principle",
|
||||||
journal: "Journal of Logic and Computation",
|
journal: "Journal of Logic and Computation",
|
||||||
doi: "10.1093/logcom/exaf048",
|
doi: "10.1093/logcom/exaf048",
|
||||||
info: "Volume 35, Issue 7, October 2025"
|
info: "Volume 35, Issue 7, October 2025",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "accepted",
|
type: "accepted",
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Card, { type CardProps } from "$components/card.svelte";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
|
|
||||||
import IconLogic from "$assets/images/static/icon/logic-chang.webp?w=1080;800;600;400;300&enhanced";
|
|
||||||
|
|
||||||
import SiOrcid from "@icons-pack/svelte-simple-icons/icons/SiOrcid";
|
import SiOrcid from "@icons-pack/svelte-simple-icons/icons/SiOrcid";
|
||||||
import SiResearchgate from "@icons-pack/svelte-simple-icons/icons/SiResearchgate";
|
import SiResearchgate from "@icons-pack/svelte-simple-icons/icons/SiResearchgate";
|
||||||
|
|
||||||
|
import IconLogic from "$assets/images/static/icon/logic-chang.webp?w=1080;800;600;400;300&enhanced";
|
||||||
|
import Card, { type CardProps } from "$components/card.svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Card, { type CardProps } from "$components/card.svelte";
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
|
|
||||||
import IconJakeko from "$assets/images/static/icon/jakeko.webp?w=1080;800;600;400;300&enhanced";
|
|
||||||
|
|
||||||
import SiBandcamp from "@icons-pack/svelte-simple-icons/icons/SiBandcamp";
|
import SiBandcamp from "@icons-pack/svelte-simple-icons/icons/SiBandcamp";
|
||||||
import SiMixcloud from "@icons-pack/svelte-simple-icons/icons/SiMixcloud";
|
import SiMixcloud from "@icons-pack/svelte-simple-icons/icons/SiMixcloud";
|
||||||
import SiSoundcloud from "@icons-pack/svelte-simple-icons/icons/SiSoundcloud";
|
import SiSoundcloud from "@icons-pack/svelte-simple-icons/icons/SiSoundcloud";
|
||||||
|
import IconJakeko from "$assets/images/static/icon/jakeko.webp?w=1080;800;600;400;300&enhanced";
|
||||||
|
import Card, { type CardProps } from "$components/card.svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
let { more, ...rest }: Pick<CardProps, "more" | "class"> = $props();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
import "../app.css";
|
import "../app.css";
|
||||||
import "./webfont.css";
|
import "./webfont.css";
|
||||||
|
|
||||||
|
import { sineOut } from "svelte/easing";
|
||||||
|
import { fade } from "svelte/transition";
|
||||||
import { browser } from "$app/environment";
|
import { browser } from "$app/environment";
|
||||||
import { onNavigate } from "$app/navigation";
|
import { onNavigate } from "$app/navigation";
|
||||||
import { page } from "$app/state";
|
import { page } from "$app/state";
|
||||||
import Seo, { defaultSeo, mergeSeo } from "$components/seo";
|
import Seo, { defaultSeo, mergeSeo } from "$components/seo";
|
||||||
import { PUBLIC_WEB_DOMAIN } from "$env/static/public";
|
import { PUBLIC_WEB_DOMAIN } from "$env/static/public";
|
||||||
import { sineOut } from "svelte/easing";
|
|
||||||
import { fade } from "svelte/transition";
|
|
||||||
|
|
||||||
let viewTransition = !browser || !!document.startViewTransition;
|
let viewTransition = !browser || !!document.startViewTransition;
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import { sampleMany } from "@cannorin/utils";
|
import { sampleMany } from "@cannorin/utils";
|
||||||
import { type RequestEvent, text } from "@sveltejs/kit";
|
import { type RequestEvent, text } from "@sveltejs/kit";
|
||||||
|
import type { InviteListResponse } from "misskey-js/entities.js";
|
||||||
import { RateLimiter } from "sveltekit-rate-limiter/server";
|
import { RateLimiter } from "sveltekit-rate-limiter/server";
|
||||||
|
|
||||||
import { dev } from "$app/environment";
|
import { dev } from "$app/environment";
|
||||||
import { MISSKEY_API_KEY } from "$env/static/private";
|
import { MISSKEY_API_KEY } from "$env/static/private";
|
||||||
import type { InviteListResponse } from "misskey-js/entities.js";
|
|
||||||
|
|
||||||
const limiter = new RateLimiter({
|
const limiter = new RateLimiter({
|
||||||
IP: [10, "d"], // IP address limiter
|
IP: [10, "d"], // IP address limiter
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import CharaSad from "$assets/images/static/arubinosky/arubinochan-scared.svg?component";
|
import Check from "lucide-svelte/icons/check";
|
||||||
|
import Copy from "lucide-svelte/icons/copy";
|
||||||
import Chara from "$assets/images/static/arubinosky/arubinochan.svg?component";
|
import Chara from "$assets/images/static/arubinosky/arubinochan.svg?component";
|
||||||
|
import CharaSad from "$assets/images/static/arubinosky/arubinochan-scared.svg?component";
|
||||||
import Logo from "$assets/images/static/arubinosky/logo.svg?component";
|
import Logo from "$assets/images/static/arubinosky/logo.svg?component";
|
||||||
import { limitWidth } from "$lib/constants";
|
import { limitWidth } from "$lib/constants";
|
||||||
import { cn } from "$lib/utils";
|
import { cn } from "$lib/utils";
|
||||||
import Embed from "./embed.svelte";
|
import Embed from "./embed.svelte";
|
||||||
import Terms from "./terms.md";
|
import Terms from "./terms.md";
|
||||||
|
|
||||||
import Check from "lucide-svelte/icons/check";
|
|
||||||
import Copy from "lucide-svelte/icons/copy";
|
|
||||||
|
|
||||||
const getInviteCode = async () => {
|
const getInviteCode = async () => {
|
||||||
copied = false;
|
copied = false;
|
||||||
const res = await fetch("/api/misskey/invite-code");
|
const res = await fetch("/api/misskey/invite-code");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Katex from "$lib/components/katex.svelte";
|
|
||||||
import { type Formula, prettyPrint, tryParse } from "@cannorin/kripke";
|
import { type Formula, prettyPrint, tryParse } from "@cannorin/kripke";
|
||||||
|
import Katex from "$lib/components/katex.svelte";
|
||||||
import { formulaHistory } from "../lib/store";
|
import { formulaHistory } from "../lib/store";
|
||||||
|
|
||||||
let {
|
let {
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {
|
import {
|
||||||
type Frame,
|
type Frame,
|
||||||
type Relation,
|
|
||||||
type World,
|
|
||||||
left,
|
left,
|
||||||
|
type Relation,
|
||||||
reverse,
|
reverse,
|
||||||
right,
|
right,
|
||||||
|
type World,
|
||||||
worlds,
|
worlds,
|
||||||
} from "@cannorin/kripke";
|
} from "@cannorin/kripke";
|
||||||
import {
|
import {
|
||||||
type Radian,
|
|
||||||
type Vector,
|
|
||||||
add,
|
add,
|
||||||
degree,
|
degree,
|
||||||
|
type Radian,
|
||||||
rotate,
|
rotate,
|
||||||
sub,
|
sub,
|
||||||
theta,
|
theta,
|
||||||
|
type Vector,
|
||||||
} from "@cannorin/utils/vector";
|
} from "@cannorin/utils/vector";
|
||||||
import type { SVGAttributes } from "svelte/elements";
|
import type { SVGAttributes } from "svelte/elements";
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Katex from "$lib/components/katex.svelte";
|
|
||||||
|
|
||||||
import { cn } from "$lib/utils";
|
|
||||||
import {
|
import {
|
||||||
type Formula,
|
type Formula,
|
||||||
type Frame,
|
type Frame,
|
||||||
@@ -16,6 +13,8 @@ import LuCheck from "lucide-svelte/icons/check";
|
|||||||
import LuHeart from "lucide-svelte/icons/heart";
|
import LuHeart from "lucide-svelte/icons/heart";
|
||||||
import LuHeartCrack from "lucide-svelte/icons/heart-crack";
|
import LuHeartCrack from "lucide-svelte/icons/heart-crack";
|
||||||
import LuX from "lucide-svelte/icons/x";
|
import LuX from "lucide-svelte/icons/x";
|
||||||
|
import Katex from "$lib/components/katex.svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
import { formulaHistory } from "../lib/store";
|
import { formulaHistory } from "../lib/store";
|
||||||
import FormulaInput from "./formula-input.svelte";
|
import FormulaInput from "./formula-input.svelte";
|
||||||
import FrameInput from "./frame-input.svelte";
|
import FrameInput from "./frame-input.svelte";
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Katex from "$lib/components/katex.svelte";
|
|
||||||
import {
|
import {
|
||||||
andSymbols,
|
andSymbols,
|
||||||
botSymbols,
|
botSymbols,
|
||||||
@@ -10,10 +9,11 @@ import {
|
|||||||
notSymbols,
|
notSymbols,
|
||||||
orSymbols,
|
orSymbols,
|
||||||
rParenSymbols,
|
rParenSymbols,
|
||||||
toSymbols,
|
|
||||||
topSymbols,
|
topSymbols,
|
||||||
|
toSymbols,
|
||||||
} from "@cannorin/kripke";
|
} from "@cannorin/kripke";
|
||||||
import LuHeart from "lucide-svelte/icons/heart";
|
import LuHeart from "lucide-svelte/icons/heart";
|
||||||
|
import Katex from "$lib/components/katex.svelte";
|
||||||
|
|
||||||
let { relationSize }: { relationSize: number } = $props();
|
let { relationSize }: { relationSize: number } = $props();
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ let shareText = $derived.by(() => {
|
|||||||
case "check": {
|
case "check": {
|
||||||
return numberEmojis[move.valid];
|
return numberEmojis[move.valid];
|
||||||
}
|
}
|
||||||
|
default: {
|
||||||
|
throw new Error("impossible");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.join("");
|
.join("");
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Button } from "$lib/components/ui/button";
|
|
||||||
import * as Dialog from "$lib/components/ui/dialog";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
type Formula,
|
type Formula,
|
||||||
getFrame,
|
getFrame,
|
||||||
@@ -10,13 +7,14 @@ import {
|
|||||||
tryParse,
|
tryParse,
|
||||||
validWorlds,
|
validWorlds,
|
||||||
} from "@cannorin/kripke";
|
} from "@cannorin/kripke";
|
||||||
import Game, { type GameStatus, type Move } from "./game.svelte";
|
|
||||||
|
|
||||||
import LuRotateCw from "lucide-svelte/icons/rotate-cw";
|
import LuRotateCw from "lucide-svelte/icons/rotate-cw";
|
||||||
import LuX from "lucide-svelte/icons/x";
|
import LuX from "lucide-svelte/icons/x";
|
||||||
import type { Snippet } from "svelte";
|
import type { Snippet } from "svelte";
|
||||||
|
import { Button } from "$lib/components/ui/button";
|
||||||
|
import * as Dialog from "$lib/components/ui/dialog";
|
||||||
import Chart from "./chart.svelte";
|
import Chart from "./chart.svelte";
|
||||||
import FrameInput from "./frame-input.svelte";
|
import FrameInput from "./frame-input.svelte";
|
||||||
|
import Game, { type GameStatus, type Move } from "./game.svelte";
|
||||||
import Rules from "./rules.svelte";
|
import Rules from "./rules.svelte";
|
||||||
import Share, { type ShareProps } from "./share.svelte";
|
import Share, { type ShareProps } from "./share.svelte";
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export async function load({ url }) {
|
|||||||
const seed = (() => {
|
const seed = (() => {
|
||||||
try {
|
try {
|
||||||
if (!seedStr) return randomSeed();
|
if (!seedStr) return randomSeed();
|
||||||
const seed = Number.parseInt(seedStr);
|
const seed = Number.parseInt(seedStr, 10);
|
||||||
if (!Number.isSafeInteger(seed)) return randomSeed();
|
if (!Number.isSafeInteger(seed)) return randomSeed();
|
||||||
return seed;
|
return seed;
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import type { SeoProps } from "$components/seo";
|
|
||||||
import { error } from "@sveltejs/kit";
|
import { error } from "@sveltejs/kit";
|
||||||
|
import type { SeoProps } from "$components/seo";
|
||||||
|
|
||||||
export async function load({ params }) {
|
export async function load({ params }) {
|
||||||
const seedStr = params.seed;
|
const seedStr = params.seed;
|
||||||
const seed = (() => {
|
const seed = (() => {
|
||||||
try {
|
try {
|
||||||
const seed = Number.parseInt(seedStr);
|
const seed = Number.parseInt(seedStr, 10);
|
||||||
if (!Number.isSafeInteger(seed)) throw error(400);
|
if (!Number.isSafeInteger(seed)) throw error(400);
|
||||||
return seed;
|
return seed;
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
14
biome.json
14
biome.json
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://biomejs.dev/schemas/1.9.1/schema.json",
|
"$schema": "https://biomejs.dev/schemas/2.3.5/schema.json",
|
||||||
"vcs": {
|
"vcs": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"clientKind": "git",
|
"clientKind": "git",
|
||||||
@@ -7,15 +7,13 @@
|
|||||||
},
|
},
|
||||||
"files": {
|
"files": {
|
||||||
"ignoreUnknown": false,
|
"ignoreUnknown": false,
|
||||||
"ignore": [".env", ".env.*", ".yarn/**/*", "*.*css"]
|
"includes": ["**", "!**/.env", "!**/.env.*", "!**/.yarn/**/*", "!**/*.*css"]
|
||||||
},
|
},
|
||||||
"formatter": {
|
"formatter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"indentStyle": "space"
|
"indentStyle": "space"
|
||||||
},
|
},
|
||||||
"organizeImports": {
|
"assist": { "actions": { "source": { "organizeImports": "on" } } },
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"linter": {
|
"linter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"rules": {
|
"rules": {
|
||||||
@@ -29,11 +27,13 @@
|
|||||||
},
|
},
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"include": ["*.svelte", "*.md"],
|
"includes": ["**/*.svelte", "**/*.md"],
|
||||||
"linter": {
|
"linter": {
|
||||||
"rules": {
|
"rules": {
|
||||||
"correctness": {
|
"correctness": {
|
||||||
"noUnusedLabels": "off"
|
"noUnusedLabels": "off",
|
||||||
|
"noUnusedImports": "off",
|
||||||
|
"noUnusedVariables": "off"
|
||||||
},
|
},
|
||||||
"suspicious": {
|
"suspicious": {
|
||||||
"noConfusingLabels": "off"
|
"noConfusingLabels": "off"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"gen:env": "bash scripts/generate_env_for_apps.sh"
|
"gen:env": "bash scripts/generate_env_for_apps.sh"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "2.3.5",
|
||||||
"@tsconfig/strictest": "2.0.5",
|
"@tsconfig/strictest": "2.0.5",
|
||||||
"turbo": "2.4.4"
|
"turbo": "2.4.4"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": ["../../biome.json"]
|
"root": false,
|
||||||
|
"extends": "//"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
export * from "./syntax";
|
|
||||||
export * from "./semantics";
|
|
||||||
export * from "./parser";
|
export * from "./parser";
|
||||||
export * from "./sat";
|
export * from "./sat";
|
||||||
|
export * from "./semantics";
|
||||||
|
export * from "./syntax";
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import type {} from "@cannorin/utils/headless";
|
import type {} from "@cannorin/utils/headless";
|
||||||
import {
|
import {
|
||||||
type Token,
|
|
||||||
alt,
|
alt,
|
||||||
apply,
|
apply,
|
||||||
buildLexer,
|
buildLexer,
|
||||||
@@ -10,15 +9,16 @@ import {
|
|||||||
lrec_sc,
|
lrec_sc,
|
||||||
rule,
|
rule,
|
||||||
seq,
|
seq,
|
||||||
|
type Token,
|
||||||
tok,
|
tok,
|
||||||
} from "typescript-parsec";
|
} from "typescript-parsec";
|
||||||
import {
|
import {
|
||||||
type Formula,
|
|
||||||
and,
|
and,
|
||||||
bot,
|
bot,
|
||||||
box,
|
box,
|
||||||
diamond,
|
diamond,
|
||||||
eq,
|
eq,
|
||||||
|
type Formula,
|
||||||
not,
|
not,
|
||||||
or,
|
or,
|
||||||
propVars,
|
propVars,
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { BitSet, maximal } from "@cannorin/utils";
|
import { BitSet, maximal } from "@cannorin/utils";
|
||||||
import {
|
import {
|
||||||
type Frame,
|
type Frame,
|
||||||
type Model,
|
|
||||||
type World,
|
|
||||||
left,
|
left,
|
||||||
|
type Model,
|
||||||
right,
|
right,
|
||||||
|
type World,
|
||||||
worlds,
|
worlds,
|
||||||
} from "./semantics";
|
} from "./semantics";
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { power } from "@cannorin/utils";
|
import { power } from "@cannorin/utils";
|
||||||
import { expect, test } from "vitest";
|
import { expect, test } from "vitest";
|
||||||
import { validWorlds } from "../src/sat";
|
import { validWorlds } from "../src/sat";
|
||||||
import { type Frame, type World, satisfy, worlds } from "../src/semantics";
|
import { type Frame, satisfy, type World, worlds } from "../src/semantics";
|
||||||
import {
|
import {
|
||||||
type Formula,
|
type Formula,
|
||||||
type PropVar,
|
type PropVar,
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import { sample } from "@cannorin/utils";
|
|||||||
import { parse } from "../src/parser";
|
import { parse } from "../src/parser";
|
||||||
import { getFrame, nontrivials } from "../src/semantics";
|
import { getFrame, nontrivials } from "../src/semantics";
|
||||||
import {
|
import {
|
||||||
type Formula,
|
|
||||||
and,
|
and,
|
||||||
bot,
|
bot,
|
||||||
box,
|
box,
|
||||||
diamond,
|
diamond,
|
||||||
eq,
|
eq,
|
||||||
|
type Formula,
|
||||||
not,
|
not,
|
||||||
or,
|
or,
|
||||||
propvar,
|
propvar,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"extends": ["../../biome.json"]
|
"root": false,
|
||||||
|
"extends": "//"
|
||||||
}
|
}
|
||||||
|
|||||||
76
yarn.lock
76
yarn.lock
@@ -22,18 +22,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/biome@npm:1.9.4":
|
"@biomejs/biome@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/biome@npm:1.9.4"
|
resolution: "@biomejs/biome@npm:2.3.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@biomejs/cli-darwin-arm64": "npm:1.9.4"
|
"@biomejs/cli-darwin-arm64": "npm:2.3.5"
|
||||||
"@biomejs/cli-darwin-x64": "npm:1.9.4"
|
"@biomejs/cli-darwin-x64": "npm:2.3.5"
|
||||||
"@biomejs/cli-linux-arm64": "npm:1.9.4"
|
"@biomejs/cli-linux-arm64": "npm:2.3.5"
|
||||||
"@biomejs/cli-linux-arm64-musl": "npm:1.9.4"
|
"@biomejs/cli-linux-arm64-musl": "npm:2.3.5"
|
||||||
"@biomejs/cli-linux-x64": "npm:1.9.4"
|
"@biomejs/cli-linux-x64": "npm:2.3.5"
|
||||||
"@biomejs/cli-linux-x64-musl": "npm:1.9.4"
|
"@biomejs/cli-linux-x64-musl": "npm:2.3.5"
|
||||||
"@biomejs/cli-win32-arm64": "npm:1.9.4"
|
"@biomejs/cli-win32-arm64": "npm:2.3.5"
|
||||||
"@biomejs/cli-win32-x64": "npm:1.9.4"
|
"@biomejs/cli-win32-x64": "npm:2.3.5"
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
"@biomejs/cli-darwin-arm64":
|
"@biomejs/cli-darwin-arm64":
|
||||||
optional: true
|
optional: true
|
||||||
@@ -53,62 +53,62 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
biome: bin/biome
|
biome: bin/biome
|
||||||
checksum: 10c0/b5655c5aed9a6fffe24f7d04f15ba4444389d0e891c9ed9106fab7388ac9b4be63185852cc2a937b22940dac3e550b71032a4afd306925cfea436c33e5646b3e
|
checksum: 10c0/c29264d9e3427b665a169af01aadea5584def961397ff6e1d1be4f16c5d37aca1b1b6ea1e6190c63330d0d8022009261ddc4c42a39727f77d5668b91e427b4f3
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-darwin-arm64@npm:1.9.4":
|
"@biomejs/cli-darwin-arm64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-darwin-arm64@npm:1.9.4"
|
resolution: "@biomejs/cli-darwin-arm64@npm:2.3.5"
|
||||||
conditions: os=darwin & cpu=arm64
|
conditions: os=darwin & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-darwin-x64@npm:1.9.4":
|
"@biomejs/cli-darwin-x64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-darwin-x64@npm:1.9.4"
|
resolution: "@biomejs/cli-darwin-x64@npm:2.3.5"
|
||||||
conditions: os=darwin & cpu=x64
|
conditions: os=darwin & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-linux-arm64-musl@npm:1.9.4":
|
"@biomejs/cli-linux-arm64-musl@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.4"
|
resolution: "@biomejs/cli-linux-arm64-musl@npm:2.3.5"
|
||||||
conditions: os=linux & cpu=arm64 & libc=musl
|
conditions: os=linux & cpu=arm64 & libc=musl
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-linux-arm64@npm:1.9.4":
|
"@biomejs/cli-linux-arm64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-linux-arm64@npm:1.9.4"
|
resolution: "@biomejs/cli-linux-arm64@npm:2.3.5"
|
||||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-linux-x64-musl@npm:1.9.4":
|
"@biomejs/cli-linux-x64-musl@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.4"
|
resolution: "@biomejs/cli-linux-x64-musl@npm:2.3.5"
|
||||||
conditions: os=linux & cpu=x64 & libc=musl
|
conditions: os=linux & cpu=x64 & libc=musl
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-linux-x64@npm:1.9.4":
|
"@biomejs/cli-linux-x64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-linux-x64@npm:1.9.4"
|
resolution: "@biomejs/cli-linux-x64@npm:2.3.5"
|
||||||
conditions: os=linux & cpu=x64 & libc=glibc
|
conditions: os=linux & cpu=x64 & libc=glibc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-win32-arm64@npm:1.9.4":
|
"@biomejs/cli-win32-arm64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-win32-arm64@npm:1.9.4"
|
resolution: "@biomejs/cli-win32-arm64@npm:2.3.5"
|
||||||
conditions: os=win32 & cpu=arm64
|
conditions: os=win32 & cpu=arm64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@biomejs/cli-win32-x64@npm:1.9.4":
|
"@biomejs/cli-win32-x64@npm:2.3.5":
|
||||||
version: 1.9.4
|
version: 2.3.5
|
||||||
resolution: "@biomejs/cli-win32-x64@npm:1.9.4"
|
resolution: "@biomejs/cli-win32-x64@npm:2.3.5"
|
||||||
conditions: os=win32 & cpu=x64
|
conditions: os=win32 & cpu=x64
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
@@ -4141,7 +4141,7 @@ __metadata:
|
|||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "monorepo@workspace:."
|
resolution: "monorepo@workspace:."
|
||||||
dependencies:
|
dependencies:
|
||||||
"@biomejs/biome": "npm:1.9.4"
|
"@biomejs/biome": "npm:2.3.5"
|
||||||
"@tsconfig/strictest": "npm:2.0.5"
|
"@tsconfig/strictest": "npm:2.0.5"
|
||||||
turbo: "npm:2.4.4"
|
turbo: "npm:2.4.4"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -6012,7 +6012,7 @@ __metadata:
|
|||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "web@workspace:apps/web"
|
resolution: "web@workspace:apps/web"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@biomejs/biome": "npm:1.9.4"
|
"@biomejs/biome": "npm:2.3.5"
|
||||||
"@cannorin/kripke": "workspace:*"
|
"@cannorin/kripke": "workspace:*"
|
||||||
"@cannorin/utils": "workspace:*"
|
"@cannorin/utils": "workspace:*"
|
||||||
"@fontsource/poiret-one": "npm:5.2.8"
|
"@fontsource/poiret-one": "npm:5.2.8"
|
||||||
|
|||||||
Reference in New Issue
Block a user