gzip 압축 플러그인 추가 및 개발 서버 설정 개선

This commit is contained in:
pd0a6847 2025-11-14 09:18:20 +09:00
parent 9b2794b840
commit 88679ae954
8 changed files with 3426 additions and 426 deletions

17
.idea/copilotDiffState.xml generated Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CopilotDiffPersistence">
<option name="pendingDiffs">
<map>
<entry key="$PROJECT_DIR$/preview-gzip.js">
<value>
<PendingDiffInfo>
<option name="filePath" value="$PROJECT_DIR$/preview-gzip.js" />
<option name="updatedContent" value="import express from 'express';&#10;import expressStaticGzip from 'express-static-gzip';&#10;import { fileURLToPath } from 'url';&#10;import { dirname, join } from 'path';&#10;&#10;const __filename = fileURLToPath(import.meta.url);&#10;const __dirname = dirname(__filename);&#10;&#10;const app = express();&#10;const port = 4173;&#10;&#10;// gzip 압축 파일을 우선적으로 제공&#10;app.use(&#10;&#9;'/',&#10;&#9;expressStaticGzip(join(__dirname, '.svelte-kit/output/client'), {&#10;&#9;&#9;enableBrotli: false,&#10;&#9;&#9;orderPreference: ['gz'],&#10;&#9;&#9;serveStatic: {&#10;&#9;&#9;&#9;maxAge: '1d',&#10;&#9;&#9;&#9;setHeaders: (res, path) =&gt; {&#10;&#9;&#9;&#9;&#9;if (path.endsWith('.html')) {&#10;&#9;&#9;&#9;&#9;&#9;res.setHeader('Cache-Control', 'public, max-age=0');&#10;&#9;&#9;&#9;&#9;}&#10;&#9;&#9;&#9;}&#10;&#9;&#9;}&#10;&#9;})&#10;);&#10;&#10;app.listen(port, () =&gt; {&#10;&#9;console.log(`\n ➜ Preview server with gzip: http://localhost:${port}/`);&#10;&#9;console.log(` ➜ Press Ctrl+C to stop\n`);&#10;});&#10;" />
</PendingDiffInfo>
</value>
</entry>
</map>
</option>
</component>
</project>

File diff suppressed because it is too large Load Diff

471
.idea/workspace.xml generated
View File

@ -5,412 +5,12 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="027e6af4-a007-480d-9766-cd603cf60fb1" name="변경" comment=""> <list default="true" id="027e6af4-a007-480d-9766-cd603cf60fb1" name="변경" comment="">
<change afterPath="$PROJECT_DIR$/.env" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.env.example" afterDir="false" /> <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.github/copilot-instructions.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/pnpm-lock.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pnpm-lock.yaml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/lib/components/ui/input/input.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/ui/input/input.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/.gitignore" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/routes/demo/lucia/login/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/demo/lucia/login/+page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/codeStyles/Project.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/vite.config.ts" beforeDir="false" afterPath="$PROJECT_DIR$/vite.config.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/codeStyles/codeStyleConfig.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/copilot.data.migration.agent.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/copilot.data.migration.ask.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/copilot.data.migration.ask2agent.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/copilot.data.migration.edit.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/prettier.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/taisai-svelte.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.npmrc" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.prettierignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.prettierrc" afterDir="false" />
<change afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/components.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/drizzle.config.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pnpm-lock.yaml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pnpm-workspace.yaml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/app.css" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/app.d.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/app.html" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/hooks.server.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/assets/favicon.svg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/accordion/accordion-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/accordion/accordion-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/accordion/accordion-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/accordion/accordion.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/accordion/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert-dialog/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert/alert-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert/alert-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert/alert.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/alert/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/aspect-ratio/aspect-ratio.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/aspect-ratio/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/avatar/avatar-fallback.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/avatar/avatar-image.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/avatar/avatar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/avatar/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/badge/badge.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/badge/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/breadcrumb.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/breadcrumb/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button-group/button-group-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button-group/button-group-text.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button-group/button-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button-group/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button/button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/button/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-caption.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-cell.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-day.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-grid-body.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-grid-head.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-grid-row.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-grid.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-head-cell.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-month-select.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-month.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-months.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-nav.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-next-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-prev-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar-year-select.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/calendar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/calendar/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-action.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/card.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/card/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/carousel-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/carousel-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/carousel-next.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/carousel-previous.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/carousel.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/context.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/carousel/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/chart/chart-container.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/chart/chart-style.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/chart/chart-tooltip.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/chart/chart-utils.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/chart/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/checkbox/checkbox.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/checkbox/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/collapsible/collapsible-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/collapsible/collapsible-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/collapsible/collapsible.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/collapsible/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-dialog.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-empty.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-input.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-link-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-list.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command-shortcut.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/command.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/command/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-checkbox-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-group-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-radio-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-radio-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-shortcut.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-sub-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/context-menu-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/context-menu/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/data-table/data-table.svelte.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/data-table/flex-render.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/data-table/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/data-table/render-helpers.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-close.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-overlay.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/dialog-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dialog/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-close.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-nested.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-overlay.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/drawer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/drawer/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/dropdown-menu/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty-media.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/empty.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/empty/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-error.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-legend.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-set.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/field.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/field/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-element-field.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-field-errors.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-field.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-fieldset.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/form-legend.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/form/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/hover-card/hover-card-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/hover-card/hover-card-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/hover-card/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group-addon.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group-input.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group-text.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group-textarea.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-group/input-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-otp/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-otp/input-otp-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-otp/input-otp-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-otp/input-otp-slot.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input-otp/input-otp.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/input/input.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-actions.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-media.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/item/item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/kbd/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/kbd/kbd-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/kbd/kbd.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/label/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/label/label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-checkbox-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-group-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-radio-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-shortcut.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-sub-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-sub-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/menubar/menubar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/native-select/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/native-select/native-select-opt-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/native-select/native-select-option.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/native-select/native-select.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/navigation-menu/navigation-menu.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-ellipsis.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-link.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-next-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination-prev-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/pagination/pagination.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/popover/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/popover/popover-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/popover/popover-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/progress/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/progress/progress.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/radio-group/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/radio-group/radio-group-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/radio-group/radio-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-caption.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-cell.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-day.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-grid-row.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-grid.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-head-cell.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-month-select.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-month.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-months.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-nav.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-next-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-prev-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar-year-select.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/range-calendar/range-calendar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/resizable/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/resizable/resizable-handle.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/resizable/resizable-pane-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/scroll-area/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/scroll-area/scroll-area.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-group-heading.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-scroll-down-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-scroll-up-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/select/select-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/separator/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/separator/separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-close.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-description.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-overlay.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-title.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sheet/sheet-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/constants.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/context.svelte.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-group-action.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-group-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-group-label.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-input.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-inset.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-action.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-badge.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu-sub.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-menu.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-provider.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-rail.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-separator.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sidebar/sidebar.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/skeleton/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/skeleton/skeleton.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/slider/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/slider/slider.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sonner/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/sonner/sonner.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/spinner/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/spinner/spinner.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/switch/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/switch/switch.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-body.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-caption.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-cell.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-footer.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-head.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-header.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table-row.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/table/table.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tabs/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tabs/tabs-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tabs/tabs-list.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tabs/tabs-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tabs/tabs.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/textarea/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/textarea/textarea.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/toggle-group/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/toggle-group/toggle-group-item.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/toggle-group/toggle-group.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/toggle/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/toggle/toggle.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tooltip/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tooltip/tooltip-content.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/components/ui/tooltip/tooltip-trigger.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/hooks/is-mobile.svelte.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/server/auth.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/server/db/index.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/server/db/schema.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/lib/utils.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/+layout.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/+page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/demo/+page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/demo/lucia/+page.server.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/demo/lucia/+page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/demo/lucia/login/+page.server.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/routes/demo/lucia/login/+page.svelte" afterDir="false" />
<change afterPath="$PROJECT_DIR$/static/robots.txt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/svelte-mcp-instruction.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/svelte.config.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/tsconfig.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/vite.config.ts" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -420,9 +20,12 @@
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="ProjectColorInfo"><![CDATA[{ <component name="PackageJsonUpdateNotifier">
"associatedIndex": 4 <dismissed value="$PROJECT_DIR$/package.json" />
}]]></component> </component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 4
}</component>
<component name="ProjectId" id="35QZk9eFiT4PzUegrfJTvpdLB6i" /> <component name="ProjectId" id="35QZk9eFiT4PzUegrfJTvpdLB6i" />
<component name="ProjectViewState"> <component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
@ -433,6 +36,7 @@
"ModuleVcsDetector.initialDetectionPerformed": "true", "ModuleVcsDetector.initialDetectionPerformed": "true",
"RunOnceActivity.ShowReadmeOnStart": "true", "RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true", "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
"com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultAutoModeForALLUsers.v1": "true",
"com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true", "com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",
"git-widget-placeholder": "master", "git-widget-placeholder": "master",
"ignore.virus.scanning.warn.message": "true", "ignore.virus.scanning.warn.message": "true",
@ -444,16 +48,45 @@
"node.js.selected.package.eslint": "(autodetect)", "node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)", "node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "pnpm", "nodejs_package_manager_path": "pnpm",
"npm.build.executor": "Run",
"npm.db:push.executor": "Run",
"npm.dev.executor": "Run", "npm.dev.executor": "Run",
"prettierjs.PrettierConfiguration.Package": "C:\\gitea\\taisai-svelte\\node_modules\\prettier", "prettierjs.PrettierConfiguration.Package": "C:\\gitea\\taisai-svelte\\node_modules\\prettier",
"settings.editor.selected.configurable": "com.github.copilot.settings.customization.CustomizationConfigurable", "settings.editor.selected.configurable": "com.github.copilot.settings.customization.CustomizationConfigurable",
"to.speed.mode.migration.done": "true", "to.speed.mode.migration.done": "true",
"ts.external.directory.path": "C:\\gitea\\taisai-svelte\\node_modules\\typescript\\lib", "ts.external.directory.path": "C:\\giteat\\taisai-svelte\\node_modules\\typescript\\lib",
"vue.rearranger.settings.migration": "true" "vue.rearranger.settings.migration": "true"
} }
}]]></component> }]]></component>
<component name="RunManager" selected="npm.dev"> <component name="RunManager" selected="npm.dev">
<configuration name="이름이 지정되지 않았습니다" type="NodeJSConfigurationType" nameIsGenerated="true" working-dir="$PROJECT_DIR$"> <configuration name="build" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="build" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
<configuration name="db:push" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:push" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
<configuration name="db:studio" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="db:studio" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="dev" type="js.build_tools.npm" nameIsGenerated="true"> <configuration name="dev" type="js.build_tools.npm" nameIsGenerated="true">
@ -466,9 +99,22 @@
<envs /> <envs />
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="preview" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/package.json" />
<command value="run" />
<scripts>
<script value="preview" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
<list> <list>
<item itemvalue="Node.js.이름이 지정되지 않았습니다" /> <item itemvalue="npm.db:push" />
<item itemvalue="npm.dev" /> <item itemvalue="npm.dev" />
<item itemvalue="npm.preview" />
<item itemvalue="npm.build" />
<item itemvalue="npm.db:studio" />
</list> </list>
</component> </component>
<component name="SharedIndexes"> <component name="SharedIndexes">
@ -487,6 +133,7 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1763044396291</updated> <updated>1763044396291</updated>
<workItem from="1763044399917" duration="3349000" /> <workItem from="1763044399917" duration="3349000" />
<workItem from="1763077156406" duration="2074000" />
</task> </task>
<servers /> <servers />
</component> </component>

View File

@ -7,6 +7,7 @@
"dev": "vite dev", "dev": "vite dev",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"preview:gzip": "node preview-gzip.js",
"prepare": "svelte-kit sync || echo ''", "prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
@ -34,6 +35,10 @@
"drizzle-kit": "^0.31.5", "drizzle-kit": "^0.31.5",
"drizzle-orm": "^0.44.6", "drizzle-orm": "^0.44.6",
"embla-carousel-svelte": "^8.6.0", "embla-carousel-svelte": "^8.6.0",
"express": "^5.1.0",
"express-static-gzip": "^3.0.0",
"express": "^5.1.0",
"express-static-gzip": "^3.0.0",
"formsnap": "^2.0.1", "formsnap": "^2.0.1",
"layerchart": "2.0.0-next.27", "layerchart": "2.0.0-next.27",
"mode-watcher": "^1.1.0", "mode-watcher": "^1.1.0",
@ -51,7 +56,9 @@
"tw-animate-css": "^1.4.0", "tw-animate-css": "^1.4.0",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vaul-svelte": "1.0.0-next.7", "vaul-svelte": "1.0.0-next.7",
"vite": "^7.1.10" "vite": "^7.1.10",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-static-copy": "^3.1.4"
}, },
"dependencies": { "dependencies": {
"@node-rs/argon2": "^2.0.2", "@node-rs/argon2": "^2.0.2",

772
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -25,9 +25,9 @@
bind:this={ref} bind:this={ref}
data-slot={dataSlot} data-slot={dataSlot}
class={cn( class={cn(
"selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50", "selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium outline-none disabled:cursor-not-allowed disabled:opacity-50",
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "focus-visible:border-ring",
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", "aria-invalid:border-destructive",
className className
)} )}
type="file" type="file"
@ -40,9 +40,9 @@
bind:this={ref} bind:this={ref}
data-slot={dataSlot} data-slot={dataSlot}
class={cn( class={cn(
"border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base outline-none transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "focus-visible:border-ring",
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", "aria-invalid:border-destructive",
className className
)} )}
{type} {type}

View File

@ -62,7 +62,7 @@
placeholder="username" placeholder="username"
required required
autocomplete="username" autocomplete="username"
class="relative z-20 pl-10 transition-all duration-200 focus:ring-2" class="relative z-20 pl-10"
/> />
</div> </div>
</div> </div>
@ -73,7 +73,7 @@
<button <button
type="button" type="button"
tabindex="-1" tabindex="-1"
class="text-xs text-primary hover:underline focus:outline-none" class="text-xs text-primary focus:outline-none"
> >
비밀번호 찾기 비밀번호 찾기
</button> </button>
@ -89,14 +89,14 @@
placeholder="••••••••" placeholder="••••••••"
required required
autocomplete="current-password" autocomplete="current-password"
class="relative z-20 pl-10 transition-all duration-200 focus:ring-2" class="relative z-20 pl-10"
/> />
</div> </div>
</div> </div>
{#if form?.message} {#if form?.message}
<div <div
class="animate-in fade-in slide-in-from-top-2 flex items-start gap-3 rounded-lg border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive duration-300" class="flex items-start gap-3 rounded-lg border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive"
> >
<AlertCircle class="mt-0.5 h-5 w-5 flex-shrink-0" /> <AlertCircle class="mt-0.5 h-5 w-5 flex-shrink-0" />
<span>{form.message}</span> <span>{form.message}</span>
@ -106,7 +106,7 @@
<div class="flex flex-col gap-3 pt-2"> <div class="flex flex-col gap-3 pt-2">
<Button <Button
type="submit" type="submit"
class="w-full transition-all duration-200 hover:scale-[1.02] hover:shadow-lg" class="w-full"
size="lg" size="lg"
> >
<LogIn class="mr-2 h-5 w-5" /> <LogIn class="mr-2 h-5 w-5" />
@ -126,7 +126,7 @@
type="submit" type="submit"
formaction="?/register" formaction="?/register"
variant="outline" variant="outline"
class="w-full transition-all duration-200 hover:scale-[1.02] hover:bg-secondary" class="w-full"
size="lg" size="lg"
> >
<UserPlus class="mr-2 h-5 w-5" /> <UserPlus class="mr-2 h-5 w-5" />

View File

@ -1,7 +1,32 @@
import tailwindcss from '@tailwindcss/vite'; import tailwindcss from '@tailwindcss/vite';
import { sveltekit } from '@sveltejs/kit/vite'; import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
import viteCompression from 'vite-plugin-compression';
export default defineConfig({ export default defineConfig({
plugins: [tailwindcss(), sveltekit()] plugins: [
tailwindcss(),
sveltekit(),
viteCompression({
verbose: true, // 압축 결과를 콘솔에 출력
disable: false,
threshold: 1024, // 1KB 이상 파일만 압축
algorithm: 'gzip', // gzip 알고리즘 사용
ext: '.gz', // .gz 확장자로 파일 생성
deleteOriginFile: false // 원본 파일 유지
})
],
preview: {
headers: {
'Cache-Control': 'public, max-age=600'
},
// preview 서버에서 gzip 파일을 제공하도록 설정
proxy: {}
},
server: {
// 개발 서버 설정
fs: {
strict: false
}
}
}); });