mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-06-26 18:26:38 +00:00
feature:landing page for github login.
This commit is contained in:
@@ -1,21 +1,37 @@
|
||||
import { json, type MetaFunction } from '@remix-run/cloudflare';
|
||||
import { json, redirect, type LoaderFunctionArgs, type MetaFunction } from '@remix-run/cloudflare';
|
||||
import { ClientOnly } from 'remix-utils/client-only';
|
||||
import { BaseChat } from '~/components/chat/BaseChat';
|
||||
import { Chat } from '~/components/chat/Chat.client';
|
||||
import { Header } from '~/components/header/Header';
|
||||
import BackgroundRays from '~/components/ui/BackgroundRays';
|
||||
import { isAuthenticated } from '~/lib/auth/github-oauth.server';
|
||||
|
||||
export const meta: MetaFunction = () => {
|
||||
return [{ title: 'Bolt' }, { name: 'description', content: 'Talk with Bolt, an AI assistant from StackBlitz' }];
|
||||
return [{ title: 'Buildify' }, { name: 'description', content: 'AI-assisted development environment powered by Buildify' }];
|
||||
};
|
||||
|
||||
export const loader = () => json({});
|
||||
/**
|
||||
* Root loader that checks authentication status
|
||||
* If user is not authenticated, redirect to the login page
|
||||
*/
|
||||
export async function loader({ request }: LoaderFunctionArgs) {
|
||||
// Check if user is authenticated
|
||||
const authenticated = await isAuthenticated(request);
|
||||
|
||||
// If not authenticated, redirect to login page
|
||||
if (!authenticated) {
|
||||
// Redirect to the auth login page which serves as our landing page
|
||||
return redirect('/auth/login');
|
||||
}
|
||||
|
||||
// User is authenticated, continue to the app
|
||||
return json({});
|
||||
}
|
||||
|
||||
/**
|
||||
* Landing page component for Bolt
|
||||
* Note: Settings functionality should ONLY be accessed through the sidebar menu.
|
||||
* Do not add settings button/panel to this landing page as it was intentionally removed
|
||||
* to keep the UI clean and consistent with the design system.
|
||||
* Main app page component
|
||||
* This is protected and only accessible for authenticated users
|
||||
* Unauthenticated users will be redirected to the login page
|
||||
*/
|
||||
export default function Index() {
|
||||
return (
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import { json, redirect, type ActionFunctionArgs, type LoaderFunctionArgs, type MetaFunction } from '@remix-run/cloudflare';
|
||||
import {
|
||||
json,
|
||||
redirect,
|
||||
type ActionFunctionArgs,
|
||||
type LoaderFunctionArgs,
|
||||
type MetaFunction,
|
||||
} from '@remix-run/cloudflare';
|
||||
import { Form, useActionData, useLoaderData, useNavigation } from '@remix-run/react';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { generateState, getAuthorizationUrl, isAuthenticated, storeState } from '~/lib/auth/github-oauth.server';
|
||||
@@ -6,8 +12,8 @@ import BackgroundRays from '~/components/ui/BackgroundRays';
|
||||
|
||||
export const meta: MetaFunction = () => {
|
||||
return [
|
||||
{ title: 'Login to Buildify' },
|
||||
{ name: 'description', content: 'Login to Buildify using your GitHub account' },
|
||||
{ title: 'Welcome to Buildify' },
|
||||
{ name: 'description', content: 'AI-assisted development environment powered by Buildify' },
|
||||
];
|
||||
};
|
||||
|
||||
@@ -31,7 +37,9 @@ export async function loader({ request }: LoaderFunctionArgs) {
|
||||
return json({
|
||||
redirectTo,
|
||||
isConfigured,
|
||||
error: isConfigured ? null : 'GitHub OAuth is not configured. Please set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET environment variables.',
|
||||
error: isConfigured
|
||||
? null
|
||||
: 'GitHub OAuth is not configured. Please set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET environment variables.',
|
||||
});
|
||||
}
|
||||
|
||||
@@ -39,11 +47,14 @@ export async function action({ request }: ActionFunctionArgs) {
|
||||
// Check if GitHub OAuth is configured
|
||||
const clientId = process.env.GITHUB_CLIENT_ID;
|
||||
const clientSecret = process.env.GITHUB_CLIENT_SECRET;
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return json(
|
||||
{ error: 'GitHub OAuth is not configured. Please set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET environment variables.' },
|
||||
{ status: 400 }
|
||||
{
|
||||
error:
|
||||
'GitHub OAuth is not configured. Please set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET environment variables.',
|
||||
},
|
||||
{ status: 400 },
|
||||
);
|
||||
}
|
||||
|
||||
@@ -54,17 +65,17 @@ export async function action({ request }: ActionFunctionArgs) {
|
||||
try {
|
||||
// Generate state for CSRF protection
|
||||
const state = generateState();
|
||||
|
||||
|
||||
// Get the callback URL
|
||||
const url = new URL(request.url);
|
||||
const callbackUrl = `${url.origin}/auth/callback`;
|
||||
|
||||
|
||||
// Generate authorization URL
|
||||
const { url: authorizationUrl } = getAuthorizationUrl(state, callbackUrl);
|
||||
|
||||
|
||||
// Store state in session
|
||||
const cookie = await storeState(request, state);
|
||||
|
||||
|
||||
// Redirect to GitHub authorization URL
|
||||
return redirect(authorizationUrl, {
|
||||
headers: {
|
||||
@@ -73,10 +84,7 @@ export async function action({ request }: ActionFunctionArgs) {
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error initiating GitHub OAuth flow:', error);
|
||||
return json(
|
||||
{ error: 'Failed to initiate login. Please try again later.' },
|
||||
{ status: 500 }
|
||||
);
|
||||
return json({ error: 'Failed to initiate login. Please try again later.' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,65 +104,98 @@ export default function Login() {
|
||||
return (
|
||||
<div className="flex flex-col items-center justify-center min-h-screen bg-bolt-elements-background-depth-1">
|
||||
<BackgroundRays />
|
||||
|
||||
<div className="w-full max-w-md p-8 space-y-8 bg-bolt-elements-background-depth-2 rounded-lg shadow-lg">
|
||||
<div className="text-center">
|
||||
<h1 className="text-3xl font-bold text-bolt-content-primary">Login to Buildify</h1>
|
||||
<p className="mt-2 text-bolt-content-secondary">
|
||||
Connect with your GitHub account to get started
|
||||
|
||||
<div className="w-full max-w-4xl p-8 space-y-12">
|
||||
<div className="flex flex-col items-center justify-center text-center">
|
||||
{/* Buildify Logo */}
|
||||
<div className="w-64 h-auto mb-8">
|
||||
<img src="/logo-light-styled.png" alt="Buildify Logo" className="w-full h-auto dark:hidden" />
|
||||
<img src="/logo-dark-styled.png" alt="Buildify Logo" className="w-full h-auto hidden dark:block" />
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl font-bold text-bolt-content-primary mb-4">Welcome to Buildify</h1>
|
||||
|
||||
<p className="text-xl text-bolt-content-secondary max-w-2xl">
|
||||
Your AI-assisted development environment for building, modifying, and deploying web applications
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{errorMessage && (
|
||||
<div className="p-4 text-sm text-red-500 bg-red-100 rounded-md">
|
||||
{errorMessage}
|
||||
<div className="w-full max-w-md mx-auto p-8 space-y-8 bg-bolt-elements-background-depth-2 rounded-lg shadow-lg">
|
||||
<div className="text-center">
|
||||
<h2 className="text-2xl font-semibold text-bolt-content-primary">Sign In to Get Started</h2>
|
||||
<p className="mt-2 text-bolt-content-secondary">Connect with your GitHub account to access Buildify</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<Form method="post" className="space-y-6">
|
||||
<input type="hidden" name="redirectTo" value={redirectTo} />
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
disabled={!isConfigured || isSubmitting}
|
||||
className={`
|
||||
w-full flex items-center justify-center py-3 px-4 rounded-md
|
||||
${isConfigured
|
||||
? 'bg-[#2da44e] hover:bg-[#2c974b] text-white'
|
||||
: 'bg-gray-300 text-gray-500 cursor-not-allowed'}
|
||||
transition-colors duration-200 font-medium
|
||||
`}
|
||||
>
|
||||
{isSubmitting ? (
|
||||
<span className="flex items-center">
|
||||
<svg className="animate-spin -ml-1 mr-3 h-5 w-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
|
||||
<circle className="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4"></circle>
|
||||
<path className="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
|
||||
</svg>
|
||||
Connecting...
|
||||
</span>
|
||||
) : (
|
||||
<span className="flex items-center">
|
||||
<svg className="w-5 h-5 mr-2" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path fillRule="evenodd" clipRule="evenodd" d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385c.6.105.825-.255.825-.57c0-.285-.015-1.23-.015-2.235c-3.015.555-3.795-.735-4.035-1.41c-.135-.345-.72-1.41-1.23-1.695c-.42-.225-1.02-.78-.015-.795c.945-.015 1.62.87 1.845 1.23c1.08 1.815 2.805 1.305 3.495.99c.105-.78.42-1.305.765-1.605c-2.67-.3-5.46-1.335-5.46-5.925c0-1.305.465-2.385 1.23-3.225c-.12-.3-.54-1.53.12-3.18c0 0 1.005-.315 3.3 1.23c.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23c.66 1.65.24 2.88.12 3.18c.765.84 1.23 1.905 1.23 3.225c0 4.605-2.805 5.625-5.475 5.925c.435.375.81 1.095.81 2.22c0 1.605-.015 2.895-.015 3.3c0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
|
||||
</svg>
|
||||
Continue with GitHub
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
</Form>
|
||||
{errorMessage && <div className="p-4 text-sm text-red-500 bg-red-100 rounded-md">{errorMessage}</div>}
|
||||
|
||||
<div className="text-center text-sm text-bolt-content-tertiary">
|
||||
<p>
|
||||
By logging in, you agree to the{' '}
|
||||
<a href="#" className="text-bolt-content-accent hover:underline">
|
||||
Terms of Service
|
||||
</a>{' '}
|
||||
and{' '}
|
||||
<a href="#" className="text-bolt-content-accent hover:underline">
|
||||
Privacy Policy
|
||||
</a>
|
||||
</p>
|
||||
<Form method="post" className="space-y-6">
|
||||
<input type="hidden" name="redirectTo" value={redirectTo} />
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
disabled={!isConfigured || isSubmitting}
|
||||
aria-label="Sign in with GitHub"
|
||||
className={`
|
||||
w-full flex items-center justify-center py-3 px-4 rounded-md
|
||||
${
|
||||
isConfigured
|
||||
? 'bg-[#2da44e] hover:bg-[#2c974b] text-white'
|
||||
: 'bg-gray-300 text-gray-500 cursor-not-allowed'
|
||||
}
|
||||
transition-colors duration-200 font-medium shadow-md
|
||||
`}
|
||||
>
|
||||
{isSubmitting ? (
|
||||
<span className="flex items-center">
|
||||
<svg
|
||||
className="animate-spin -ml-1 mr-3 h-5 w-5 text-white"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<circle
|
||||
className="opacity-25"
|
||||
cx="12"
|
||||
cy="12"
|
||||
r="10"
|
||||
stroke="currentColor"
|
||||
strokeWidth="4"
|
||||
></circle>
|
||||
<path
|
||||
className="opacity-75"
|
||||
fill="currentColor"
|
||||
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
||||
></path>
|
||||
</svg>
|
||||
Connecting...
|
||||
</span>
|
||||
) : (
|
||||
<span className="flex items-center">
|
||||
<svg className="w-5 h-5 mr-2" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
clipRule="evenodd"
|
||||
d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385c.6.105.825-.255.825-.57c0-.285-.015-1.23-.015-2.235c-3.015.555-3.795-.735-4.035-1.41c-.135-.345-.72-1.41-1.23-1.695c-.42-.225-1.02-.78-.015-.795c.945-.015 1.62.87 1.845 1.23c1.08 1.815 2.805 1.305 3.495.99c.105-.78.42-1.305.765-1.605c-2.67-.3-5.46-1.335-5.46-5.925c0-1.305.465-2.385 1.23-3.225c-.12-.3-.54-1.53.12-3.18c0 0 1.005-.315 3.3 1.23c.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23c.66 1.65.24 2.88.12 3.18c.765.84 1.23 1.905 1.23 3.225c0 4.605-2.805 5.625-5.475 5.925c.435.375.81 1.095.81 2.22c0 1.605-.015 2.895-.015 3.3c0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"
|
||||
/>
|
||||
</svg>
|
||||
Continue with GitHub
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
</Form>
|
||||
|
||||
<div className="text-center text-sm text-bolt-content-tertiary">
|
||||
<p>
|
||||
By logging in, you agree to the{' '}
|
||||
<a href="#" className="text-bolt-content-accent hover:underline">
|
||||
Terms of Service
|
||||
</a>{' '}
|
||||
and{' '}
|
||||
<a href="#" className="text-bolt-content-accent hover:underline">
|
||||
Privacy Policy
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,6 +8,12 @@ metadata:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
# Ensure X-Forwarded-Proto header is set to propagate original protocol information
|
||||
nginx.ingress.kubernetes.io/proxy-set-headers: "X-Forwarded-Proto https"
|
||||
# Add additional configuration to ensure proper forwarding of the HTTPS protocol information
|
||||
nginx.ingress.kubernetes.io/configuration-snippet: |
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
|
||||
@@ -90,11 +90,12 @@
|
||||
"@radix-ui/react-switch": "^1.1.1",
|
||||
"@radix-ui/react-tabs": "^1.1.2",
|
||||
"@radix-ui/react-tooltip": "^1.1.4",
|
||||
"@remix-run/cloudflare": "^2.15.2",
|
||||
"@remix-run/cloudflare": "^2.16.3",
|
||||
"@remix-run/cloudflare-pages": "^2.15.2",
|
||||
"@remix-run/node": "^2.15.2",
|
||||
"@remix-run/react": "^2.15.2",
|
||||
"@remix-run/react": "^2.16.3",
|
||||
"@tanstack/react-virtual": "^3.13.0",
|
||||
"@types/node": "^24.0.0",
|
||||
"@types/react-beautiful-dnd": "^13.1.8",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@uiw/codemirror-theme-vscode": "^4.23.6",
|
||||
@@ -173,7 +174,7 @@
|
||||
"@types/file-saver": "^2.0.7",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/path-browserify": "^1.0.3",
|
||||
"@types/react": "^18.3.12",
|
||||
"@types/react": "^18.3.20",
|
||||
"@types/react-dom": "^18.3.1",
|
||||
"@types/react-window": "^1.8.8",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
|
||||
319
pnpm-lock.yaml
generated
319
pnpm-lock.yaml
generated
@@ -95,6 +95,9 @@ importers:
|
||||
'@nanostores/react':
|
||||
specifier: ^0.7.3
|
||||
version: 0.7.3(nanostores@0.10.3)(react@18.3.1)
|
||||
'@octokit/oauth-app':
|
||||
specifier: ^8.0.1
|
||||
version: 8.0.1
|
||||
'@octokit/rest':
|
||||
specifier: ^21.0.2
|
||||
version: 21.1.1
|
||||
@@ -147,7 +150,7 @@ importers:
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.8(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@remix-run/cloudflare':
|
||||
specifier: ^2.15.2
|
||||
specifier: ^2.16.3
|
||||
version: 2.16.3(@cloudflare/workers-types@4.20250327.0)(typescript@5.8.2)
|
||||
'@remix-run/cloudflare-pages':
|
||||
specifier: ^2.15.2
|
||||
@@ -156,14 +159,20 @@ importers:
|
||||
specifier: ^2.15.2
|
||||
version: 2.16.3(typescript@5.8.2)
|
||||
'@remix-run/react':
|
||||
specifier: ^2.15.2
|
||||
specifier: ^2.16.3
|
||||
version: 2.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2)
|
||||
'@tanstack/react-virtual':
|
||||
specifier: ^3.13.0
|
||||
version: 3.13.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@types/node':
|
||||
specifier: ^24.0.0
|
||||
version: 24.0.0
|
||||
'@types/react-beautiful-dnd':
|
||||
specifier: ^13.1.8
|
||||
version: 13.1.8
|
||||
'@types/uuid':
|
||||
specifier: ^10.0.0
|
||||
version: 10.0.0
|
||||
'@uiw/codemirror-theme-vscode':
|
||||
specifier: ^4.23.6
|
||||
version: 4.23.10(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.5)
|
||||
@@ -271,7 +280,7 @@ importers:
|
||||
version: 5.3.0(chart.js@4.4.8)(react@18.3.1)
|
||||
react-dnd:
|
||||
specifier: ^16.0.1
|
||||
version: 16.0.1(@types/hoist-non-react-statics@3.3.6)(@types/node@22.13.14)(@types/react@18.3.20)(react@18.3.1)
|
||||
version: 16.0.1(@types/hoist-non-react-statics@3.3.6)(@types/node@24.0.0)(@types/react@18.3.20)(react@18.3.1)
|
||||
react-dnd-html5-backend:
|
||||
specifier: ^16.0.1
|
||||
version: 16.0.1
|
||||
@@ -329,9 +338,12 @@ importers:
|
||||
use-debounce:
|
||||
specifier: ^10.0.4
|
||||
version: 10.0.4(react@18.3.1)
|
||||
uuid:
|
||||
specifier: ^11.1.0
|
||||
version: 11.1.0
|
||||
vite-plugin-node-polyfills:
|
||||
specifier: ^0.22.0
|
||||
version: 0.22.0(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
version: 0.22.0(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
zod:
|
||||
specifier: ^3.24.1
|
||||
version: 3.24.2
|
||||
@@ -356,7 +368,7 @@ importers:
|
||||
version: 2.0.0
|
||||
'@remix-run/dev':
|
||||
specifier: ^2.15.2
|
||||
version: 2.16.3(@remix-run/react@2.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2))(@remix-run/serve@2.16.3(typescript@5.8.2))(@types/node@22.13.14)(sass-embedded@1.86.0)(typescript@5.8.2)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))(wrangler@4.6.0(@cloudflare/workers-types@4.20250327.0))
|
||||
version: 2.16.3(@remix-run/react@2.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2))(@remix-run/serve@2.16.3(typescript@5.8.2))(@types/node@24.0.0)(sass-embedded@1.86.0)(typescript@5.8.2)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))(wrangler@4.6.0(@cloudflare/workers-types@4.20250327.0))
|
||||
'@remix-run/serve':
|
||||
specifier: ^2.15.2
|
||||
version: 2.16.3(typescript@5.8.2)
|
||||
@@ -385,7 +397,7 @@ importers:
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
'@types/react':
|
||||
specifier: ^18.3.12
|
||||
specifier: ^18.3.20
|
||||
version: 18.3.20
|
||||
'@types/react-dom':
|
||||
specifier: ^18.3.1
|
||||
@@ -395,7 +407,7 @@ importers:
|
||||
version: 1.8.8
|
||||
'@vitejs/plugin-react':
|
||||
specifier: ^4.3.4
|
||||
version: 4.3.4(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
version: 4.3.4(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
concurrently:
|
||||
specifier: ^8.2.2
|
||||
version: 8.2.2
|
||||
@@ -455,22 +467,22 @@ importers:
|
||||
version: 11.0.5
|
||||
unocss:
|
||||
specifier: ^0.61.9
|
||||
version: 0.61.9(postcss@8.5.3)(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
version: 0.61.9(postcss@8.5.3)(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
vite:
|
||||
specifier: ^5.4.11
|
||||
version: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
version: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
vite-plugin-copy:
|
||||
specifier: ^0.1.6
|
||||
version: 0.1.6
|
||||
vite-plugin-optimize-css-modules:
|
||||
specifier: ^1.1.0
|
||||
version: 1.2.0(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
version: 1.2.0(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
vite-tsconfig-paths:
|
||||
specifier: ^4.3.2
|
||||
version: 4.3.2(typescript@5.8.2)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
version: 4.3.2(typescript@5.8.2)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
vitest:
|
||||
specifier: ^2.1.7
|
||||
version: 2.1.9(@types/node@22.13.14)(jsdom@26.0.0)(sass-embedded@1.86.0)
|
||||
version: 2.1.9(@types/node@24.0.0)(jsdom@26.0.0)(sass-embedded@1.86.0)
|
||||
wrangler:
|
||||
specifier: ^4.5.1
|
||||
version: 4.6.0(@cloudflare/workers-types@4.20250327.0)
|
||||
@@ -2129,25 +2141,72 @@ packages:
|
||||
resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
|
||||
'@octokit/auth-oauth-app@9.0.1':
|
||||
resolution: {integrity: sha512-TthWzYxuHKLAbmxdFZwFlmwVyvynpyPmjwc+2/cI3cvbT7mHtsAW9b1LvQaNnAuWL+pFnqtxdmrU8QpF633i1g==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/auth-oauth-device@8.0.1':
|
||||
resolution: {integrity: sha512-TOqId/+am5yk9zor0RGibmlqn4V0h8vzjxlw/wYr3qzkQxl8aBPur384D1EyHtqvfz0syeXji4OUvKkHvxk/Gw==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/auth-oauth-user@6.0.0':
|
||||
resolution: {integrity: sha512-GV9IW134PHsLhtUad21WIeP9mlJ+QNpFd6V9vuPWmaiN25HEJeEQUcS4y5oRuqCm9iWDLtfIs+9K8uczBXKr6A==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/auth-token@5.1.2':
|
||||
resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@octokit/auth-token@6.0.0':
|
||||
resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/auth-unauthenticated@7.0.1':
|
||||
resolution: {integrity: sha512-qVq1vdjLLZdE8kH2vDycNNjuJRCD1q2oet1nA/GXWaYlpDxlR7rdVhX/K/oszXslXiQIiqrQf+rdhDlA99JdTQ==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/core@6.1.4':
|
||||
resolution: {integrity: sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@octokit/core@7.0.2':
|
||||
resolution: {integrity: sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/endpoint@10.1.3':
|
||||
resolution: {integrity: sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@octokit/endpoint@11.0.0':
|
||||
resolution: {integrity: sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/graphql@8.2.1':
|
||||
resolution: {integrity: sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@octokit/graphql@9.0.1':
|
||||
resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/oauth-app@8.0.1':
|
||||
resolution: {integrity: sha512-QnhMYEQpnYbEPn9cae+wXL2LuPMFglmfeuDJXXsyxIXdoORwkLK8y0cHhd/5du9MbO/zdG/BXixzB7EEwU63eQ==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/oauth-authorization-url@8.0.0':
|
||||
resolution: {integrity: sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/oauth-methods@6.0.0':
|
||||
resolution: {integrity: sha512-Q8nFIagNLIZgM2odAraelMcDssapc+lF+y3OlcIPxyAU+knefO8KmozGqfnma1xegRDP4z5M73ABsamn72bOcA==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/openapi-types@24.2.0':
|
||||
resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==}
|
||||
|
||||
'@octokit/openapi-types@25.1.0':
|
||||
resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==}
|
||||
|
||||
'@octokit/plugin-paginate-rest@11.6.0':
|
||||
resolution: {integrity: sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==}
|
||||
engines: {node: '>= 18'}
|
||||
@@ -2170,6 +2229,14 @@ packages:
|
||||
resolution: {integrity: sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
'@octokit/request-error@7.0.0':
|
||||
resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/request@10.0.2':
|
||||
resolution: {integrity: sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@octokit/request@9.2.2':
|
||||
resolution: {integrity: sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==}
|
||||
engines: {node: '>= 18'}
|
||||
@@ -2181,6 +2248,9 @@ packages:
|
||||
'@octokit/types@13.10.0':
|
||||
resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
|
||||
|
||||
'@octokit/types@14.1.0':
|
||||
resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==}
|
||||
|
||||
'@openrouter/ai-sdk-provider@0.0.5':
|
||||
resolution: {integrity: sha512-AfxXQhISpxQSeUjU/4jo9waM5GRNX6eIkfTFS9l7vHkD1TKDP81Y/dXrE0ttJeN/Kap3tPF3Jwh49me0gWwjSw==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -3187,6 +3257,9 @@ packages:
|
||||
'@types/aria-query@5.0.4':
|
||||
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
|
||||
|
||||
'@types/aws-lambda@8.10.149':
|
||||
resolution: {integrity: sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==}
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
|
||||
|
||||
@@ -3269,8 +3342,8 @@ packages:
|
||||
'@types/node@20.17.28':
|
||||
resolution: {integrity: sha512-DHlH/fNL6Mho38jTy7/JT7sn2wnXI+wULR6PV4gy4VHLVvnrV/d3pHAMQHhc4gjdLmK2ZiPoMxzp6B3yRajLSQ==}
|
||||
|
||||
'@types/node@22.13.14':
|
||||
resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==}
|
||||
'@types/node@24.0.0':
|
||||
resolution: {integrity: sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg==}
|
||||
|
||||
'@types/path-browserify@1.0.3':
|
||||
resolution: {integrity: sha512-ZmHivEbNCBtAfcrFeBCiTjdIc2dey0l7oCGNGpSuRTy8jP6UVND7oUowlvDujBy8r2Hoa8bfFUOCiPWfmtkfxw==}
|
||||
@@ -3310,6 +3383,9 @@ packages:
|
||||
'@types/unist@3.0.3':
|
||||
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
|
||||
|
||||
'@types/uuid@10.0.0':
|
||||
resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
|
||||
|
||||
'@types/uuid@9.0.8':
|
||||
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
|
||||
|
||||
@@ -3763,6 +3839,9 @@ packages:
|
||||
before-after-hook@3.0.2:
|
||||
resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==}
|
||||
|
||||
before-after-hook@4.0.0:
|
||||
resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==}
|
||||
|
||||
binary-extensions@2.3.0:
|
||||
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -4767,6 +4846,9 @@ packages:
|
||||
fast-content-type-parse@2.0.1:
|
||||
resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==}
|
||||
|
||||
fast-content-type-parse@3.0.0:
|
||||
resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==}
|
||||
|
||||
fast-deep-equal@3.1.3:
|
||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||
|
||||
@@ -7621,8 +7703,8 @@ packages:
|
||||
undici-types@6.19.8:
|
||||
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
|
||||
|
||||
undici-types@6.20.0:
|
||||
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||
undici-types@7.8.0:
|
||||
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
|
||||
|
||||
undici@5.29.0:
|
||||
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
|
||||
@@ -7788,6 +7870,10 @@ packages:
|
||||
utrie@1.0.2:
|
||||
resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
|
||||
|
||||
uuid@11.1.0:
|
||||
resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
|
||||
hasBin: true
|
||||
|
||||
uuid@9.0.1:
|
||||
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
|
||||
hasBin: true
|
||||
@@ -9912,8 +9998,38 @@ snapshots:
|
||||
dependencies:
|
||||
which: 3.0.1
|
||||
|
||||
'@octokit/auth-oauth-app@9.0.1':
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-device': 8.0.1
|
||||
'@octokit/auth-oauth-user': 6.0.0
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/types': 14.1.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/auth-oauth-device@8.0.1':
|
||||
dependencies:
|
||||
'@octokit/oauth-methods': 6.0.0
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/types': 14.1.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/auth-oauth-user@6.0.0':
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-device': 8.0.1
|
||||
'@octokit/oauth-methods': 6.0.0
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/types': 14.1.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/auth-token@5.1.2': {}
|
||||
|
||||
'@octokit/auth-token@6.0.0': {}
|
||||
|
||||
'@octokit/auth-unauthenticated@7.0.1':
|
||||
dependencies:
|
||||
'@octokit/request-error': 7.0.0
|
||||
'@octokit/types': 14.1.0
|
||||
|
||||
'@octokit/core@6.1.4':
|
||||
dependencies:
|
||||
'@octokit/auth-token': 5.1.2
|
||||
@@ -9924,19 +10040,62 @@ snapshots:
|
||||
before-after-hook: 3.0.2
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/core@7.0.2':
|
||||
dependencies:
|
||||
'@octokit/auth-token': 6.0.0
|
||||
'@octokit/graphql': 9.0.1
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/request-error': 7.0.0
|
||||
'@octokit/types': 14.1.0
|
||||
before-after-hook: 4.0.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/endpoint@10.1.3':
|
||||
dependencies:
|
||||
'@octokit/types': 13.10.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/endpoint@11.0.0':
|
||||
dependencies:
|
||||
'@octokit/types': 14.1.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/graphql@8.2.1':
|
||||
dependencies:
|
||||
'@octokit/request': 9.2.2
|
||||
'@octokit/types': 13.10.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/graphql@9.0.1':
|
||||
dependencies:
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/types': 14.1.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/oauth-app@8.0.1':
|
||||
dependencies:
|
||||
'@octokit/auth-oauth-app': 9.0.1
|
||||
'@octokit/auth-oauth-user': 6.0.0
|
||||
'@octokit/auth-unauthenticated': 7.0.1
|
||||
'@octokit/core': 7.0.2
|
||||
'@octokit/oauth-authorization-url': 8.0.0
|
||||
'@octokit/oauth-methods': 6.0.0
|
||||
'@types/aws-lambda': 8.10.149
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/oauth-authorization-url@8.0.0': {}
|
||||
|
||||
'@octokit/oauth-methods@6.0.0':
|
||||
dependencies:
|
||||
'@octokit/oauth-authorization-url': 8.0.0
|
||||
'@octokit/request': 10.0.2
|
||||
'@octokit/request-error': 7.0.0
|
||||
'@octokit/types': 14.1.0
|
||||
|
||||
'@octokit/openapi-types@24.2.0': {}
|
||||
|
||||
'@octokit/openapi-types@25.1.0': {}
|
||||
|
||||
'@octokit/plugin-paginate-rest@11.6.0(@octokit/core@6.1.4)':
|
||||
dependencies:
|
||||
'@octokit/core': 6.1.4
|
||||
@@ -9955,6 +10114,18 @@ snapshots:
|
||||
dependencies:
|
||||
'@octokit/types': 13.10.0
|
||||
|
||||
'@octokit/request-error@7.0.0':
|
||||
dependencies:
|
||||
'@octokit/types': 14.1.0
|
||||
|
||||
'@octokit/request@10.0.2':
|
||||
dependencies:
|
||||
'@octokit/endpoint': 11.0.0
|
||||
'@octokit/request-error': 7.0.0
|
||||
'@octokit/types': 14.1.0
|
||||
fast-content-type-parse: 3.0.0
|
||||
universal-user-agent: 7.0.2
|
||||
|
||||
'@octokit/request@9.2.2':
|
||||
dependencies:
|
||||
'@octokit/endpoint': 10.1.3
|
||||
@@ -9974,6 +10145,10 @@ snapshots:
|
||||
dependencies:
|
||||
'@octokit/openapi-types': 24.2.0
|
||||
|
||||
'@octokit/types@14.1.0':
|
||||
dependencies:
|
||||
'@octokit/openapi-types': 25.1.0
|
||||
|
||||
'@openrouter/ai-sdk-provider@0.0.5(zod@3.24.2)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 0.0.12
|
||||
@@ -10502,7 +10677,7 @@ snapshots:
|
||||
optionalDependencies:
|
||||
typescript: 5.8.2
|
||||
|
||||
'@remix-run/dev@2.16.3(@remix-run/react@2.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2))(@remix-run/serve@2.16.3(typescript@5.8.2))(@types/node@22.13.14)(sass-embedded@1.86.0)(typescript@5.8.2)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))(wrangler@4.6.0(@cloudflare/workers-types@4.20250327.0))':
|
||||
'@remix-run/dev@2.16.3(@remix-run/react@2.16.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2))(@remix-run/serve@2.16.3(typescript@5.8.2))(@types/node@24.0.0)(sass-embedded@1.86.0)(typescript@5.8.2)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))(wrangler@4.6.0(@cloudflare/workers-types@4.20250327.0))':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.10
|
||||
'@babel/generator': 7.27.0
|
||||
@@ -10519,7 +10694,7 @@ snapshots:
|
||||
'@remix-run/router': 1.23.0
|
||||
'@remix-run/server-runtime': 2.16.3(typescript@5.8.2)
|
||||
'@types/mdx': 2.0.13
|
||||
'@vanilla-extract/integration': 6.5.0(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
'@vanilla-extract/integration': 6.5.0(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
arg: 5.0.2
|
||||
cacache: 17.1.4
|
||||
chalk: 4.1.2
|
||||
@@ -10559,12 +10734,12 @@ snapshots:
|
||||
tar-fs: 2.1.2
|
||||
tsconfig-paths: 4.2.0
|
||||
valibot: 0.41.0(typescript@5.8.2)
|
||||
vite-node: 3.0.0-beta.2(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite-node: 3.0.0-beta.2(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
ws: 7.5.10
|
||||
optionalDependencies:
|
||||
'@remix-run/serve': 2.16.3(typescript@5.8.2)
|
||||
typescript: 5.8.2
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
wrangler: 4.6.0(@cloudflare/workers-types@4.20250327.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
@@ -11144,6 +11319,8 @@ snapshots:
|
||||
|
||||
'@types/aria-query@5.0.4': {}
|
||||
|
||||
'@types/aws-lambda@8.10.149': {}
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
dependencies:
|
||||
'@babel/parser': 7.27.0
|
||||
@@ -11169,7 +11346,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/http-cache-semantics': 4.0.4
|
||||
'@types/keyv': 3.1.4
|
||||
'@types/node': 20.17.28
|
||||
'@types/node': 24.0.0
|
||||
'@types/responselike': 1.0.3
|
||||
|
||||
'@types/cookie@0.6.0': {}
|
||||
@@ -11200,7 +11377,7 @@ snapshots:
|
||||
|
||||
'@types/fs-extra@9.0.13':
|
||||
dependencies:
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
|
||||
'@types/hast@2.3.10':
|
||||
dependencies:
|
||||
@@ -11223,7 +11400,7 @@ snapshots:
|
||||
|
||||
'@types/keyv@3.1.4':
|
||||
dependencies:
|
||||
'@types/node': 20.17.28
|
||||
'@types/node': 24.0.0
|
||||
|
||||
'@types/mdast@3.0.15':
|
||||
dependencies:
|
||||
@@ -11241,15 +11418,15 @@ snapshots:
|
||||
dependencies:
|
||||
undici-types: 6.19.8
|
||||
|
||||
'@types/node@22.13.14':
|
||||
'@types/node@24.0.0':
|
||||
dependencies:
|
||||
undici-types: 6.20.0
|
||||
undici-types: 7.8.0
|
||||
|
||||
'@types/path-browserify@1.0.3': {}
|
||||
|
||||
'@types/plist@3.0.5':
|
||||
dependencies:
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
xmlbuilder: 15.1.1
|
||||
optional: true
|
||||
|
||||
@@ -11284,12 +11461,14 @@ snapshots:
|
||||
|
||||
'@types/responselike@1.0.3':
|
||||
dependencies:
|
||||
'@types/node': 20.17.28
|
||||
'@types/node': 24.0.0
|
||||
|
||||
'@types/unist@2.0.11': {}
|
||||
|
||||
'@types/unist@3.0.3': {}
|
||||
|
||||
'@types/uuid@10.0.0': {}
|
||||
|
||||
'@types/uuid@9.0.8': {}
|
||||
|
||||
'@types/verror@1.10.11':
|
||||
@@ -11297,7 +11476,7 @@ snapshots:
|
||||
|
||||
'@types/yauzl@2.10.3':
|
||||
dependencies:
|
||||
'@types/node': 20.17.28
|
||||
'@types/node': 24.0.0
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@1.21.7))(typescript@5.8.2))(eslint@9.23.0(jiti@1.21.7))(typescript@5.8.2)':
|
||||
@@ -11393,13 +11572,13 @@ snapshots:
|
||||
|
||||
'@ungap/structured-clone@1.3.0': {}
|
||||
|
||||
'@unocss/astro@0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))':
|
||||
'@unocss/astro@0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))':
|
||||
dependencies:
|
||||
'@unocss/core': 0.61.9
|
||||
'@unocss/reset': 0.61.9
|
||||
'@unocss/vite': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
'@unocss/vite': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
optionalDependencies:
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
@@ -11536,7 +11715,7 @@ snapshots:
|
||||
dependencies:
|
||||
'@unocss/core': 0.61.9
|
||||
|
||||
'@unocss/vite@0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))':
|
||||
'@unocss/vite@0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.38.0)
|
||||
@@ -11548,7 +11727,7 @@ snapshots:
|
||||
chokidar: 3.6.0
|
||||
fast-glob: 3.3.3
|
||||
magic-string: 0.30.17
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
@@ -11576,7 +11755,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
|
||||
'@vanilla-extract/integration@6.5.0(@types/node@22.13.14)(sass-embedded@1.86.0)':
|
||||
'@vanilla-extract/integration@6.5.0(@types/node@24.0.0)(sass-embedded@1.86.0)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.10
|
||||
'@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10)
|
||||
@@ -11589,8 +11768,8 @@ snapshots:
|
||||
lodash: 4.17.21
|
||||
mlly: 1.7.4
|
||||
outdent: 0.8.0
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite-node: 1.6.1(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
vite-node: 1.6.1(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
@@ -11605,14 +11784,14 @@ snapshots:
|
||||
|
||||
'@vanilla-extract/private@1.0.6': {}
|
||||
|
||||
'@vitejs/plugin-react@4.3.4(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))':
|
||||
'@vitejs/plugin-react@4.3.4(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.10
|
||||
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10)
|
||||
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10)
|
||||
'@types/babel__core': 7.20.5
|
||||
react-refresh: 0.14.2
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -11623,13 +11802,13 @@ snapshots:
|
||||
chai: 5.2.0
|
||||
tinyrainbow: 1.2.0
|
||||
|
||||
'@vitest/mocker@2.1.9(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))':
|
||||
'@vitest/mocker@2.1.9(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))':
|
||||
dependencies:
|
||||
'@vitest/spy': 2.1.9
|
||||
estree-walker: 3.0.3
|
||||
magic-string: 0.30.17
|
||||
optionalDependencies:
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
|
||||
'@vitest/pretty-format@2.1.9':
|
||||
dependencies:
|
||||
@@ -11929,6 +12108,8 @@ snapshots:
|
||||
|
||||
before-after-hook@3.0.2: {}
|
||||
|
||||
before-after-hook@4.0.0: {}
|
||||
|
||||
binary-extensions@2.3.0: {}
|
||||
|
||||
binaryextensions@6.11.0:
|
||||
@@ -13145,7 +13326,7 @@ snapshots:
|
||||
|
||||
eval@0.1.8:
|
||||
dependencies:
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
require-like: 0.1.2
|
||||
|
||||
event-target-shim@5.0.1: {}
|
||||
@@ -13234,6 +13415,8 @@ snapshots:
|
||||
|
||||
fast-content-type-parse@2.0.1: {}
|
||||
|
||||
fast-content-type-parse@3.0.0: {}
|
||||
|
||||
fast-deep-equal@3.1.3: {}
|
||||
|
||||
fast-diff@1.3.0: {}
|
||||
@@ -15641,7 +15824,7 @@ snapshots:
|
||||
dependencies:
|
||||
dnd-core: 16.0.1
|
||||
|
||||
react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.6)(@types/node@22.13.14)(@types/react@18.3.20)(react@18.3.1):
|
||||
react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.6)(@types/node@24.0.0)(@types/react@18.3.20)(react@18.3.1):
|
||||
dependencies:
|
||||
'@react-dnd/invariant': 4.0.2
|
||||
'@react-dnd/shallowequal': 4.0.2
|
||||
@@ -15651,7 +15834,7 @@ snapshots:
|
||||
react: 18.3.1
|
||||
optionalDependencies:
|
||||
'@types/hoist-non-react-statics': 3.3.6
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
'@types/react': 18.3.20
|
||||
|
||||
react-dom@18.3.1(react@18.3.1):
|
||||
@@ -16705,7 +16888,7 @@ snapshots:
|
||||
|
||||
undici-types@6.19.8: {}
|
||||
|
||||
undici-types@6.20.0: {}
|
||||
undici-types@7.8.0: {}
|
||||
|
||||
undici@5.29.0:
|
||||
dependencies:
|
||||
@@ -16820,9 +17003,9 @@ snapshots:
|
||||
|
||||
universalify@2.0.1: {}
|
||||
|
||||
unocss@0.61.9(postcss@8.5.3)(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)):
|
||||
unocss@0.61.9(postcss@8.5.3)(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)):
|
||||
dependencies:
|
||||
'@unocss/astro': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
'@unocss/astro': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
'@unocss/cli': 0.61.9(rollup@4.38.0)
|
||||
'@unocss/core': 0.61.9
|
||||
'@unocss/extractor-arbitrary-variants': 0.61.9
|
||||
@@ -16841,9 +17024,9 @@ snapshots:
|
||||
'@unocss/transformer-compile-class': 0.61.9
|
||||
'@unocss/transformer-directives': 0.61.9
|
||||
'@unocss/transformer-variant-group': 0.61.9
|
||||
'@unocss/vite': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
'@unocss/vite': 0.61.9(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
optionalDependencies:
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- postcss
|
||||
- rollup
|
||||
@@ -16912,6 +17095,8 @@ snapshots:
|
||||
base64-arraybuffer: 1.0.2
|
||||
optional: true
|
||||
|
||||
uuid@11.1.0: {}
|
||||
|
||||
uuid@9.0.1: {}
|
||||
|
||||
uvu@0.5.6:
|
||||
@@ -16972,13 +17157,13 @@ snapshots:
|
||||
'@types/unist': 3.0.3
|
||||
vfile-message: 4.0.2
|
||||
|
||||
vite-node@1.6.1(@types/node@22.13.14)(sass-embedded@1.86.0):
|
||||
vite-node@1.6.1(@types/node@24.0.0)(sass-embedded@1.86.0):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.4.0
|
||||
pathe: 1.1.2
|
||||
picocolors: 1.1.1
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
@@ -16990,13 +17175,13 @@ snapshots:
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
vite-node@2.1.9(@types/node@22.13.14)(sass-embedded@1.86.0):
|
||||
vite-node@2.1.9(@types/node@24.0.0)(sass-embedded@1.86.0):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.4.0
|
||||
es-module-lexer: 1.6.0
|
||||
pathe: 1.1.2
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
@@ -17008,13 +17193,13 @@ snapshots:
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
vite-node@3.0.0-beta.2(@types/node@22.13.14)(sass-embedded@1.86.0):
|
||||
vite-node@3.0.0-beta.2(@types/node@24.0.0)(sass-embedded@1.86.0):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.4.0
|
||||
es-module-lexer: 1.6.0
|
||||
pathe: 1.1.2
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
@@ -17030,43 +17215,43 @@ snapshots:
|
||||
dependencies:
|
||||
fast-glob: 3.3.3
|
||||
|
||||
vite-plugin-node-polyfills@0.22.0(rollup@4.38.0)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)):
|
||||
vite-plugin-node-polyfills@0.22.0(rollup@4.38.0)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)):
|
||||
dependencies:
|
||||
'@rollup/plugin-inject': 5.0.5(rollup@4.38.0)
|
||||
node-stdlib-browser: 1.3.1
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
||||
vite-plugin-optimize-css-modules@1.2.0(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)):
|
||||
vite-plugin-optimize-css-modules@1.2.0(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)):
|
||||
dependencies:
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
|
||||
vite-tsconfig-paths@4.3.2(typescript@5.8.2)(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)):
|
||||
vite-tsconfig-paths@4.3.2(typescript@5.8.2)(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)):
|
||||
dependencies:
|
||||
debug: 4.4.0
|
||||
globrex: 0.1.2
|
||||
tsconfck: 3.1.5(typescript@5.8.2)
|
||||
optionalDependencies:
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0):
|
||||
vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0):
|
||||
dependencies:
|
||||
esbuild: 0.21.5
|
||||
postcss: 8.5.3
|
||||
rollup: 4.38.0
|
||||
optionalDependencies:
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
fsevents: 2.3.3
|
||||
sass-embedded: 1.86.0
|
||||
|
||||
vitest@2.1.9(@types/node@22.13.14)(jsdom@26.0.0)(sass-embedded@1.86.0):
|
||||
vitest@2.1.9(@types/node@24.0.0)(jsdom@26.0.0)(sass-embedded@1.86.0):
|
||||
dependencies:
|
||||
'@vitest/expect': 2.1.9
|
||||
'@vitest/mocker': 2.1.9(vite@5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0))
|
||||
'@vitest/mocker': 2.1.9(vite@5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0))
|
||||
'@vitest/pretty-format': 2.1.9
|
||||
'@vitest/runner': 2.1.9
|
||||
'@vitest/snapshot': 2.1.9
|
||||
@@ -17082,11 +17267,11 @@ snapshots:
|
||||
tinyexec: 0.3.2
|
||||
tinypool: 1.0.2
|
||||
tinyrainbow: 1.2.0
|
||||
vite: 5.4.15(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite-node: 2.1.9(@types/node@22.13.14)(sass-embedded@1.86.0)
|
||||
vite: 5.4.15(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
vite-node: 2.1.9(@types/node@24.0.0)(sass-embedded@1.86.0)
|
||||
why-is-node-running: 2.3.0
|
||||
optionalDependencies:
|
||||
'@types/node': 22.13.14
|
||||
'@types/node': 24.0.0
|
||||
jsdom: 26.0.0
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
"vite/client",
|
||||
"@cloudflare/workers-types/2023-07-01",
|
||||
"@types/dom-speech-recognition",
|
||||
"electron"
|
||||
"electron",
|
||||
"react",
|
||||
"node"
|
||||
],
|
||||
"isolatedModules": true,
|
||||
"esModuleInterop": true,
|
||||
@@ -24,7 +26,6 @@
|
||||
"paths": {
|
||||
"~/*": ["./app/*"]
|
||||
},
|
||||
// vite takes care of building everything, not tsc
|
||||
"noEmit": true
|
||||
},
|
||||
"include": [
|
||||
|
||||
Reference in New Issue
Block a user