mirror of
https://github.com/Afilmory/afilmory
synced 2026-04-25 07:15:36 +00:00
chore: update package dependencies and improve documentation
- Updated `vite` to the beta version across multiple applications for enhanced features and performance. - Removed deprecated dependencies such as `@clack/prompts`, `consola`, and `opentype.js` from `devDependencies`. - Added new storage provider documentation in `routes.json` and updated last modified dates for existing entries. - Refactored route imports in `routes.ts` to streamline the structure and improve readability. - Enhanced the Table of Contents (TOC) data structure for better organization and accessibility. Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
@@ -65,6 +65,6 @@
|
|||||||
"tsx": "^4.21.0",
|
"tsx": "^4.21.0",
|
||||||
"typescript": "~5.9.3",
|
"typescript": "~5.9.3",
|
||||||
"typescript-eslint": "^8.48.1",
|
"typescript-eslint": "^8.48.1",
|
||||||
"vite": "^7.2.6"
|
"vite": "8.0.0-beta.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"title": "Quick Start",
|
"title": "Quick Start",
|
||||||
"description": "Get your gallery running in about 5 minutes.",
|
"description": "Get your gallery running in about 5 minutes.",
|
||||||
"createdAt": "2025-11-14T22:20:00+08:00",
|
"createdAt": "2025-11-14T22:20:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "2"
|
"order": "2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
"title": "Storage Providers",
|
"title": "Storage Providers",
|
||||||
"description": "Choose a storage provider for your photo collection.",
|
"description": "Choose a storage provider for your photo collection.",
|
||||||
"createdAt": "2025-11-14T22:40:00+08:00",
|
"createdAt": "2025-11-14T22:40:00+08:00",
|
||||||
"lastModified": "2025-11-24T10:15:00+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "30"
|
"order": "30"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -105,32 +105,10 @@
|
|||||||
"title": "S3 / S3-Compatible",
|
"title": "S3 / S3-Compatible",
|
||||||
"description": "Configure S3 or S3-compatible storage for your photo collection.",
|
"description": "Configure S3 or S3-compatible storage for your photo collection.",
|
||||||
"createdAt": "2025-11-14T22:10:00+08:00",
|
"createdAt": "2025-11-14T22:10:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "32"
|
"order": "32"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "/storage/providers/oss",
|
|
||||||
"title": "Aliyun OSS",
|
|
||||||
"meta": {
|
|
||||||
"title": "Aliyun OSS",
|
|
||||||
"description": "Configure Aliyun Object Storage Service (OSS) for China-mainland friendly deployments.",
|
|
||||||
"createdAt": "2025-11-24T10:05:00+08:00",
|
|
||||||
"lastModified": "2025-11-24T10:05:00+08:00",
|
|
||||||
"order": "37"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/storage/providers/cos",
|
|
||||||
"title": "Tencent COS",
|
|
||||||
"meta": {
|
|
||||||
"title": "Tencent COS",
|
|
||||||
"description": "Configure Tencent Cloud Object Storage (COS) for deployments within the Tencent ecosystem.",
|
|
||||||
"createdAt": "2025-11-24T10:06:00+08:00",
|
|
||||||
"lastModified": "2025-11-24T10:06:00+08:00",
|
|
||||||
"order": "38"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "/storage/providers/b2",
|
"path": "/storage/providers/b2",
|
||||||
"title": "B2 (Backblaze B2)",
|
"title": "B2 (Backblaze B2)",
|
||||||
@@ -138,7 +116,7 @@
|
|||||||
"title": "B2 (Backblaze B2)",
|
"title": "B2 (Backblaze B2)",
|
||||||
"description": "Configure Backblaze B2 storage for cost-effective cloud storage.",
|
"description": "Configure Backblaze B2 storage for cost-effective cloud storage.",
|
||||||
"createdAt": "2025-11-14T22:10:00+08:00",
|
"createdAt": "2025-11-14T22:10:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "33"
|
"order": "33"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -149,7 +127,7 @@
|
|||||||
"title": "GitHub Storage",
|
"title": "GitHub Storage",
|
||||||
"description": "Use a GitHub repository as photo storage for simple deployments.",
|
"description": "Use a GitHub repository as photo storage for simple deployments.",
|
||||||
"createdAt": "2025-11-14T22:10:00+08:00",
|
"createdAt": "2025-11-14T22:10:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "34"
|
"order": "34"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -160,7 +138,7 @@
|
|||||||
"title": "Local Storage",
|
"title": "Local Storage",
|
||||||
"description": "Use local file system paths for development and self-hosting.",
|
"description": "Use local file system paths for development and self-hosting.",
|
||||||
"createdAt": "2025-11-14T22:10:00+08:00",
|
"createdAt": "2025-11-14T22:10:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "35"
|
"order": "35"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -171,7 +149,7 @@
|
|||||||
"title": "SaaS Architecture",
|
"title": "SaaS Architecture",
|
||||||
"description": "Tenant model, domain routing, OAuth flow, and data injection paths.",
|
"description": "Tenant model, domain routing, OAuth flow, and data injection paths.",
|
||||||
"createdAt": "2025-11-23T20:20:00+08:00",
|
"createdAt": "2025-11-23T20:20:00+08:00",
|
||||||
"lastModified": "2025-11-23T20:44:02+08:00",
|
"lastModified": "2025-11-30T14:03:05+08:00",
|
||||||
"order": "36"
|
"order": "36"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -182,7 +160,7 @@
|
|||||||
"title": "Eagle Storage",
|
"title": "Eagle Storage",
|
||||||
"description": "Publish directly from an Eagle 4 library with filtering support.",
|
"description": "Publish directly from an Eagle 4 library with filtering support.",
|
||||||
"createdAt": "2025-11-14T22:10:00+08:00",
|
"createdAt": "2025-11-14T22:10:00+08:00",
|
||||||
"lastModified": "2025-11-23T19:40:52+08:00",
|
"lastModified": "2025-12-05T15:28:22+08:00",
|
||||||
"order": "36"
|
"order": "36"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -197,6 +175,28 @@
|
|||||||
"order": "37"
|
"order": "37"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "/storage/providers/oss",
|
||||||
|
"title": "Aliyun OSS",
|
||||||
|
"meta": {
|
||||||
|
"title": "Aliyun OSS",
|
||||||
|
"description": "Configure Aliyun Object Storage Service (OSS) for China-mainland friendly deployments.",
|
||||||
|
"createdAt": "2025-11-24T10:05:00+08:00",
|
||||||
|
"lastModified": "2025-11-24T22:26:48+08:00",
|
||||||
|
"order": "37"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "/storage/providers/cos",
|
||||||
|
"title": "Tencent COS",
|
||||||
|
"meta": {
|
||||||
|
"title": "Tencent COS",
|
||||||
|
"description": "Configure Tencent Cloud Object Storage (COS) for deployments within the Tencent ecosystem.",
|
||||||
|
"createdAt": "2025-11-24T10:06:00+08:00",
|
||||||
|
"lastModified": "2025-11-24T22:26:48+08:00",
|
||||||
|
"order": "38"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "/builder",
|
"path": "/builder",
|
||||||
"title": "Builder",
|
"title": "Builder",
|
||||||
|
|||||||
@@ -6,28 +6,28 @@ import Route3 from '../contents/architecture.mdx'
|
|||||||
import Route7 from '../contents/builder/built-ins.mdx'
|
import Route7 from '../contents/builder/built-ins.mdx'
|
||||||
import Route1 from '../contents/builder/cli.mdx'
|
import Route1 from '../contents/builder/cli.mdx'
|
||||||
import Route4 from '../contents/builder/config.mdx'
|
import Route4 from '../contents/builder/config.mdx'
|
||||||
import Route16 from '../contents/builder/index.mdx'
|
import Route18 from '../contents/builder/index.mdx'
|
||||||
import Route5 from '../contents/builder/pipeline.mdx'
|
import Route5 from '../contents/builder/pipeline.mdx'
|
||||||
import Route6 from '../contents/builder/plugins.mdx'
|
import Route6 from '../contents/builder/plugins.mdx'
|
||||||
import Route20 from '../contents/deployment/cloudflare-pages.mdx'
|
import Route22 from '../contents/deployment/cloudflare-pages.mdx'
|
||||||
import Route18 from '../contents/deployment/docker.mdx'
|
import Route20 from '../contents/deployment/docker.mdx'
|
||||||
import Route19 from '../contents/deployment/github-pages.mdx'
|
import Route21 from '../contents/deployment/github-pages.mdx'
|
||||||
import Route17 from '../contents/deployment/index.mdx'
|
import Route19 from '../contents/deployment/index.mdx'
|
||||||
import Route21 from '../contents/deployment/vercel.mdx'
|
import Route23 from '../contents/deployment/vercel.mdx'
|
||||||
import Route24 from '../contents/docs-site.mdx'
|
import Route26 from '../contents/docs-site.mdx'
|
||||||
import Route2 from '../contents/getting-started/quick-start.mdx'
|
import Route2 from '../contents/getting-started/quick-start.mdx'
|
||||||
import Route0 from '../contents/index.mdx'
|
import Route0 from '../contents/index.mdx'
|
||||||
import Route13 from '../contents/saas/architecture.mdx'
|
import Route13 from '../contents/saas/architecture.mdx'
|
||||||
import Route23 from '../contents/saas/cms.mdx'
|
import Route25 from '../contents/saas/cms.mdx'
|
||||||
import Route15 from '../contents/saas/deployment.mdx'
|
import Route15 from '../contents/saas/deployment.mdx'
|
||||||
import Route22 from '../contents/saas/index.mdx'
|
import Route24 from '../contents/saas/index.mdx'
|
||||||
import Route10 from '../contents/storage/providers/b2.mdx'
|
import Route10 from '../contents/storage/providers/b2.mdx'
|
||||||
import Route26 from '../contents/storage/providers/cos.mdx'
|
import Route17 from '../contents/storage/providers/cos.mdx'
|
||||||
import Route14 from '../contents/storage/providers/eagle.mdx'
|
import Route14 from '../contents/storage/providers/eagle.mdx'
|
||||||
import Route11 from '../contents/storage/providers/github.mdx'
|
import Route11 from '../contents/storage/providers/github.mdx'
|
||||||
import Route8 from '../contents/storage/providers/index.mdx'
|
import Route8 from '../contents/storage/providers/index.mdx'
|
||||||
import Route12 from '../contents/storage/providers/local.mdx'
|
import Route12 from '../contents/storage/providers/local.mdx'
|
||||||
import Route25 from '../contents/storage/providers/oss.mdx'
|
import Route16 from '../contents/storage/providers/oss.mdx'
|
||||||
import Route9 from '../contents/storage/providers/s3.mdx'
|
import Route9 from '../contents/storage/providers/s3.mdx'
|
||||||
|
|
||||||
export interface RouteConfig {
|
export interface RouteConfig {
|
||||||
@@ -70,7 +70,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'Quick Start',
|
title: 'Quick Start',
|
||||||
description: 'Get your gallery running in about 5 minutes.',
|
description: 'Get your gallery running in about 5 minutes.',
|
||||||
createdAt: '2025-11-14T22:20:00+08:00',
|
createdAt: '2025-11-14T22:20:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '2',
|
order: '2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -142,7 +142,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'Storage Providers',
|
title: 'Storage Providers',
|
||||||
description: 'Choose a storage provider for your photo collection.',
|
description: 'Choose a storage provider for your photo collection.',
|
||||||
createdAt: '2025-11-14T22:40:00+08:00',
|
createdAt: '2025-11-14T22:40:00+08:00',
|
||||||
lastModified: '2025-11-24T10:15:00+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '30',
|
order: '30',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -154,34 +154,10 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'S3 / S3-Compatible',
|
title: 'S3 / S3-Compatible',
|
||||||
description: 'Configure S3 or S3-compatible storage for your photo collection.',
|
description: 'Configure S3 or S3-compatible storage for your photo collection.',
|
||||||
createdAt: '2025-11-14T22:10:00+08:00',
|
createdAt: '2025-11-14T22:10:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '32',
|
order: '32',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/storage/providers/oss',
|
|
||||||
component: Route25,
|
|
||||||
title: 'Aliyun OSS',
|
|
||||||
meta: {
|
|
||||||
title: 'Aliyun OSS',
|
|
||||||
description: 'Configure Aliyun Object Storage Service (OSS) for China-mainland friendly deployments.',
|
|
||||||
createdAt: '2025-11-24T10:05:00+08:00',
|
|
||||||
lastModified: '2025-11-24T10:05:00+08:00',
|
|
||||||
order: '37',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/storage/providers/cos',
|
|
||||||
component: Route26,
|
|
||||||
title: 'Tencent COS',
|
|
||||||
meta: {
|
|
||||||
title: 'Tencent COS',
|
|
||||||
description: 'Configure Tencent Cloud Object Storage (COS) for deployments within the Tencent ecosystem.',
|
|
||||||
createdAt: '2025-11-24T10:06:00+08:00',
|
|
||||||
lastModified: '2025-11-24T10:06:00+08:00',
|
|
||||||
order: '38',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: '/storage/providers/b2',
|
path: '/storage/providers/b2',
|
||||||
component: Route10,
|
component: Route10,
|
||||||
@@ -190,7 +166,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'B2 (Backblaze B2)',
|
title: 'B2 (Backblaze B2)',
|
||||||
description: 'Configure Backblaze B2 storage for cost-effective cloud storage.',
|
description: 'Configure Backblaze B2 storage for cost-effective cloud storage.',
|
||||||
createdAt: '2025-11-14T22:10:00+08:00',
|
createdAt: '2025-11-14T22:10:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '33',
|
order: '33',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -202,7 +178,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'GitHub Storage',
|
title: 'GitHub Storage',
|
||||||
description: 'Use a GitHub repository as photo storage for simple deployments.',
|
description: 'Use a GitHub repository as photo storage for simple deployments.',
|
||||||
createdAt: '2025-11-14T22:10:00+08:00',
|
createdAt: '2025-11-14T22:10:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '34',
|
order: '34',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -214,7 +190,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'Local Storage',
|
title: 'Local Storage',
|
||||||
description: 'Use local file system paths for development and self-hosting.',
|
description: 'Use local file system paths for development and self-hosting.',
|
||||||
createdAt: '2025-11-14T22:10:00+08:00',
|
createdAt: '2025-11-14T22:10:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '35',
|
order: '35',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -226,7 +202,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'SaaS Architecture',
|
title: 'SaaS Architecture',
|
||||||
description: 'Tenant model, domain routing, OAuth flow, and data injection paths.',
|
description: 'Tenant model, domain routing, OAuth flow, and data injection paths.',
|
||||||
createdAt: '2025-11-23T20:20:00+08:00',
|
createdAt: '2025-11-23T20:20:00+08:00',
|
||||||
lastModified: '2025-11-23T20:44:02+08:00',
|
lastModified: '2025-11-30T14:03:05+08:00',
|
||||||
order: '36',
|
order: '36',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -238,7 +214,7 @@ export const routes: RouteConfig[] = [
|
|||||||
title: 'Eagle Storage',
|
title: 'Eagle Storage',
|
||||||
description: 'Publish directly from an Eagle 4 library with filtering support.',
|
description: 'Publish directly from an Eagle 4 library with filtering support.',
|
||||||
createdAt: '2025-11-14T22:10:00+08:00',
|
createdAt: '2025-11-14T22:10:00+08:00',
|
||||||
lastModified: '2025-11-23T19:40:52+08:00',
|
lastModified: '2025-12-05T15:28:22+08:00',
|
||||||
order: '36',
|
order: '36',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -255,8 +231,32 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/builder',
|
path: '/storage/providers/oss',
|
||||||
component: Route16,
|
component: Route16,
|
||||||
|
title: 'Aliyun OSS',
|
||||||
|
meta: {
|
||||||
|
title: 'Aliyun OSS',
|
||||||
|
description: 'Configure Aliyun Object Storage Service (OSS) for China-mainland friendly deployments.',
|
||||||
|
createdAt: '2025-11-24T10:05:00+08:00',
|
||||||
|
lastModified: '2025-11-24T22:26:48+08:00',
|
||||||
|
order: '37',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/storage/providers/cos',
|
||||||
|
component: Route17,
|
||||||
|
title: 'Tencent COS',
|
||||||
|
meta: {
|
||||||
|
title: 'Tencent COS',
|
||||||
|
description: 'Configure Tencent Cloud Object Storage (COS) for deployments within the Tencent ecosystem.',
|
||||||
|
createdAt: '2025-11-24T10:06:00+08:00',
|
||||||
|
lastModified: '2025-11-24T22:26:48+08:00',
|
||||||
|
order: '38',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/builder',
|
||||||
|
component: Route18,
|
||||||
title: 'Builder',
|
title: 'Builder',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Builder',
|
title: 'Builder',
|
||||||
@@ -268,7 +268,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/deployment',
|
path: '/deployment',
|
||||||
component: Route17,
|
component: Route19,
|
||||||
title: 'Deployment',
|
title: 'Deployment',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Deployment',
|
title: 'Deployment',
|
||||||
@@ -280,7 +280,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/deployment/docker',
|
path: '/deployment/docker',
|
||||||
component: Route18,
|
component: Route20,
|
||||||
title: 'Docker',
|
title: 'Docker',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Docker',
|
title: 'Docker',
|
||||||
@@ -292,7 +292,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/deployment/github-pages',
|
path: '/deployment/github-pages',
|
||||||
component: Route19,
|
component: Route21,
|
||||||
title: 'GitHub Pages',
|
title: 'GitHub Pages',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'GitHub Pages',
|
title: 'GitHub Pages',
|
||||||
@@ -304,7 +304,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/deployment/cloudflare-pages',
|
path: '/deployment/cloudflare-pages',
|
||||||
component: Route20,
|
component: Route22,
|
||||||
title: 'Cloudflare Pages',
|
title: 'Cloudflare Pages',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Cloudflare Pages',
|
title: 'Cloudflare Pages',
|
||||||
@@ -316,7 +316,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/deployment/vercel',
|
path: '/deployment/vercel',
|
||||||
component: Route21,
|
component: Route23,
|
||||||
title: 'Vercel',
|
title: 'Vercel',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Vercel',
|
title: 'Vercel',
|
||||||
@@ -328,7 +328,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/saas',
|
path: '/saas',
|
||||||
component: Route22,
|
component: Route24,
|
||||||
title: 'SaaS Mode',
|
title: 'SaaS Mode',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'SaaS Mode',
|
title: 'SaaS Mode',
|
||||||
@@ -340,7 +340,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/saas/cms',
|
path: '/saas/cms',
|
||||||
component: Route23,
|
component: Route25,
|
||||||
title: 'CMS & Live Updates',
|
title: 'CMS & Live Updates',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'CMS & Live Updates',
|
title: 'CMS & Live Updates',
|
||||||
@@ -352,7 +352,7 @@ export const routes: RouteConfig[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/docs-site',
|
path: '/docs-site',
|
||||||
component: Route24,
|
component: Route26,
|
||||||
title: 'Docs Site',
|
title: 'Docs Site',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'Docs Site',
|
title: 'Docs Site',
|
||||||
|
|||||||
@@ -1437,6 +1437,18 @@ export const tocData: FileToc[] = [
|
|||||||
text: '[S3 / S3-Compatible](/storage/providers/s3)',
|
text: '[S3 / S3-Compatible](/storage/providers/s3)',
|
||||||
children: [],
|
children: [],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-aliyun-ossstorageprovidersoss',
|
||||||
|
level: 3,
|
||||||
|
text: '[Aliyun OSS](/storage/providers/oss)',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-tencent-cosstorageproviderscos',
|
||||||
|
level: 3,
|
||||||
|
text: '[Tencent COS](/storage/providers/cos)',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'heading-b2-backblaze-b2storageprovidersb2',
|
id: 'heading-b2-backblaze-b2storageprovidersb2',
|
||||||
level: 3,
|
level: 3,
|
||||||
@@ -1535,6 +1547,50 @@ export const tocData: FileToc[] = [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
file: 'storage/providers/cos.mdx',
|
||||||
|
path: '/storage/providers/cos',
|
||||||
|
title: 'Tencent COS',
|
||||||
|
toc: [
|
||||||
|
{
|
||||||
|
id: 'heading-tencent-cos-storage',
|
||||||
|
level: 1,
|
||||||
|
text: 'Tencent COS Storage',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
id: 'heading-configuration',
|
||||||
|
level: 2,
|
||||||
|
text: 'Configuration',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-environment-variables',
|
||||||
|
level: 2,
|
||||||
|
text: 'Environment Variables',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-cos-specific-considerations',
|
||||||
|
level: 2,
|
||||||
|
text: 'COS-specific Considerations',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-best-practices',
|
||||||
|
level: 2,
|
||||||
|
text: 'Best Practices',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-troubleshooting',
|
||||||
|
level: 2,
|
||||||
|
text: 'Troubleshooting',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
file: 'storage/providers/eagle.mdx',
|
file: 'storage/providers/eagle.mdx',
|
||||||
path: '/storage/providers/eagle',
|
path: '/storage/providers/eagle',
|
||||||
@@ -1675,6 +1731,12 @@ export const tocData: FileToc[] = [
|
|||||||
text: 'Raw URL CDN',
|
text: 'Raw URL CDN',
|
||||||
children: [],
|
children: [],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-custom-cdn-domain',
|
||||||
|
level: 2,
|
||||||
|
text: 'Custom CDN Domain',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'heading-private-repositories',
|
id: 'heading-private-repositories',
|
||||||
level: 2,
|
level: 2,
|
||||||
@@ -1772,6 +1834,50 @@ export const tocData: FileToc[] = [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
file: 'storage/providers/oss.mdx',
|
||||||
|
path: '/storage/providers/oss',
|
||||||
|
title: 'Aliyun OSS',
|
||||||
|
toc: [
|
||||||
|
{
|
||||||
|
id: 'heading-aliyun-oss-storage',
|
||||||
|
level: 1,
|
||||||
|
text: 'Aliyun OSS Storage',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
id: 'heading-configuration',
|
||||||
|
level: 2,
|
||||||
|
text: 'Configuration',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-environment-variables',
|
||||||
|
level: 2,
|
||||||
|
text: 'Environment Variables',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-notes-on-endpoints',
|
||||||
|
level: 2,
|
||||||
|
text: 'Notes on Endpoints',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-best-practices',
|
||||||
|
level: 2,
|
||||||
|
text: 'Best Practices',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'heading-troubleshooting',
|
||||||
|
level: 2,
|
||||||
|
text: 'Troubleshooting',
|
||||||
|
children: [],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
file: 'storage/providers/s3.mdx',
|
file: 'storage/providers/s3.mdx',
|
||||||
path: '/storage/providers/s3',
|
path: '/storage/providers/s3',
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
"@types/busboy": "1.5.4",
|
"@types/busboy": "1.5.4",
|
||||||
"better-auth": "1.4.5",
|
"better-auth": "1.4.5",
|
||||||
"busboy": "1.6.0",
|
"busboy": "1.6.0",
|
||||||
|
"consola": "3.4.2",
|
||||||
"drizzle-orm": "^0.45.0",
|
"drizzle-orm": "^0.45.0",
|
||||||
"ejs": "3.1.10",
|
"ejs": "3.1.10",
|
||||||
"hono": "4.10.7",
|
"hono": "4.10.7",
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
"@types/pg": "8.15.6",
|
"@types/pg": "8.15.6",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"unplugin-swc": "1.5.9",
|
"unplugin-swc": "1.5.9",
|
||||||
"vite": "7.2.6",
|
"vite": "8.0.0-beta.0",
|
||||||
"vite-bundle-analyzer": "1.2.3",
|
"vite-bundle-analyzer": "1.2.3",
|
||||||
"vite-node": "5.2.0",
|
"vite-node": "5.2.0",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
"tailwindcss-safe-area": "catalog:",
|
"tailwindcss-safe-area": "catalog:",
|
||||||
"tw-animate-css": "1.4.0",
|
"tw-animate-css": "1.4.0",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"vite": "7.2.6",
|
"vite": "8.0.0-beta.0",
|
||||||
"vite-plugin-checker": "0.11.0",
|
"vite-plugin-checker": "0.11.0",
|
||||||
"vite-plugin-route-builder": "0.4.1",
|
"vite-plugin-route-builder": "0.4.1",
|
||||||
"vite-tsconfig-paths": "5.1.4"
|
"vite-tsconfig-paths": "5.1.4"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Button, Prompt } from '@afilmory/ui'
|
import { Button, Prompt } from '@afilmory/ui'
|
||||||
import { clsxm } from '@afilmory/utils'
|
import { clsxm } from '@afilmory/utils'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import { DatabaseIcon, RadiationIcon, TriangleAlertIcon } from 'lucide-react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { toast } from 'sonner'
|
import { toast } from 'sonner'
|
||||||
|
|
||||||
@@ -220,8 +220,8 @@ export function DataManagementPanel() {
|
|||||||
<LinearBorderPanel className="bg-background-secondary/40 p-4 sm:p-6">
|
<LinearBorderPanel className="bg-background-secondary/40 p-4 sm:p-6">
|
||||||
<div className="flex flex-col gap-4 sm:gap-6 lg:flex-row lg:items-center lg:justify-between">
|
<div className="flex flex-col gap-4 sm:gap-6 lg:flex-row lg:items-center lg:justify-between">
|
||||||
<div className="space-y-3 sm:space-y-4">
|
<div className="space-y-3 sm:space-y-4">
|
||||||
<span className="shape-squircle inline-flex items-center gap-2 bg-accent/10 px-2.5 sm:px-3 py-1 text-[11px] sm:text-xs font-medium text-accent">
|
<span className="inline-flex items-center gap-2 text-sm sm:text-xs font-semibold text-accent">
|
||||||
<DynamicIcon name="database" className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
<DatabaseIcon className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
||||||
{t(dataManagementKeys.summary.badge)}
|
{t(dataManagementKeys.summary.badge)}
|
||||||
</span>
|
</span>
|
||||||
<div className="space-y-1.5 sm:space-y-2">
|
<div className="space-y-1.5 sm:space-y-2">
|
||||||
@@ -260,7 +260,7 @@ export function DataManagementPanel() {
|
|||||||
<div className="flex flex-col gap-3 sm:gap-4 md:flex-row md:items-center md:justify-between">
|
<div className="flex flex-col gap-3 sm:gap-4 md:flex-row md:items-center md:justify-between">
|
||||||
<div className="space-y-1.5 sm:space-y-2">
|
<div className="space-y-1.5 sm:space-y-2">
|
||||||
<div className="flex items-center gap-1.5 sm:gap-2 text-red">
|
<div className="flex items-center gap-1.5 sm:gap-2 text-red">
|
||||||
<DynamicIcon name="triangle-alert" className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
<TriangleAlertIcon className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
||||||
<span className="text-xs sm:text-sm font-semibold">{t(dataManagementKeys.truncate.badge)}</span>
|
<span className="text-xs sm:text-sm font-semibold">{t(dataManagementKeys.truncate.badge)}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@@ -287,7 +287,7 @@ export function DataManagementPanel() {
|
|||||||
<div className="flex flex-col gap-3 sm:gap-4 md:flex-row md:items-center md:justify-between">
|
<div className="flex flex-col gap-3 sm:gap-4 md:flex-row md:items-center md:justify-between">
|
||||||
<div className="space-y-1.5 sm:space-y-2">
|
<div className="space-y-1.5 sm:space-y-2">
|
||||||
<div className="flex items-center gap-1.5 sm:gap-2 text-red">
|
<div className="flex items-center gap-1.5 sm:gap-2 text-red">
|
||||||
<DynamicIcon name="radiation" className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
<RadiationIcon className="h-3.5 sm:h-4 w-3.5 sm:w-4" />
|
||||||
<span className="text-xs sm:text-sm font-semibold">{t(dataManagementKeys.delete.badge)}</span>
|
<span className="text-xs sm:text-sm font-semibold">{t(dataManagementKeys.delete.badge)}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-1">
|
<div className="space-y-1">
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Button, Modal } from '@afilmory/ui'
|
import { Button, Modal } from '@afilmory/ui'
|
||||||
import { clsxm } from '@afilmory/utils'
|
import { clsxm } from '@afilmory/utils'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import { CheckSquare, Square, Tags, Trash2, X } from 'lucide-react'
|
||||||
import type { ChangeEventHandler } from 'react'
|
import type { ChangeEventHandler } from 'react'
|
||||||
import { useMemo, useRef } from 'react'
|
import { useMemo, useRef } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
@@ -152,7 +152,7 @@ export function PhotoLibraryActionBar() {
|
|||||||
onClick={handleEditSelectedTags}
|
onClick={handleEditSelectedTags}
|
||||||
className="flex items-center gap-1 text-text-secondary hover:text-text"
|
className="flex items-center gap-1 text-text-secondary hover:text-text"
|
||||||
>
|
>
|
||||||
<DynamicIcon name="tags" className="h-3.5 w-3.5" />
|
<Tags className="h-3.5 w-3.5" />
|
||||||
{t(photoLibraryActionKeys.editTags)}
|
{t(photoLibraryActionKeys.editTags)}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
@@ -163,11 +163,11 @@ export function PhotoLibraryActionBar() {
|
|||||||
onClick={deleteSelected}
|
onClick={deleteSelected}
|
||||||
className="flex items-center gap-1 text-rose-400 hover:text-rose-300"
|
className="flex items-center gap-1 text-rose-400 hover:text-rose-300"
|
||||||
>
|
>
|
||||||
<DynamicIcon name="trash-2" className="h-3.5 w-3.5" />
|
<Trash2 className="h-3.5 w-3.5" />
|
||||||
{t(photoLibraryActionKeys.delete)}
|
{t(photoLibraryActionKeys.delete)}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" className="gap-1" variant="ghost" size="sm" onClick={clearSelection}>
|
<Button type="button" className="gap-1" variant="ghost" size="sm" onClick={clearSelection}>
|
||||||
<DynamicIcon name="x" className="h-3.5 w-3.5" />
|
<X className="h-3.5 w-3.5" />
|
||||||
{t(photoLibraryActionKeys.clear)}
|
{t(photoLibraryActionKeys.clear)}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
@@ -179,7 +179,7 @@ export function PhotoLibraryActionBar() {
|
|||||||
onClick={selectAll}
|
onClick={selectAll}
|
||||||
className="flex items-center gap-1 text-text-secondary hover:text-text"
|
className="flex items-center gap-1 text-text-secondary hover:text-text"
|
||||||
>
|
>
|
||||||
<DynamicIcon name={canSelectAll ? 'square' : 'check-square'} className="size-4" />
|
{canSelectAll ? <Square className="size-4" /> : <CheckSquare className="size-4" />}
|
||||||
{selectAllLabel}
|
{selectAllLabel}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,7 +10,22 @@ import {
|
|||||||
} from '@afilmory/ui'
|
} from '@afilmory/ui'
|
||||||
import { clsxm } from '@afilmory/utils'
|
import { clsxm } from '@afilmory/utils'
|
||||||
import { useAtomValue } from 'jotai'
|
import { useAtomValue } from 'jotai'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import {
|
||||||
|
ArrowDown,
|
||||||
|
ArrowUp,
|
||||||
|
Camera,
|
||||||
|
Check,
|
||||||
|
ChevronDown,
|
||||||
|
Clock,
|
||||||
|
ExternalLink,
|
||||||
|
HardDrive,
|
||||||
|
Info,
|
||||||
|
MoreHorizontal,
|
||||||
|
Square,
|
||||||
|
Tags,
|
||||||
|
Trash2,
|
||||||
|
Upload,
|
||||||
|
} from 'lucide-react'
|
||||||
import type { ReactNode } from 'react'
|
import type { ReactNode } from 'react'
|
||||||
import { useCallback, useMemo, useState } from 'react'
|
import { useCallback, useMemo, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
@@ -31,15 +46,15 @@ import type { DeleteAssetOptions } from './types'
|
|||||||
type PhotoLibrarySortBy = 'uploadedAt' | 'capturedAt'
|
type PhotoLibrarySortBy = 'uploadedAt' | 'capturedAt'
|
||||||
type PhotoLibrarySortOrder = 'desc' | 'asc'
|
type PhotoLibrarySortOrder = 'desc' | 'asc'
|
||||||
|
|
||||||
const SORT_BY_OPTIONS: { value: PhotoLibrarySortBy; labelKey: I18nKeys; icon: string }[] = [
|
const SORT_BY_OPTIONS = [
|
||||||
{ value: 'uploadedAt', labelKey: 'photos.library.sort.by-uploaded', icon: 'upload' },
|
{ value: 'uploadedAt', labelKey: 'photos.library.sort.by-uploaded', Icon: Upload },
|
||||||
{ value: 'capturedAt', labelKey: 'photos.library.sort.by-captured', icon: 'camera' },
|
{ value: 'capturedAt', labelKey: 'photos.library.sort.by-captured', Icon: Camera },
|
||||||
]
|
] as const
|
||||||
|
|
||||||
const SORT_ORDER_OPTIONS: { value: PhotoLibrarySortOrder; labelKey: I18nKeys; icon: string }[] = [
|
const SORT_ORDER_OPTIONS = [
|
||||||
{ value: 'desc', labelKey: 'photos.library.sort.order-desc', icon: 'arrow-down' },
|
{ value: 'desc', labelKey: 'photos.library.sort.order-desc', Icon: ArrowDown },
|
||||||
{ value: 'asc', labelKey: 'photos.library.sort.order-asc', icon: 'arrow-up' },
|
{ value: 'asc', labelKey: 'photos.library.sort.order-asc', Icon: ArrowUp },
|
||||||
]
|
] as const
|
||||||
|
|
||||||
const photoLibraryGridKeys = {
|
const photoLibraryGridKeys = {
|
||||||
card: {
|
card: {
|
||||||
@@ -185,7 +200,7 @@ function PhotoGridItem({
|
|||||||
isSelected ? 'bg-accent text-white' : 'hover:bg-white/10',
|
isSelected ? 'bg-accent text-white' : 'hover:bg-white/10',
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<DynamicIcon name={isSelected ? 'check' : 'square'} className="mr-1 h-3 w-3" />
|
{isSelected ? <Check className="mr-1 h-3 w-3" /> : <Square className="mr-1 h-3 w-3" />}
|
||||||
<span>{isSelected ? t(photoLibraryGridKeys.card.selected) : t(photoLibraryGridKeys.card.select)}</span>
|
<span>{isSelected ? t(photoLibraryGridKeys.card.selected) : t(photoLibraryGridKeys.card.select)}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -193,15 +208,15 @@ function PhotoGridItem({
|
|||||||
<div className="flex items-end justify-between gap-3 p-3">
|
<div className="flex items-end justify-between gap-3 p-3">
|
||||||
<div className="flex flex-col gap-1.5 min-w-0 flex-1">
|
<div className="flex flex-col gap-1.5 min-w-0 flex-1">
|
||||||
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
||||||
<DynamicIcon name="camera" className="h-3 w-3 shrink-0 text-white/60" />
|
<Camera className="h-3 w-3 shrink-0 text-white/60" />
|
||||||
<span className="truncate">{deviceLabel}</span>
|
<span className="truncate">{deviceLabel}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
||||||
<DynamicIcon name="clock" className="h-3 w-3 shrink-0 text-white/60" />
|
<Clock className="h-3 w-3 shrink-0 text-white/60" />
|
||||||
<span className="truncate">{updatedAtLabel}</span>
|
<span className="truncate">{updatedAtLabel}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
<div className="flex items-center gap-1.5 text-[10px] text-white/80">
|
||||||
<DynamicIcon name="hard-drive" className="h-3 w-3 shrink-0 text-white/60" />
|
<HardDrive className="h-3 w-3 shrink-0 text-white/60" />
|
||||||
<span className="truncate">{fileSizeLabel}</span>
|
<span className="truncate">{fileSizeLabel}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -213,7 +228,7 @@ function PhotoGridItem({
|
|||||||
className="bg-black/40 text-white hover:bg-black/60 h-7 px-2.5"
|
className="bg-black/40 text-white hover:bg-black/60 h-7 px-2.5"
|
||||||
onClick={() => onOpenAsset(asset)}
|
onClick={() => onOpenAsset(asset)}
|
||||||
>
|
>
|
||||||
<DynamicIcon name="external-link" className="h-3.5 w-3.5" />
|
<ExternalLink className="h-3.5 w-3.5" />
|
||||||
</Button>
|
</Button>
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger asChild>
|
<DropdownMenuTrigger asChild>
|
||||||
@@ -223,26 +238,19 @@ function PhotoGridItem({
|
|||||||
size="xs"
|
size="xs"
|
||||||
className="bg-black/40 text-white hover:bg-black/60 h-7 px-2.5"
|
className="bg-black/40 text-white hover:bg-black/60 h-7 px-2.5"
|
||||||
>
|
>
|
||||||
<DynamicIcon name="more-horizontal" className="h-3.5 w-3.5" />
|
<MoreHorizontal className="h-3.5 w-3.5" />
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent align="end" className="min-w-[140px]">
|
<DropdownMenuContent align="end" className="min-w-[140px]">
|
||||||
<DropdownMenuItem
|
<DropdownMenuItem icon={<Tags className="size-4" />} onSelect={() => onEditTags(asset)}>
|
||||||
icon={<DynamicIcon name="tags" className="size-4" />}
|
|
||||||
onSelect={() => onEditTags(asset)}
|
|
||||||
>
|
|
||||||
{t('photos.library.card.edit-tags')}
|
{t('photos.library.card.edit-tags')}
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem
|
<DropdownMenuItem icon={<Info className="size-4" />} disabled={!manifest} onSelect={handleViewExif}>
|
||||||
icon={<DynamicIcon name="info" className="size-4" />}
|
|
||||||
disabled={!manifest}
|
|
||||||
onSelect={handleViewExif}
|
|
||||||
>
|
|
||||||
{t('photos.library.card.view-exif')}
|
{t('photos.library.card.view-exif')}
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<div className="h-[0.5px] bg-border my-1" />
|
<div className="h-[0.5px] bg-border my-1" />
|
||||||
<DropdownMenuItem
|
<DropdownMenuItem
|
||||||
icon={<DynamicIcon name="trash-2" className="size-4" />}
|
icon={<Trash2 className="size-4" />}
|
||||||
disabled={isDeleting}
|
disabled={isDeleting}
|
||||||
onSelect={handleDelete}
|
onSelect={handleDelete}
|
||||||
className="text-red focus:text-red focus:bg-red/10"
|
className="text-red focus:text-red focus:bg-red/10"
|
||||||
@@ -354,9 +362,9 @@ export function PhotoLibraryGrid() {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="hover:bg-background-secondary/70 flex items-center gap-1.5 rounded-full border px-3 h-8 text-text"
|
className="hover:bg-background-secondary/70 flex items-center gap-1.5 rounded-full border px-3 h-8 text-text"
|
||||||
>
|
>
|
||||||
<DynamicIcon name={currentSortBy.icon as any} className="size-4" />
|
<currentSortBy.Icon className="size-4" />
|
||||||
<span className="font-medium">{t(currentSortBy.labelKey)}</span>
|
<span className="font-medium">{t(currentSortBy.labelKey)}</span>
|
||||||
<DynamicIcon name="chevron-down" className="h-3 w-3 text-text-tertiary" />
|
<ChevronDown className="h-3 w-3 text-text-tertiary" />
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent align="end" className="min-w-[180px]">
|
<DropdownMenuContent align="end" className="min-w-[180px]">
|
||||||
@@ -364,7 +372,7 @@ export function PhotoLibraryGrid() {
|
|||||||
<DropdownMenuItem
|
<DropdownMenuItem
|
||||||
key={option.value}
|
key={option.value}
|
||||||
active={option.value === sortBy}
|
active={option.value === sortBy}
|
||||||
icon={<DynamicIcon name={option.icon as any} className="size-4" />}
|
icon={<option.Icon className="size-4" />}
|
||||||
onSelect={() => setSortBy(option.value)}
|
onSelect={() => setSortBy(option.value)}
|
||||||
>
|
>
|
||||||
{t(option.labelKey)}
|
{t(option.labelKey)}
|
||||||
@@ -381,9 +389,9 @@ export function PhotoLibraryGrid() {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="hover:bg-background-secondary/70 flex items-center gap-1.5 rounded-full border px-3 h-8 text-text"
|
className="hover:bg-background-secondary/70 flex items-center gap-1.5 rounded-full border px-3 h-8 text-text"
|
||||||
>
|
>
|
||||||
<DynamicIcon name={currentSortOrder.icon as any} className="size-4" />
|
<currentSortOrder.Icon className="size-4" />
|
||||||
<span className="font-medium">{t(currentSortOrder.labelKey)}</span>
|
<span className="font-medium">{t(currentSortOrder.labelKey)}</span>
|
||||||
<DynamicIcon name="chevron-down" className="h-3 w-3 text-text-tertiary" />
|
<ChevronDown className="h-3 w-3 text-text-tertiary" />
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent align="end" className="min-w-[180px]">
|
<DropdownMenuContent align="end" className="min-w-[180px]">
|
||||||
@@ -391,7 +399,7 @@ export function PhotoLibraryGrid() {
|
|||||||
<DropdownMenuItem
|
<DropdownMenuItem
|
||||||
key={option.value}
|
key={option.value}
|
||||||
active={option.value === sortOrder}
|
active={option.value === sortOrder}
|
||||||
icon={<DynamicIcon name={option.icon as any} className="size-4" />}
|
icon={<option.Icon className="size-4" />}
|
||||||
onSelect={() => setSortOrder(option.value)}
|
onSelect={() => setSortOrder(option.value)}
|
||||||
>
|
>
|
||||||
{t(option.labelKey)}
|
{t(option.labelKey)}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Button, Modal } from '@afilmory/ui'
|
import { Button, Modal } from '@afilmory/ui'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import { HardDrive } from 'lucide-react'
|
||||||
import { m } from 'motion/react'
|
import { m } from 'motion/react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ export function ManagedStorageEntryCard({
|
|||||||
|
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<div className="bg-accent/15 inline-flex h-12 w-12 items-center justify-center rounded-lg">
|
<div className="bg-accent/15 inline-flex h-12 w-12 items-center justify-center rounded-lg">
|
||||||
<DynamicIcon name="hard-drive" className="h-6 w-6 text-accent" />
|
<HardDrive className="h-6 w-6 text-accent" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,20 @@
|
|||||||
import { Button } from '@afilmory/ui'
|
import { Button } from '@afilmory/ui'
|
||||||
import { clsxm } from '@afilmory/utils'
|
import { clsxm } from '@afilmory/utils'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import type {LucideIcon} from 'lucide-react';
|
||||||
|
import {
|
||||||
|
Check,
|
||||||
|
CheckCircle,
|
||||||
|
Cloud,
|
||||||
|
CloudDrizzle,
|
||||||
|
CloudSnow,
|
||||||
|
Database,
|
||||||
|
Folder,
|
||||||
|
Github,
|
||||||
|
Image,
|
||||||
|
Pencil,
|
||||||
|
Server,
|
||||||
|
XCircle
|
||||||
|
} from 'lucide-react'
|
||||||
import type { FC } from 'react'
|
import type { FC } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
@@ -10,48 +24,48 @@ import type { StorageProvider } from '../types'
|
|||||||
const providerTypeConfig: Record<
|
const providerTypeConfig: Record<
|
||||||
string,
|
string,
|
||||||
{
|
{
|
||||||
icon: string
|
Icon: LucideIcon
|
||||||
color: string
|
color: string
|
||||||
bgColor: string
|
bgColor: string
|
||||||
}
|
}
|
||||||
> = {
|
> = {
|
||||||
s3: {
|
s3: {
|
||||||
icon: 'database',
|
Icon: Database,
|
||||||
color: 'text-orange-500',
|
color: 'text-orange-500',
|
||||||
bgColor: 'bg-orange-500/10',
|
bgColor: 'bg-orange-500/10',
|
||||||
},
|
},
|
||||||
oss: {
|
oss: {
|
||||||
icon: 'cloud-drizzle',
|
Icon: CloudDrizzle,
|
||||||
color: 'text-emerald-500',
|
color: 'text-emerald-500',
|
||||||
bgColor: 'bg-emerald-500/10',
|
bgColor: 'bg-emerald-500/10',
|
||||||
},
|
},
|
||||||
cos: {
|
cos: {
|
||||||
icon: 'cloud-snow',
|
Icon: CloudSnow,
|
||||||
color: 'text-cyan-500',
|
color: 'text-cyan-500',
|
||||||
bgColor: 'bg-cyan-500/10',
|
bgColor: 'bg-cyan-500/10',
|
||||||
},
|
},
|
||||||
b2: {
|
b2: {
|
||||||
icon: 'cloud',
|
Icon: Cloud,
|
||||||
color: 'text-sky-500',
|
color: 'text-sky-500',
|
||||||
bgColor: 'bg-sky-500/10',
|
bgColor: 'bg-sky-500/10',
|
||||||
},
|
},
|
||||||
github: {
|
github: {
|
||||||
icon: 'github',
|
Icon: Github,
|
||||||
color: 'text-purple-500',
|
color: 'text-purple-500',
|
||||||
bgColor: 'bg-purple-500/10',
|
bgColor: 'bg-purple-500/10',
|
||||||
},
|
},
|
||||||
local: {
|
local: {
|
||||||
icon: 'folder',
|
Icon: Folder,
|
||||||
color: 'text-blue-500',
|
color: 'text-blue-500',
|
||||||
bgColor: 'bg-blue-500/10',
|
bgColor: 'bg-blue-500/10',
|
||||||
},
|
},
|
||||||
minio: {
|
minio: {
|
||||||
icon: 'server',
|
Icon: Server,
|
||||||
color: 'text-red-500',
|
color: 'text-red-500',
|
||||||
bgColor: 'bg-red-500/10',
|
bgColor: 'bg-red-500/10',
|
||||||
},
|
},
|
||||||
eagle: {
|
eagle: {
|
||||||
icon: 'image',
|
Icon: Image,
|
||||||
color: 'text-amber-500',
|
color: 'text-amber-500',
|
||||||
bgColor: 'bg-amber-500/10',
|
bgColor: 'bg-amber-500/10',
|
||||||
},
|
},
|
||||||
@@ -110,7 +124,7 @@ export const ProviderCard: FC<ProviderCardProps> = ({ provider, isActive, onEdit
|
|||||||
{isActive && (
|
{isActive && (
|
||||||
<div className="absolute top-3 right-3">
|
<div className="absolute top-3 right-3">
|
||||||
<span className="bg-accent inline-flex items-center gap-1 rounded px-2 py-0.5 text-[10px] font-semibold tracking-wide text-white uppercase">
|
<span className="bg-accent inline-flex items-center gap-1 rounded px-2 py-0.5 text-[10px] font-semibold tracking-wide text-white uppercase">
|
||||||
<DynamicIcon name="check-circle" className="h-3 w-3" />
|
<CheckCircle className="h-3 w-3" />
|
||||||
{t(storageProvidersI18nKeys.card.active)}
|
{t(storageProvidersI18nKeys.card.active)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,7 +133,7 @@ export const ProviderCard: FC<ProviderCardProps> = ({ provider, isActive, onEdit
|
|||||||
{/* Provider Icon */}
|
{/* Provider Icon */}
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<div className={clsxm('inline-flex h-12 w-12 items-center justify-center rounded-lg', config.bgColor)}>
|
<div className={clsxm('inline-flex h-12 w-12 items-center justify-center rounded-lg', config.bgColor)}>
|
||||||
<DynamicIcon name={config.icon as any} className={clsxm('h-6 w-6', config.color)} />
|
<config.Icon className={clsxm('h-6 w-6', config.color)} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -142,17 +156,17 @@ export const ProviderCard: FC<ProviderCardProps> = ({ provider, isActive, onEdit
|
|||||||
className="text-text-secondary hover:text-text"
|
className="text-text-secondary hover:text-text"
|
||||||
onClick={onToggleActive}
|
onClick={onToggleActive}
|
||||||
>
|
>
|
||||||
<DynamicIcon name="x-circle" className="mr-1 h-3.5 w-3.5" />
|
<XCircle className="mr-1 h-3.5 w-3.5" />
|
||||||
<span>{t(storageProvidersI18nKeys.card.makeInactive)}</span>
|
<span>{t(storageProvidersI18nKeys.card.makeInactive)}</span>
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
<Button type="button" variant="ghost" size="sm" onClick={onToggleActive}>
|
<Button type="button" variant="ghost" size="sm" onClick={onToggleActive}>
|
||||||
<DynamicIcon name="check" className="h-3.5 w-3.5 mr-1" />
|
<Check className="h-3.5 w-3.5 mr-1" />
|
||||||
<span>{t(storageProvidersI18nKeys.card.makeActive)}</span>
|
<span>{t(storageProvidersI18nKeys.card.makeActive)}</span>
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
<Button type="button" variant="ghost" size="sm" onClick={onEdit}>
|
<Button type="button" variant="ghost" size="sm" onClick={onEdit}>
|
||||||
<DynamicIcon name="pencil" className="mr-1 h-3.5 w-3.5" />
|
<Pencil className="mr-1 h-3.5 w-3.5" />
|
||||||
<span>{t(storageProvidersI18nKeys.card.edit)}</span>
|
<span>{t(storageProvidersI18nKeys.card.edit)}</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
Textarea,
|
Textarea,
|
||||||
} from '@afilmory/ui'
|
} from '@afilmory/ui'
|
||||||
import { clsxm, Spring } from '@afilmory/utils'
|
import { clsxm, Spring } from '@afilmory/utils'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import { Edit, Plus, PlusCircle, Save } from 'lucide-react'
|
||||||
import { m } from 'motion/react'
|
import { m } from 'motion/react'
|
||||||
import { nanoid } from 'nanoid'
|
import { nanoid } from 'nanoid'
|
||||||
import { useEffect, useMemo, useState } from 'react'
|
import { useEffect, useMemo, useState } from 'react'
|
||||||
@@ -106,7 +106,7 @@ export function ProviderEditModal({
|
|||||||
isNewProvider ? 'bg-accent/10 text-accent' : 'bg-fill text-text',
|
isNewProvider ? 'bg-accent/10 text-accent' : 'bg-fill text-text',
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<DynamicIcon name={isNewProvider ? 'plus-circle' : 'edit'} className="size-5" />
|
{isNewProvider ? <PlusCircle className="size-5" /> : <Edit className="size-5" />}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-1 space-y-1">
|
<div className="flex-1 space-y-1">
|
||||||
<h2 className="text-text text-xl font-semibold">
|
<h2 className="text-text text-xl font-semibold">
|
||||||
@@ -248,7 +248,7 @@ export function ProviderEditModal({
|
|||||||
{t(storageProvidersI18nKeys.actions.cancel)}
|
{t(storageProvidersI18nKeys.actions.cancel)}
|
||||||
</Button>
|
</Button>
|
||||||
<Button type="button" onClick={handleSave} variant="primary" size="sm">
|
<Button type="button" onClick={handleSave} variant="primary" size="sm">
|
||||||
<DynamicIcon name="plus" className="mr-2 h-3.5 w-3.5" />
|
<Plus className="mr-2 h-3.5 w-3.5" />
|
||||||
<span>{t(storageProvidersI18nKeys.actions.create)}</span>
|
<span>{t(storageProvidersI18nKeys.actions.create)}</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
@@ -256,7 +256,7 @@ export function ProviderEditModal({
|
|||||||
// Edit mode: Delete + cancel + set active + save
|
// Edit mode: Delete + cancel + set active + save
|
||||||
<div className="flex items-center justify-end gap-3">
|
<div className="flex items-center justify-end gap-3">
|
||||||
<Button type="button" onClick={handleSave} disabled={!isDirty} variant="primary" size="sm">
|
<Button type="button" onClick={handleSave} disabled={!isDirty} variant="primary" size="sm">
|
||||||
<DynamicIcon name="save" className="mr-2 h-3.5 w-3.5" />
|
<Save className="mr-2 h-3.5 w-3.5" />
|
||||||
<span>{t(storageProvidersI18nKeys.actions.save)}</span>
|
<span>{t(storageProvidersI18nKeys.actions.save)}</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
@@ -273,3 +273,11 @@ ProviderEditModal.contentProps = {
|
|||||||
maxHeight: '90vh',
|
maxHeight: '90vh',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Configure modal content
|
||||||
|
ProviderEditModal.contentClassName = 'max-w-2xl w-[95vw] max-h-[90vh] p-0'
|
||||||
|
ProviderEditModal.contentProps = {
|
||||||
|
style: {
|
||||||
|
maxHeight: '90vh',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Button, Modal, Prompt, Switch } from '@afilmory/ui'
|
import { Button, Modal, Prompt, Switch } from '@afilmory/ui'
|
||||||
import { Spring } from '@afilmory/utils'
|
import { Spring } from '@afilmory/utils'
|
||||||
import { DynamicIcon } from 'lucide-react/dynamic'
|
import { ShieldCheck } from 'lucide-react'
|
||||||
import { m } from 'motion/react'
|
import { m } from 'motion/react'
|
||||||
import { startTransition, useEffect, useMemo, useRef, useState } from 'react'
|
import { startTransition, useEffect, useMemo, useRef, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
@@ -356,7 +356,7 @@ export function StorageProvidersManager() {
|
|||||||
<div className="flex items-start gap-3 sm:gap-4">
|
<div className="flex items-start gap-3 sm:gap-4">
|
||||||
<div className="shrink-0">
|
<div className="shrink-0">
|
||||||
<div className="bg-accent/10 inline-flex h-8 w-8 items-center justify-center rounded-lg sm:h-10 sm:w-10">
|
<div className="bg-accent/10 inline-flex h-8 w-8 items-center justify-center rounded-lg sm:h-10 sm:w-10">
|
||||||
<DynamicIcon name="shield-check" className="h-4 w-4 text-accent sm:h-5 sm:w-5" />
|
<ShieldCheck className="h-4 w-4 text-accent sm:h-5 sm:w-5" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-1 space-y-1.5 sm:space-y-2">
|
<div className="flex-1 space-y-1.5 sm:space-y-2">
|
||||||
|
|||||||
@@ -282,11 +282,7 @@ function PlanCard({
|
|||||||
disabled={!canCheckout || checkoutLoading}
|
disabled={!canCheckout || checkoutLoading}
|
||||||
onClick={handleCheckout}
|
onClick={handleCheckout}
|
||||||
>
|
>
|
||||||
{checkoutLoading
|
{checkoutLoading ? t(planI18nKeys.checkoutLoading) : t(planI18nKeys.checkoutUpgrade)}
|
||||||
? t(planI18nKeys.checkoutLoading)
|
|
||||||
: canCheckout
|
|
||||||
? t(planI18nKeys.checkoutUpgrade)
|
|
||||||
: t(planI18nKeys.checkoutComingSoon)}
|
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"@types/node": "^24.10.1",
|
"@types/node": "^24.10.1",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"vite": "7.2.6",
|
"vite": "8.0.0-beta.0",
|
||||||
"vite-node": "5.2.0"
|
"vite-node": "5.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,18 +40,15 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@afilmory/builder": "workspace:*",
|
"@afilmory/builder": "workspace:*",
|
||||||
"@clack/prompts": "^0.11.0",
|
|
||||||
"@innei/prettier": "1.0.0",
|
"@innei/prettier": "1.0.0",
|
||||||
"@types/node": "24.10.1",
|
"@types/node": "24.10.1",
|
||||||
"ast-kit": "2.2.0",
|
"ast-kit": "2.2.0",
|
||||||
"consola": "3.4.2",
|
|
||||||
"dotenv-expand": "catalog:",
|
"dotenv-expand": "catalog:",
|
||||||
"eslint": "9.39.1",
|
"eslint": "9.39.1",
|
||||||
"eslint-config-hyoban": "4.0.10",
|
"eslint-config-hyoban": "4.0.10",
|
||||||
"fast-glob": "3.3.3",
|
"fast-glob": "3.3.3",
|
||||||
"lint-staged": "16.2.7",
|
"lint-staged": "16.2.7",
|
||||||
"nbump": "2.1.8",
|
"nbump": "2.1.8",
|
||||||
"opentype.js": "1.3.4",
|
|
||||||
"prettier": "3.7.4",
|
"prettier": "3.7.4",
|
||||||
"sharp": "0.34.5",
|
"sharp": "0.34.5",
|
||||||
"simple-git-hooks": "2.13.1",
|
"simple-git-hooks": "2.13.1",
|
||||||
@@ -59,7 +56,7 @@
|
|||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"unplugin-ast": "0.15.4",
|
"unplugin-ast": "0.15.4",
|
||||||
"vite": "7.2.6",
|
"vite": "8.0.0-beta.0",
|
||||||
"vite-bundle-analyzer": "1.2.3",
|
"vite-bundle-analyzer": "1.2.3",
|
||||||
"vite-plugin-babel": "1.3.2",
|
"vite-plugin-babel": "1.3.2",
|
||||||
"vite-plugin-checker": "0.11.0",
|
"vite-plugin-checker": "0.11.0",
|
||||||
@@ -79,4 +76,4 @@
|
|||||||
"pnpm update:lastmodified"
|
"pnpm update:lastmodified"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
"@vingle/bmp-js": "^0.2.5",
|
"@vingle/bmp-js": "^0.2.5",
|
||||||
"blurhash": "2.0.5",
|
"blurhash": "2.0.5",
|
||||||
"c12": "^3.3.2",
|
"c12": "^3.3.2",
|
||||||
|
"consola": "3.4.2",
|
||||||
"dotenv-expand": "catalog:",
|
"dotenv-expand": "catalog:",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"exiftool-vendored": "33.5.0",
|
"exiftool-vendored": "33.5.0",
|
||||||
@@ -42,4 +43,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"react": "19.2.1",
|
"react": "19.2.1",
|
||||||
"tsdown": "0.17.0",
|
"tsdown": "0.17.0",
|
||||||
"unplugin-dts": "1.0.0-beta.6",
|
"unplugin-dts": "1.0.0-beta.6",
|
||||||
"vite": "7.2.6"
|
"vite": "8.0.0-beta.0"
|
||||||
},
|
},
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public",
|
"access": "public",
|
||||||
@@ -35,4 +35,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
217
pnpm-lock.yaml
generated
217
pnpm-lock.yaml
generated
@@ -75,9 +75,6 @@ importers:
|
|||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 4.1.13
|
version: 4.1.13
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@clack/prompts':
|
|
||||||
specifier: ^0.11.0
|
|
||||||
version: 0.11.0
|
|
||||||
'@innei/prettier':
|
'@innei/prettier':
|
||||||
specifier: 1.0.0
|
specifier: 1.0.0
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
@@ -87,9 +84,6 @@ importers:
|
|||||||
ast-kit:
|
ast-kit:
|
||||||
specifier: 2.2.0
|
specifier: 2.2.0
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
consola:
|
|
||||||
specifier: 3.4.2
|
|
||||||
version: 3.4.2
|
|
||||||
dotenv-expand:
|
dotenv-expand:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 12.0.3
|
version: 12.0.3
|
||||||
@@ -108,9 +102,6 @@ importers:
|
|||||||
nbump:
|
nbump:
|
||||||
specifier: 2.1.8
|
specifier: 2.1.8
|
||||||
version: 2.1.8(conventional-commits-filter@5.0.0)(magicast@0.3.5)
|
version: 2.1.8(conventional-commits-filter@5.0.0)(magicast@0.3.5)
|
||||||
opentype.js:
|
|
||||||
specifier: 1.3.4
|
|
||||||
version: 1.3.4
|
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 3.7.4
|
specifier: 3.7.4
|
||||||
version: 3.7.4
|
version: 3.7.4
|
||||||
@@ -133,20 +124,20 @@ importers:
|
|||||||
specifier: 0.15.4
|
specifier: 0.15.4
|
||||||
version: 0.15.4
|
version: 0.15.4
|
||||||
vite:
|
vite:
|
||||||
specifier: 7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vite-bundle-analyzer:
|
vite-bundle-analyzer:
|
||||||
specifier: 1.2.3
|
specifier: 1.2.3
|
||||||
version: 1.2.3
|
version: 1.2.3
|
||||||
vite-plugin-babel:
|
vite-plugin-babel:
|
||||||
specifier: 1.3.2
|
specifier: 1.3.2
|
||||||
version: 1.3.2(@babel/core@7.28.5)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 1.3.2(@babel/core@7.28.5)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vite-plugin-checker:
|
vite-plugin-checker:
|
||||||
specifier: 0.11.0
|
specifier: 0.11.0
|
||||||
version: 0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vite-tsconfig-paths:
|
vite-tsconfig-paths:
|
||||||
specifier: 5.1.4
|
specifier: 5.1.4
|
||||||
version: 5.1.4(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.4(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
|
|
||||||
apps/docs:
|
apps/docs:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -173,7 +164,7 @@ importers:
|
|||||||
version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
|
version: 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
|
||||||
'@tailwindcss/vite':
|
'@tailwindcss/vite':
|
||||||
specifier: 4.1.17
|
specifier: 4.1.17
|
||||||
version: 4.1.17(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 4.1.17(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
'@types/mdast':
|
'@types/mdast':
|
||||||
specifier: ^4.0.4
|
specifier: ^4.0.4
|
||||||
version: 4.0.4
|
version: 4.0.4
|
||||||
@@ -252,7 +243,7 @@ importers:
|
|||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
'@vitejs/plugin-react':
|
'@vitejs/plugin-react':
|
||||||
specifier: ^5.1.1
|
specifier: ^5.1.1
|
||||||
version: 5.1.1(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.1(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
code-inspector-plugin:
|
code-inspector-plugin:
|
||||||
specifier: 1.3.0
|
specifier: 1.3.0
|
||||||
version: 1.3.0
|
version: 1.3.0
|
||||||
@@ -299,8 +290,8 @@ importers:
|
|||||||
specifier: ^8.48.1
|
specifier: ^8.48.1
|
||||||
version: 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
version: 8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
|
||||||
vite:
|
vite:
|
||||||
specifier: ^7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
|
|
||||||
apps/landing:
|
apps/landing:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -819,7 +810,7 @@ importers:
|
|||||||
version: 0.5.19(tailwindcss@4.1.17)
|
version: 0.5.19(tailwindcss@4.1.17)
|
||||||
'@tailwindcss/vite':
|
'@tailwindcss/vite':
|
||||||
specifier: 4.1.17
|
specifier: 4.1.17
|
||||||
version: 4.1.17(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 4.1.17(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: 24.10.1
|
specifier: 24.10.1
|
||||||
version: 24.10.1
|
version: 24.10.1
|
||||||
@@ -831,7 +822,7 @@ importers:
|
|||||||
version: 19.2.3(@types/react@19.2.7)
|
version: 19.2.3(@types/react@19.2.7)
|
||||||
'@vitejs/plugin-react':
|
'@vitejs/plugin-react':
|
||||||
specifier: ^5.1.1
|
specifier: ^5.1.1
|
||||||
version: 5.1.1(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.1(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
ast-kit:
|
ast-kit:
|
||||||
specifier: 2.2.0
|
specifier: 2.2.0
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
@@ -888,10 +879,10 @@ importers:
|
|||||||
version: 0.15.4
|
version: 0.15.4
|
||||||
vite-plugin-html:
|
vite-plugin-html:
|
||||||
specifier: 3.2.2
|
specifier: 3.2.2
|
||||||
version: 3.2.2(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 3.2.2(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vite-plugin-pwa:
|
vite-plugin-pwa:
|
||||||
specifier: 1.2.0
|
specifier: 1.2.0
|
||||||
version: 1.2.0(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
version: 1.2.0(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||||
|
|
||||||
be:
|
be:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -974,6 +965,9 @@ importers:
|
|||||||
busboy:
|
busboy:
|
||||||
specifier: 1.6.0
|
specifier: 1.6.0
|
||||||
version: 1.6.0
|
version: 1.6.0
|
||||||
|
consola:
|
||||||
|
specifier: 3.4.2
|
||||||
|
version: 3.4.2
|
||||||
drizzle-orm:
|
drizzle-orm:
|
||||||
specifier: ^0.45.0
|
specifier: ^0.45.0
|
||||||
version: 0.45.0(@types/pg@8.15.6)(@vercel/postgres@0.10.0)(kysely@0.28.8)(pg@8.16.3)(postgres@3.4.7)
|
version: 0.45.0(@types/pg@8.15.6)(@vercel/postgres@0.10.0)(kysely@0.28.8)(pg@8.16.3)(postgres@3.4.7)
|
||||||
@@ -1030,8 +1024,8 @@ importers:
|
|||||||
specifier: 1.5.9
|
specifier: 1.5.9
|
||||||
version: 1.5.9(@swc/core@1.15.3(@swc/helpers@0.5.17))(rollup@4.53.3)
|
version: 1.5.9(@swc/core@1.15.3(@swc/helpers@0.5.17))(rollup@4.53.3)
|
||||||
vite:
|
vite:
|
||||||
specifier: 7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vite-bundle-analyzer:
|
vite-bundle-analyzer:
|
||||||
specifier: 1.2.3
|
specifier: 1.2.3
|
||||||
version: 1.2.3
|
version: 1.2.3
|
||||||
@@ -1040,7 +1034,7 @@ importers:
|
|||||||
version: 5.2.0(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 5.2.0(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vite-tsconfig-paths:
|
vite-tsconfig-paths:
|
||||||
specifier: 5.1.4
|
specifier: 5.1.4
|
||||||
version: 5.1.4(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.4(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vitest:
|
vitest:
|
||||||
specifier: 4.0.15
|
specifier: 4.0.15
|
||||||
version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
@@ -1200,7 +1194,7 @@ importers:
|
|||||||
version: 0.5.19(tailwindcss@4.1.17)
|
version: 0.5.19(tailwindcss@4.1.17)
|
||||||
'@tailwindcss/vite':
|
'@tailwindcss/vite':
|
||||||
specifier: 4.1.17
|
specifier: 4.1.17
|
||||||
version: 4.1.17(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 4.1.17(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: 24.10.1
|
specifier: 24.10.1
|
||||||
version: 24.10.1
|
version: 24.10.1
|
||||||
@@ -1212,7 +1206,7 @@ importers:
|
|||||||
version: 19.2.3(@types/react@19.2.7)
|
version: 19.2.3(@types/react@19.2.7)
|
||||||
'@vitejs/plugin-react':
|
'@vitejs/plugin-react':
|
||||||
specifier: ^5.1.1
|
specifier: ^5.1.1
|
||||||
version: 5.1.1(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.1(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: 10.4.22
|
specifier: 10.4.22
|
||||||
version: 10.4.22(postcss@8.5.6)
|
version: 10.4.22(postcss@8.5.6)
|
||||||
@@ -1271,17 +1265,17 @@ importers:
|
|||||||
specifier: 5.9.3
|
specifier: 5.9.3
|
||||||
version: 5.9.3
|
version: 5.9.3
|
||||||
vite:
|
vite:
|
||||||
specifier: 7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vite-plugin-checker:
|
vite-plugin-checker:
|
||||||
specifier: 0.11.0
|
specifier: 0.11.0
|
||||||
version: 0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vite-plugin-route-builder:
|
vite-plugin-route-builder:
|
||||||
specifier: 0.4.1
|
specifier: 0.4.1
|
||||||
version: 0.4.1
|
version: 0.4.1
|
||||||
vite-tsconfig-paths:
|
vite-tsconfig-paths:
|
||||||
specifier: 5.1.4
|
specifier: 5.1.4
|
||||||
version: 5.1.4(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 5.1.4(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
|
|
||||||
be/apps/oauth-gateway:
|
be/apps/oauth-gateway:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1311,8 +1305,8 @@ importers:
|
|||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 5.9.3
|
version: 5.9.3
|
||||||
vite:
|
vite:
|
||||||
specifier: 7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vite-node:
|
vite-node:
|
||||||
specifier: 5.2.0
|
specifier: 5.2.0
|
||||||
version: 5.2.0(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 5.2.0(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
@@ -1434,6 +1428,9 @@ importers:
|
|||||||
c12:
|
c12:
|
||||||
specifier: ^3.3.2
|
specifier: ^3.3.2
|
||||||
version: 3.3.2(magicast@0.5.1)
|
version: 3.3.2(magicast@0.5.1)
|
||||||
|
consola:
|
||||||
|
specifier: 3.4.2
|
||||||
|
version: 3.4.2
|
||||||
dotenv-expand:
|
dotenv-expand:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 12.0.3
|
version: 12.0.3
|
||||||
@@ -1617,10 +1614,10 @@ importers:
|
|||||||
version: 0.17.0(synckit@0.11.11)(typescript@5.9.3)
|
version: 0.17.0(synckit@0.11.11)(typescript@5.9.3)
|
||||||
unplugin-dts:
|
unplugin-dts:
|
||||||
specifier: 1.0.0-beta.6
|
specifier: 1.0.0-beta.6
|
||||||
version: 1.0.0-beta.6(@microsoft/api-extractor@7.52.13(@types/node@24.10.1))(esbuild@0.27.1)(rollup@4.53.3)(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
version: 1.0.0-beta.6(@microsoft/api-extractor@7.52.13(@types/node@24.10.1))(esbuild@0.25.12)(rollup@4.53.3)(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))
|
||||||
vite:
|
vite:
|
||||||
specifier: 7.2.6
|
specifier: 8.0.0-beta.0
|
||||||
version: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
version: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -2480,12 +2477,6 @@ packages:
|
|||||||
'@clack/core@0.3.5':
|
'@clack/core@0.3.5':
|
||||||
resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==}
|
resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==}
|
||||||
|
|
||||||
'@clack/core@0.5.0':
|
|
||||||
resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
|
|
||||||
|
|
||||||
'@clack/prompts@0.11.0':
|
|
||||||
resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
|
|
||||||
|
|
||||||
'@clack/prompts@0.8.2':
|
'@clack/prompts@0.8.2':
|
||||||
resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==}
|
resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==}
|
||||||
|
|
||||||
@@ -2566,15 +2557,9 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
tailwindcss: '*'
|
tailwindcss: '*'
|
||||||
|
|
||||||
'@emnapi/core@1.6.0':
|
|
||||||
resolution: {integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==}
|
|
||||||
|
|
||||||
'@emnapi/core@1.7.1':
|
'@emnapi/core@1.7.1':
|
||||||
resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
|
resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.0':
|
|
||||||
resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
|
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.1':
|
'@emnapi/runtime@1.7.1':
|
||||||
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
|
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
|
||||||
|
|
||||||
@@ -9814,11 +9799,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
|
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
opentype.js@1.3.4:
|
|
||||||
resolution: {integrity: sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==}
|
|
||||||
engines: {node: '>= 8.0.0'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
optionator@0.9.4:
|
optionator@0.9.4:
|
||||||
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
|
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
|
||||||
engines: {node: '>= 0.8.0'}
|
engines: {node: '>= 0.8.0'}
|
||||||
@@ -12162,6 +12142,46 @@ packages:
|
|||||||
yaml:
|
yaml:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
vite@8.0.0-beta.0:
|
||||||
|
resolution: {integrity: sha512-bXHWmtg5hUxn/MB5zJ8qhBLphnsNmO1EYOFmBO/fVCBJekTdWDuqJ/GmUMLgrC0QUCCrxhw3JLgteWdiyqaVSQ==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
'@types/node': ^20.19.0 || >=22.12.0
|
||||||
|
esbuild: ^0.25.0
|
||||||
|
jiti: '>=1.21.0'
|
||||||
|
less: ^4.0.0
|
||||||
|
sass: ^1.70.0
|
||||||
|
sass-embedded: ^1.70.0
|
||||||
|
stylus: '>=0.54.8'
|
||||||
|
sugarss: ^5.0.0
|
||||||
|
terser: ^5.16.0
|
||||||
|
tsx: ^4.8.1
|
||||||
|
yaml: ^2.4.2
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@types/node':
|
||||||
|
optional: true
|
||||||
|
esbuild:
|
||||||
|
optional: true
|
||||||
|
jiti:
|
||||||
|
optional: true
|
||||||
|
less:
|
||||||
|
optional: true
|
||||||
|
sass:
|
||||||
|
optional: true
|
||||||
|
sass-embedded:
|
||||||
|
optional: true
|
||||||
|
stylus:
|
||||||
|
optional: true
|
||||||
|
sugarss:
|
||||||
|
optional: true
|
||||||
|
terser:
|
||||||
|
optional: true
|
||||||
|
tsx:
|
||||||
|
optional: true
|
||||||
|
yaml:
|
||||||
|
optional: true
|
||||||
|
|
||||||
vitest@4.0.15:
|
vitest@4.0.15:
|
||||||
resolution: {integrity: sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==}
|
resolution: {integrity: sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==}
|
||||||
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
|
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
|
||||||
@@ -13050,7 +13070,7 @@ snapshots:
|
|||||||
|
|
||||||
'@babel/code-frame@7.27.1':
|
'@babel/code-frame@7.27.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-validator-identifier': 7.27.1
|
'@babel/helper-validator-identifier': 7.28.5
|
||||||
js-tokens: 4.0.0
|
js-tokens: 4.0.0
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
|
|
||||||
@@ -13061,7 +13081,7 @@ snapshots:
|
|||||||
'@babel/core@7.28.4':
|
'@babel/core@7.28.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.27.1
|
'@babel/code-frame': 7.27.1
|
||||||
'@babel/generator': 7.28.3
|
'@babel/generator': 7.28.5
|
||||||
'@babel/helper-compilation-targets': 7.27.2
|
'@babel/helper-compilation-targets': 7.27.2
|
||||||
'@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
|
'@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
|
||||||
'@babel/helpers': 7.28.4
|
'@babel/helpers': 7.28.4
|
||||||
@@ -13867,17 +13887,6 @@ snapshots:
|
|||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
sisteransi: 1.0.5
|
sisteransi: 1.0.5
|
||||||
|
|
||||||
'@clack/core@0.5.0':
|
|
||||||
dependencies:
|
|
||||||
picocolors: 1.1.1
|
|
||||||
sisteransi: 1.0.5
|
|
||||||
|
|
||||||
'@clack/prompts@0.11.0':
|
|
||||||
dependencies:
|
|
||||||
'@clack/core': 0.5.0
|
|
||||||
picocolors: 1.1.1
|
|
||||||
sisteransi: 1.0.5
|
|
||||||
|
|
||||||
'@clack/prompts@0.8.2':
|
'@clack/prompts@0.8.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@clack/core': 0.3.5
|
'@clack/core': 0.3.5
|
||||||
@@ -13983,23 +13992,12 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@emnapi/core@1.6.0':
|
|
||||||
dependencies:
|
|
||||||
'@emnapi/wasi-threads': 1.1.0
|
|
||||||
tslib: 2.8.1
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@emnapi/core@1.7.1':
|
'@emnapi/core@1.7.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/wasi-threads': 1.1.0
|
'@emnapi/wasi-threads': 1.1.0
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.0':
|
|
||||||
dependencies:
|
|
||||||
tslib: 2.8.1
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.1':
|
'@emnapi/runtime@1.7.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
@@ -14815,7 +14813,7 @@ snapshots:
|
|||||||
|
|
||||||
'@img/sharp-wasm32@0.34.5':
|
'@img/sharp-wasm32@0.34.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/runtime': 1.7.0
|
'@emnapi/runtime': 1.7.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-arm64@0.34.5':
|
'@img/sharp-win32-arm64@0.34.5':
|
||||||
@@ -15206,8 +15204,8 @@ snapshots:
|
|||||||
|
|
||||||
'@napi-rs/wasm-runtime@0.2.12':
|
'@napi-rs/wasm-runtime@0.2.12':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/core': 1.6.0
|
'@emnapi/core': 1.7.1
|
||||||
'@emnapi/runtime': 1.7.0
|
'@emnapi/runtime': 1.7.1
|
||||||
'@tybys/wasm-util': 0.10.1
|
'@tybys/wasm-util': 0.10.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -17274,12 +17272,12 @@ snapshots:
|
|||||||
postcss-selector-parser: 6.0.10
|
postcss-selector-parser: 6.0.10
|
||||||
tailwindcss: 4.1.17
|
tailwindcss: 4.1.17
|
||||||
|
|
||||||
'@tailwindcss/vite@4.1.17(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))':
|
'@tailwindcss/vite@4.1.17(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tailwindcss/node': 4.1.17
|
'@tailwindcss/node': 4.1.17
|
||||||
'@tailwindcss/oxide': 4.1.17
|
'@tailwindcss/oxide': 4.1.17
|
||||||
tailwindcss: 4.1.17
|
tailwindcss: 4.1.17
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
|
|
||||||
'@tanstack/devtools-event-client@0.3.5': {}
|
'@tanstack/devtools-event-client@0.3.5': {}
|
||||||
|
|
||||||
@@ -18047,7 +18045,7 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
maplibre-gl: 5.14.0
|
maplibre-gl: 5.14.0
|
||||||
|
|
||||||
'@vitejs/plugin-react@5.1.1(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))':
|
'@vitejs/plugin-react@5.1.1(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.5
|
'@babel/core': 7.28.5
|
||||||
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5)
|
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5)
|
||||||
@@ -18055,7 +18053,7 @@ snapshots:
|
|||||||
'@rolldown/pluginutils': 1.0.0-beta.47
|
'@rolldown/pluginutils': 1.0.0-beta.47
|
||||||
'@types/babel__core': 7.20.5
|
'@types/babel__core': 7.20.5
|
||||||
react-refresh: 0.18.0
|
react-refresh: 0.18.0
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -22288,11 +22286,6 @@ snapshots:
|
|||||||
|
|
||||||
opener@1.5.2: {}
|
opener@1.5.2: {}
|
||||||
|
|
||||||
opentype.js@1.3.4:
|
|
||||||
dependencies:
|
|
||||||
string.prototype.codepointat: 0.2.1
|
|
||||||
tiny-inflate: 1.0.3
|
|
||||||
|
|
||||||
optionator@0.9.4:
|
optionator@0.9.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
deep-is: 0.1.4
|
deep-is: 0.1.4
|
||||||
@@ -24647,9 +24640,9 @@ snapshots:
|
|||||||
'@babel/generator': 7.28.5
|
'@babel/generator': 7.28.5
|
||||||
ast-kit: 2.2.0
|
ast-kit: 2.2.0
|
||||||
magic-string-ast: 1.0.3
|
magic-string-ast: 1.0.3
|
||||||
unplugin: 2.3.10
|
unplugin: 2.3.11
|
||||||
|
|
||||||
unplugin-dts@1.0.0-beta.6(@microsoft/api-extractor@7.52.13(@types/node@24.10.1))(esbuild@0.27.1)(rollup@4.53.3)(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
unplugin-dts@1.0.0-beta.6(@microsoft/api-extractor@7.52.13(@types/node@24.10.1))(esbuild@0.25.12)(rollup@4.53.3)(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 5.3.0(rollup@4.53.3)
|
'@rollup/pluginutils': 5.3.0(rollup@4.53.3)
|
||||||
'@volar/typescript': 2.4.23
|
'@volar/typescript': 2.4.23
|
||||||
@@ -24662,9 +24655,9 @@ snapshots:
|
|||||||
unplugin: 2.3.10
|
unplugin: 2.3.10
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@microsoft/api-extractor': 7.52.13(@types/node@24.10.1)
|
'@microsoft/api-extractor': 7.52.13(@types/node@24.10.1)
|
||||||
esbuild: 0.27.1
|
esbuild: 0.25.12
|
||||||
rollup: 4.53.3
|
rollup: 4.53.3
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -24855,12 +24848,12 @@ snapshots:
|
|||||||
- tsx
|
- tsx
|
||||||
- yaml
|
- yaml
|
||||||
|
|
||||||
vite-plugin-babel@1.3.2(@babel/core@7.28.5)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
vite-plugin-babel@1.3.2(@babel/core@7.28.5)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.5
|
'@babel/core': 7.28.5
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
|
|
||||||
vite-plugin-checker@0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
vite-plugin-checker@0.11.0(eslint@9.39.1(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.27.1
|
'@babel/code-frame': 7.27.1
|
||||||
chokidar: 4.0.3
|
chokidar: 4.0.3
|
||||||
@@ -24869,7 +24862,7 @@ snapshots:
|
|||||||
picomatch: 4.0.3
|
picomatch: 4.0.3
|
||||||
tiny-invariant: 1.3.3
|
tiny-invariant: 1.3.3
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
vscode-uri: 3.1.0
|
vscode-uri: 3.1.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint: 9.39.1(jiti@2.6.1)
|
eslint: 9.39.1(jiti@2.6.1)
|
||||||
@@ -24877,7 +24870,7 @@ snapshots:
|
|||||||
optionator: 0.9.4
|
optionator: 0.9.4
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
|
|
||||||
vite-plugin-html@3.2.2(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
vite-plugin-html@3.2.2(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/pluginutils': 4.2.1
|
'@rollup/pluginutils': 4.2.1
|
||||||
colorette: 2.0.20
|
colorette: 2.0.20
|
||||||
@@ -24891,14 +24884,14 @@ snapshots:
|
|||||||
html-minifier-terser: 6.1.0
|
html-minifier-terser: 6.1.0
|
||||||
node-html-parser: 5.4.2
|
node-html-parser: 5.4.2
|
||||||
pathe: 0.2.0
|
pathe: 0.2.0
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
|
|
||||||
vite-plugin-pwa@1.2.0(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0):
|
vite-plugin-pwa@1.2.0(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.3(supports-color@5.5.0)
|
debug: 4.4.3(supports-color@5.5.0)
|
||||||
pretty-bytes: 6.1.1
|
pretty-bytes: 6.1.1
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
workbox-build: 7.3.0(@types/babel__core@7.20.5)
|
workbox-build: 7.3.0(@types/babel__core@7.20.5)
|
||||||
workbox-window: 7.3.0
|
workbox-window: 7.3.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -24906,13 +24899,13 @@ snapshots:
|
|||||||
|
|
||||||
vite-plugin-route-builder@0.4.1: {}
|
vite-plugin-route-builder@0.4.1: {}
|
||||||
|
|
||||||
vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.3(supports-color@5.5.0)
|
debug: 4.4.3(supports-color@5.5.0)
|
||||||
globrex: 0.1.2
|
globrex: 0.1.2
|
||||||
tsconfck: 3.1.6(typescript@5.9.3)
|
tsconfck: 3.1.6(typescript@5.9.3)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 7.2.6(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
vite: 8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
@@ -24934,6 +24927,24 @@ snapshots:
|
|||||||
tsx: 4.21.0
|
tsx: 4.21.0
|
||||||
yaml: 2.8.1
|
yaml: 2.8.1
|
||||||
|
|
||||||
|
vite@8.0.0-beta.0(@types/node@24.10.1)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1):
|
||||||
|
dependencies:
|
||||||
|
'@oxc-project/runtime': 0.101.0
|
||||||
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
|
lightningcss: 1.30.2
|
||||||
|
picomatch: 4.0.3
|
||||||
|
postcss: 8.5.6
|
||||||
|
rolldown: 1.0.0-beta.53
|
||||||
|
tinyglobby: 0.2.15
|
||||||
|
optionalDependencies:
|
||||||
|
'@types/node': 24.10.1
|
||||||
|
esbuild: 0.25.12
|
||||||
|
fsevents: 2.3.3
|
||||||
|
jiti: 2.6.1
|
||||||
|
terser: 5.44.1
|
||||||
|
tsx: 4.21.0
|
||||||
|
yaml: 2.8.1
|
||||||
|
|
||||||
vitest@4.0.15(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1):
|
vitest@4.0.15(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/expect': 4.0.15
|
'@vitest/expect': 4.0.15
|
||||||
|
|||||||
Reference in New Issue
Block a user