Merge pull request 'chore/svelte-kit-to-svelte-migration' (#7) from chore/svelte-kit-to-svelte-migration into main
Reviewed-on: glyphdiff.com/frontend-sveltekit#7
This commit was merged in pull request #7.
This commit is contained in:
@@ -1,59 +1,32 @@
|
|||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches: [main, develop]
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches: [main, develop]
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build Project
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '20'
|
node-version: '20'
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install
|
||||||
run: yarn install --frozen-lockfile
|
run: yarn install --frozen-lockfile --prefer-offline
|
||||||
|
|
||||||
- name: Run SvelteKit sync
|
- name: Build Svelte App
|
||||||
run: yarn svelte-kit sync
|
|
||||||
|
|
||||||
- name: Build project
|
|
||||||
run: yarn build
|
run: yarn build
|
||||||
env:
|
|
||||||
NODE_ENV: production
|
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-artifacts
|
name: build-artifacts
|
||||||
path: |
|
path: dist/
|
||||||
.svelte-kit/output
|
|
||||||
.svelte-kit/build
|
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
- name: Verify build (Preview)
|
|
||||||
run: |
|
|
||||||
yarn preview &
|
|
||||||
PREVIEW_PID=$!
|
|
||||||
sleep 5
|
|
||||||
curl -f http://localhost:4173 || exit 1
|
|
||||||
kill $PREVIEW_PID
|
|
||||||
|
|||||||
@@ -1,127 +1,42 @@
|
|||||||
name: Deploy
|
name: Deploy Pipeline
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches: [main]
|
||||||
- main
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
environment:
|
environment:
|
||||||
description: 'Deployment environment'
|
description: 'Target'
|
||||||
required: true
|
required: true
|
||||||
default: 'production'
|
default: 'production'
|
||||||
type: choice
|
type: choice
|
||||||
options:
|
options: [staging, production]
|
||||||
- staging
|
|
||||||
- production
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: false
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deploy:
|
pipeline:
|
||||||
name: Deploy to ${{ github.event.inputs.environment || 'production' }}
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
environment:
|
|
||||||
name: ${{ github.event.inputs.environment || 'production' }}
|
|
||||||
|
|
||||||
# Only deploy after successful linting, testing, and building
|
|
||||||
needs: [lint, test, build]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '20'
|
node-version: '20'
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install
|
||||||
run: yarn install --frozen-lockfile
|
run: yarn install --frozen-lockfile --prefer-offline
|
||||||
|
|
||||||
- name: Build project
|
- name: Validation
|
||||||
|
run: |
|
||||||
|
yarn oxlint .
|
||||||
|
yarn svelte-check
|
||||||
|
|
||||||
|
- name: Build for Production
|
||||||
run: yarn build
|
run: yarn build
|
||||||
env:
|
env:
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
|
|
||||||
# Example deployment step - replace with your actual deployment strategy
|
- name: Deploy Step
|
||||||
# Options:
|
|
||||||
# - Docker container registry
|
|
||||||
# - Cloud provider (AWS, GCP, Azure)
|
|
||||||
# - Traditional hosting (Vercel, Netlify, Cloudflare Pages)
|
|
||||||
# - SSH deployment to VPS
|
|
||||||
|
|
||||||
# Example: Docker image build and push
|
|
||||||
# - name: Set up Docker Buildx
|
|
||||||
# uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
# - name: Log in to Container Registry
|
|
||||||
# uses: docker/login-action@v3
|
|
||||||
# with:
|
|
||||||
# registry: ${{ secrets.REGISTRY_URL }}
|
|
||||||
# username: ${{ secrets.REGISTRY_USERNAME }}
|
|
||||||
# password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
# - name: Build and push Docker image
|
|
||||||
# uses: docker/build-push-action@v5
|
|
||||||
# with:
|
|
||||||
# context: .
|
|
||||||
# push: true
|
|
||||||
# tags: ${{ secrets.REGISTRY_URL }}/glyphdiff:latest
|
|
||||||
# cache-from: type=gha
|
|
||||||
# cache-to: type=gha,mode=max
|
|
||||||
|
|
||||||
# Example: SSH deployment to server
|
|
||||||
# - name: Deploy to server via SSH
|
|
||||||
# uses: appleboy/ssh-action@v1.0.3
|
|
||||||
# with:
|
|
||||||
# host: ${{ secrets.DEPLOY_HOST }}
|
|
||||||
# username: ${{ secrets.DEPLOY_USER }}
|
|
||||||
# key: ${{ secrets.DEPLOY_SSH_KEY }}
|
|
||||||
# script: |
|
|
||||||
# cd /path/to/app
|
|
||||||
# git pull origin main
|
|
||||||
# yarn install --frozen-lockfile
|
|
||||||
# yarn build
|
|
||||||
# pm2 restart glyphdiff
|
|
||||||
|
|
||||||
# Example: Deploy to Vercel
|
|
||||||
# - name: Deploy to Vercel
|
|
||||||
# uses: amondnet/vercel-action@v25
|
|
||||||
# with:
|
|
||||||
# vercel-token: ${{ secrets.VERCEL_TOKEN }}
|
|
||||||
# vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
|
|
||||||
# vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
|
|
||||||
# vercel-args: '--prod'
|
|
||||||
|
|
||||||
- name: Deployment placeholder
|
|
||||||
run: |
|
run: |
|
||||||
echo "Deployment step not configured yet."
|
echo "Deploying dist/ to ${{ github.event.inputs.environment || 'production' }}..."
|
||||||
echo "Uncomment and modify one of the deployment examples above."
|
# EXAMPLE: rsync -avz dist/ user@your-vps:/var/www/html/
|
||||||
echo "Configure the necessary secrets in your Gitea instance:"
|
|
||||||
echo " - REGISTRY_URL, REGISTRY_USERNAME, REGISTRY_PASSWORD"
|
|
||||||
echo " - DEPLOY_HOST, DEPLOY_USER, DEPLOY_SSH_KEY"
|
|
||||||
echo " - VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID"
|
|
||||||
|
|
||||||
- name: Post-deployment health check
|
|
||||||
run: |
|
|
||||||
echo "Add health check here after deployment"
|
|
||||||
# curl -f https://your-app.com || exit 1
|
|
||||||
|
|
||||||
lint:
|
|
||||||
name: Lint Check
|
|
||||||
uses: ./.gitea/workflows/lint.yml
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
test:
|
|
||||||
name: Test Suite
|
|
||||||
uses: ./.gitea/workflows/test.yml
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build:
|
|
||||||
name: Build Verification
|
|
||||||
uses: ./.gitea/workflows/build.yml
|
|
||||||
secrets: inherit
|
|
||||||
|
|||||||
@@ -31,11 +31,18 @@ jobs:
|
|||||||
node-version: '20'
|
node-version: '20'
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Get yarn cache directory path
|
||||||
|
id: yarn-cache-dir-path
|
||||||
|
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Persistent Yarn Cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: yarn-cache
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-yarn-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn install --frozen-lockfile
|
run: yarn install --frozen-lockfile --prefer-offline
|
||||||
|
|
||||||
- name: Run oxlint
|
|
||||||
run: yarn oxlint .
|
|
||||||
|
|
||||||
- name: Check code formatting
|
|
||||||
run: yarn dprint check
|
|
||||||
|
|||||||
@@ -1,45 +1,31 @@
|
|||||||
name: Test
|
name: Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches: [main, develop, "feature/*"]
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
- feature/*
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches: [main, develop]
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
type-check:
|
test:
|
||||||
name: Type Check
|
name: Svelte Checks
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
- uses: actions/setup-node@v4
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
with:
|
||||||
node-version: '20'
|
node-version: '20'
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install
|
||||||
run: yarn install --frozen-lockfile
|
run: yarn install --frozen-lockfile --prefer-offline
|
||||||
|
|
||||||
- name: Run TypeScript type check
|
- name: Type Check
|
||||||
run: yarn tsc --noEmit
|
|
||||||
|
|
||||||
- name: Run Svelte check
|
|
||||||
run: yarn svelte-check --threshold warning
|
run: yarn svelte-check --threshold warning
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: yarn oxlint .
|
||||||
|
|
||||||
# e2e-tests:
|
# e2e-tests:
|
||||||
# name: E2E Tests (Playwright)
|
# name: E2E Tests (Playwright)
|
||||||
# runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,6 +8,7 @@ node_modules
|
|||||||
.wrangler
|
.wrangler
|
||||||
/.svelte-kit
|
/.svelte-kit
|
||||||
/build
|
/build
|
||||||
|
/dist
|
||||||
|
|
||||||
# OS
|
# OS
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
Binary file not shown.
12
index.html
Normal file
12
index.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>glyphdiff</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
10
package.json
10
package.json
@@ -4,12 +4,12 @@
|
|||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite dev",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"prepare": "svelte-kit sync || echo ''",
|
"prepare": "svelte-check --tsconfig ./tsconfig.json || echo ''",
|
||||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
||||||
"lint": "oxlint",
|
"lint": "oxlint",
|
||||||
"format": "dprint fmt",
|
"format": "dprint fmt",
|
||||||
"format:check": "dprint check",
|
"format:check": "dprint check",
|
||||||
@@ -19,8 +19,6 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@lucide/svelte": "^0.562.0",
|
"@lucide/svelte": "^0.562.0",
|
||||||
"@playwright/test": "^1.57.0",
|
"@playwright/test": "^1.57.0",
|
||||||
"@sveltejs/adapter-auto": "^7.0.0",
|
|
||||||
"@sveltejs/kit": "^2.49.1",
|
|
||||||
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
||||||
"@tailwindcss/vite": "^4.1.18",
|
"@tailwindcss/vite": "^4.1.18",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { defineConfig } from '@playwright/test';
|
import { defineConfig } from '@playwright/test';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
webServer: { command: 'npm run build && npm run preview', port: 4173 },
|
webServer: { command: 'yarn build && yarn preview', port: 4173 },
|
||||||
testDir: 'e2e',
|
testDir: 'e2e',
|
||||||
});
|
});
|
||||||
|
|||||||
20
src/App.svelte
Normal file
20
src/App.svelte
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import favicon from '$lib/assets/favicon.svg';
|
||||||
|
import './app.css';
|
||||||
|
import Page from './routes/Page.svelte';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<svelte:head>
|
||||||
|
<link rel="icon" href={favicon} />
|
||||||
|
</svelte:head>
|
||||||
|
|
||||||
|
<div id="app-root">
|
||||||
|
<Page />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#app-root {
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
20
src/ambient.d.ts
vendored
Normal file
20
src/ambient.d.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
declare module '*.svelte' {
|
||||||
|
import type { ComponentType } from 'svelte';
|
||||||
|
const component: ComponentType;
|
||||||
|
export default component;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '*.svg' {
|
||||||
|
const content: string;
|
||||||
|
export default content;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '*.png' {
|
||||||
|
const content: string;
|
||||||
|
export default content;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '*.jpg' {
|
||||||
|
const content: string;
|
||||||
|
export default content;
|
||||||
|
}
|
||||||
13
src/app.d.ts
vendored
13
src/app.d.ts
vendored
@@ -1,13 +0,0 @@
|
|||||||
// See https://svelte.dev/docs/kit/types#app.d.ts
|
|
||||||
// for information about these interfaces
|
|
||||||
declare global {
|
|
||||||
namespace App {
|
|
||||||
// interface Error {}
|
|
||||||
// interface Locals {}
|
|
||||||
// interface PageData {}
|
|
||||||
// interface PageState {}
|
|
||||||
// interface Platform {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export {};
|
|
||||||
11
src/app.html
11
src/app.html
@@ -1,11 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
%sveltekit.head%
|
|
||||||
</head>
|
|
||||||
<body data-sveltekit-preload-data="hover">
|
|
||||||
<div style="display: contents">%sveltekit.body%</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
6
src/main.ts
Normal file
6
src/main.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import { mount } from 'svelte';
|
||||||
|
import App from './App.svelte';
|
||||||
|
|
||||||
|
mount(App, {
|
||||||
|
target: document.getElementById('app')!,
|
||||||
|
});
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<script lang="ts">
|
|
||||||
import favicon from '$lib/assets/favicon.svg';
|
|
||||||
import '../app.css';
|
|
||||||
let { children } = $props();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<svelte:head>
|
|
||||||
<link rel="icon" href={favicon} />
|
|
||||||
</svelte:head>
|
|
||||||
|
|
||||||
{@render children()}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
<script>
|
|
||||||
import Button from '$lib/components/ui/button/button.svelte';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<h1>Welcome to SvelteKit</h1>
|
|
||||||
<p>
|
|
||||||
Visit <a href="https://svelte.dev/docs/kit">svelte.dev/docs/kit</a> to read the documentation
|
|
||||||
</p>
|
|
||||||
<Button>Click me!</Button>
|
|
||||||
9
src/routes/Page.svelte
Normal file
9
src/routes/Page.svelte
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<script>
|
||||||
|
import Button from '$lib/components/ui/button/button.svelte';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>Welcome to Svelte + Vite</h1>
|
||||||
|
<p>
|
||||||
|
Visit <a href="https://svelte.dev/docs">svelte.dev/docs</a> to read the documentation
|
||||||
|
</p>
|
||||||
|
<Button>Click me!</Button>
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
import adapter from '@sveltejs/adapter-auto';
|
|
||||||
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
|
||||||
const config = {
|
const config = {
|
||||||
// Consult https://svelte.dev/docs/kit/integrations
|
// Consult https://svelte.dev/docs/kit/integrations
|
||||||
// for more information about preprocessors
|
// for more information about preprocessors
|
||||||
@@ -10,13 +8,6 @@ const config = {
|
|||||||
compilerOptions: {
|
compilerOptions: {
|
||||||
runes: true,
|
runes: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
kit: {
|
|
||||||
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
|
|
||||||
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
|
|
||||||
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
|
|
||||||
adapter: adapter(),
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
{
|
{
|
||||||
"extends": "./.svelte-kit/tsconfig.json",
|
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"rewriteRelativeImportExtensions": true,
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"target": "ESNext",
|
||||||
|
"lib": ["ESNext", "DOM", "DOM.Iterable"],
|
||||||
|
|
||||||
|
/* Strictness & Safety */
|
||||||
|
"strict": true,
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"checkJs": true,
|
"checkJs": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
@@ -9,13 +14,24 @@
|
|||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"strict": true,
|
"isolatedModules": true,
|
||||||
"moduleResolution": "bundler"
|
"verbatimModuleSyntax": true,
|
||||||
|
|
||||||
|
/* Path Aliases */
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"$lib/*": ["./src/lib/*"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"exclude": ["./src/lib/components/ui"]
|
"include": [
|
||||||
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
|
"src/**/*.ts",
|
||||||
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
|
"src/**/*.js",
|
||||||
//
|
"src/**/*.svelte",
|
||||||
// To make changes to top-level options such as include and exclude, we recommend extending
|
"src/**/*.d.ts"
|
||||||
// the generated config; see https://svelte.dev/docs/kit/configuration#typescript
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"dist",
|
||||||
|
"./src/lib/components/ui"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,15 @@
|
|||||||
import { sveltekit } from '@sveltejs/kit/vite';
|
import { svelte } from '@sveltejs/vite-plugin-svelte';
|
||||||
import tailwindcss from '@tailwindcss/vite';
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [sveltekit(), tailwindcss()],
|
plugins: [svelte(), tailwindcss()],
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
$lib: '/src/lib',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
build: {
|
||||||
|
outDir: 'dist',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
125
yarn.lock
125
yarn.lock
@@ -357,13 +357,13 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@napi-rs/wasm-runtime@npm:^1.1.0":
|
"@napi-rs/wasm-runtime@npm:^1.1.0":
|
||||||
version: 1.1.0
|
version: 1.1.1
|
||||||
resolution: "@napi-rs/wasm-runtime@npm:1.1.0"
|
resolution: "@napi-rs/wasm-runtime@npm:1.1.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@emnapi/core": "npm:^1.7.1"
|
"@emnapi/core": "npm:^1.7.1"
|
||||||
"@emnapi/runtime": "npm:^1.7.1"
|
"@emnapi/runtime": "npm:^1.7.1"
|
||||||
"@tybys/wasm-util": "npm:^0.10.1"
|
"@tybys/wasm-util": "npm:^0.10.1"
|
||||||
checksum: 10c0/ee351052123bfc635c4cef03ac273a686522394ccd513b1e5b7b3823cecd6abb4a31f23a3a962933192b87eb7b7c3eb3def7748bd410edc66f932d90cf44e9ab
|
checksum: 10c0/04d57b67e80736e41fe44674a011878db0a8ad893f4d44abb9d3608debb7c174224cba2796ed5b0c1d367368159f3ca6be45f1c59222f70e32ddc880f803d447
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -456,13 +456,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@polka/url@npm:^1.0.0-next.24":
|
|
||||||
version: 1.0.0-next.29
|
|
||||||
resolution: "@polka/url@npm:1.0.0-next.29"
|
|
||||||
checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@rollup/rollup-android-arm-eabi@npm:4.54.0":
|
"@rollup/rollup-android-arm-eabi@npm:4.54.0":
|
||||||
version: 4.54.0
|
version: 4.54.0
|
||||||
resolution: "@rollup/rollup-android-arm-eabi@npm:4.54.0"
|
resolution: "@rollup/rollup-android-arm-eabi@npm:4.54.0"
|
||||||
@@ -617,13 +610,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@standard-schema/spec@npm:^1.0.0":
|
|
||||||
version: 1.1.0
|
|
||||||
resolution: "@standard-schema/spec@npm:1.1.0"
|
|
||||||
checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@sveltejs/acorn-typescript@npm:^1.0.5":
|
"@sveltejs/acorn-typescript@npm:^1.0.5":
|
||||||
version: 1.0.8
|
version: 1.0.8
|
||||||
resolution: "@sveltejs/acorn-typescript@npm:1.0.8"
|
resolution: "@sveltejs/acorn-typescript@npm:1.0.8"
|
||||||
@@ -633,46 +619,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@sveltejs/adapter-auto@npm:^7.0.0":
|
|
||||||
version: 7.0.0
|
|
||||||
resolution: "@sveltejs/adapter-auto@npm:7.0.0"
|
|
||||||
peerDependencies:
|
|
||||||
"@sveltejs/kit": ^2.0.0
|
|
||||||
checksum: 10c0/928393d4e366a0094bec5e09c70e44c3c7b5f17687f1735f71eb305e1ae640c64cd9f7d8f80d8b31dcaa235ae2b07e0f021a9204b5cec895d5bd8035064c9195
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@sveltejs/kit@npm:^2.49.1":
|
|
||||||
version: 2.49.2
|
|
||||||
resolution: "@sveltejs/kit@npm:2.49.2"
|
|
||||||
dependencies:
|
|
||||||
"@standard-schema/spec": "npm:^1.0.0"
|
|
||||||
"@sveltejs/acorn-typescript": "npm:^1.0.5"
|
|
||||||
"@types/cookie": "npm:^0.6.0"
|
|
||||||
acorn: "npm:^8.14.1"
|
|
||||||
cookie: "npm:^0.6.0"
|
|
||||||
devalue: "npm:^5.3.2"
|
|
||||||
esm-env: "npm:^1.2.2"
|
|
||||||
kleur: "npm:^4.1.5"
|
|
||||||
magic-string: "npm:^0.30.5"
|
|
||||||
mrmime: "npm:^2.0.0"
|
|
||||||
sade: "npm:^1.8.1"
|
|
||||||
set-cookie-parser: "npm:^2.6.0"
|
|
||||||
sirv: "npm:^3.0.0"
|
|
||||||
peerDependencies:
|
|
||||||
"@opentelemetry/api": ^1.0.0
|
|
||||||
"@sveltejs/vite-plugin-svelte": ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0
|
|
||||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
|
||||||
vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
"@opentelemetry/api":
|
|
||||||
optional: true
|
|
||||||
bin:
|
|
||||||
svelte-kit: svelte-kit.js
|
|
||||||
checksum: 10c0/05bf6d0d9fb87d894d1a5667f0473d8e83a4584f5c80850ed9eef1d1c8982236ea0d703bbd83befdff30c729d102fc67f2839014d900edb15f6b449ee059b9aa
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@sveltejs/vite-plugin-svelte-inspector@npm:^5.0.0":
|
"@sveltejs/vite-plugin-svelte-inspector@npm:^5.0.0":
|
||||||
version: 5.0.1
|
version: 5.0.1
|
||||||
resolution: "@sveltejs/vite-plugin-svelte-inspector@npm:5.0.1"
|
resolution: "@sveltejs/vite-plugin-svelte-inspector@npm:5.0.1"
|
||||||
@@ -875,13 +821,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/cookie@npm:^0.6.0":
|
|
||||||
version: 0.6.0
|
|
||||||
resolution: "@types/cookie@npm:0.6.0"
|
|
||||||
checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.5, @types/estree@npm:^1.0.6":
|
"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.5, @types/estree@npm:^1.0.6":
|
||||||
version: 1.0.8
|
version: 1.0.8
|
||||||
resolution: "@types/estree@npm:1.0.8"
|
resolution: "@types/estree@npm:1.0.8"
|
||||||
@@ -896,7 +835,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"acorn@npm:^8.12.1, acorn@npm:^8.14.1":
|
"acorn@npm:^8.12.1":
|
||||||
version: 8.15.0
|
version: 8.15.0
|
||||||
resolution: "acorn@npm:8.15.0"
|
resolution: "acorn@npm:8.15.0"
|
||||||
bin:
|
bin:
|
||||||
@@ -968,13 +907,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"cookie@npm:^0.6.0":
|
|
||||||
version: 0.6.0
|
|
||||||
resolution: "cookie@npm:0.6.0"
|
|
||||||
checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.4.1":
|
"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.4.1":
|
||||||
version: 4.4.3
|
version: 4.4.3
|
||||||
resolution: "debug@npm:4.4.3"
|
resolution: "debug@npm:4.4.3"
|
||||||
@@ -1001,7 +933,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"devalue@npm:^5.3.2, devalue@npm:^5.5.0":
|
"devalue@npm:^5.5.0":
|
||||||
version: 5.6.1
|
version: 5.6.1
|
||||||
resolution: "devalue@npm:5.6.1"
|
resolution: "devalue@npm:5.6.1"
|
||||||
checksum: 10c0/4dca0e800336003fd1e268c142adfe78f3539cda7384b4f69762a93e0dfc33e223b580251da0a6da4be44962958fcba5eadf122f9720e09f437b28904af9c43e
|
checksum: 10c0/4dca0e800336003fd1e268c142adfe78f3539cda7384b4f69762a93e0dfc33e223b580251da0a6da4be44962958fcba5eadf122f9720e09f437b28904af9c43e
|
||||||
@@ -1168,7 +1100,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"esm-env@npm:^1.2.1, esm-env@npm:^1.2.2":
|
"esm-env@npm:^1.2.1":
|
||||||
version: 1.2.2
|
version: 1.2.2
|
||||||
resolution: "esm-env@npm:1.2.2"
|
resolution: "esm-env@npm:1.2.2"
|
||||||
checksum: 10c0/3d25c973f2fd69c25ffff29c964399cea573fe10795ecc1d26f6f957ce0483d3254e1cceddb34bf3296a0d7b0f1d53a28992f064ba509dfe6366751e752c4166
|
checksum: 10c0/3d25c973f2fd69c25ffff29c964399cea573fe10795ecc1d26f6f957ce0483d3254e1cceddb34bf3296a0d7b0f1d53a28992f064ba509dfe6366751e752c4166
|
||||||
@@ -1267,8 +1199,6 @@ __metadata:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@lucide/svelte": "npm:^0.562.0"
|
"@lucide/svelte": "npm:^0.562.0"
|
||||||
"@playwright/test": "npm:^1.57.0"
|
"@playwright/test": "npm:^1.57.0"
|
||||||
"@sveltejs/adapter-auto": "npm:^7.0.0"
|
|
||||||
"@sveltejs/kit": "npm:^2.49.1"
|
|
||||||
"@sveltejs/vite-plugin-svelte": "npm:^6.2.1"
|
"@sveltejs/vite-plugin-svelte": "npm:^6.2.1"
|
||||||
"@tailwindcss/vite": "npm:^4.1.18"
|
"@tailwindcss/vite": "npm:^4.1.18"
|
||||||
clsx: "npm:^2.1.1"
|
clsx: "npm:^2.1.1"
|
||||||
@@ -1368,13 +1298,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"kleur@npm:^4.1.5":
|
|
||||||
version: 4.1.5
|
|
||||||
resolution: "kleur@npm:4.1.5"
|
|
||||||
checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"lefthook-darwin-arm64@npm:2.0.13":
|
"lefthook-darwin-arm64@npm:2.0.13":
|
||||||
version: 2.0.13
|
version: 2.0.13
|
||||||
resolution: "lefthook-darwin-arm64@npm:2.0.13"
|
resolution: "lefthook-darwin-arm64@npm:2.0.13"
|
||||||
@@ -1620,7 +1543,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"magic-string@npm:^0.30.11, magic-string@npm:^0.30.17, magic-string@npm:^0.30.21, magic-string@npm:^0.30.5":
|
"magic-string@npm:^0.30.11, magic-string@npm:^0.30.17, magic-string@npm:^0.30.21":
|
||||||
version: 0.30.21
|
version: 0.30.21
|
||||||
resolution: "magic-string@npm:0.30.21"
|
resolution: "magic-string@npm:0.30.21"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1740,13 +1663,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"mrmime@npm:^2.0.0":
|
|
||||||
version: 2.0.1
|
|
||||||
resolution: "mrmime@npm:2.0.1"
|
|
||||||
checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"ms@npm:^2.1.3":
|
"ms@npm:^2.1.3":
|
||||||
version: 2.1.3
|
version: 2.1.3
|
||||||
resolution: "ms@npm:2.1.3"
|
resolution: "ms@npm:2.1.3"
|
||||||
@@ -2020,7 +1936,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"sade@npm:^1.7.4, sade@npm:^1.8.1":
|
"sade@npm:^1.7.4":
|
||||||
version: 1.8.1
|
version: 1.8.1
|
||||||
resolution: "sade@npm:1.8.1"
|
resolution: "sade@npm:1.8.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2045,24 +1961,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"set-cookie-parser@npm:^2.6.0":
|
|
||||||
version: 2.7.2
|
|
||||||
resolution: "set-cookie-parser@npm:2.7.2"
|
|
||||||
checksum: 10c0/4381a9eb7ee951dfe393fe7aacf76b9a3b4e93a684d2162ab35594fa4053cc82a4d7d7582bf397718012c9adcf839b8cd8f57c6c42901ea9effe33c752da4a45
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"sirv@npm:^3.0.0":
|
|
||||||
version: 3.0.2
|
|
||||||
resolution: "sirv@npm:3.0.2"
|
|
||||||
dependencies:
|
|
||||||
"@polka/url": "npm:^1.0.0-next.24"
|
|
||||||
mrmime: "npm:^2.0.0"
|
|
||||||
totalist: "npm:^3.0.0"
|
|
||||||
checksum: 10c0/5930e4397afdb14fbae13751c3be983af4bda5c9aadec832607dc2af15a7162f7d518c71b30e83ae3644b9a24cea041543cc969e5fe2b80af6ce8ea3174b2d04
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"smart-buffer@npm:^4.2.0":
|
"smart-buffer@npm:^4.2.0":
|
||||||
version: 4.2.0
|
version: 4.2.0
|
||||||
resolution: "smart-buffer@npm:4.2.0"
|
resolution: "smart-buffer@npm:4.2.0"
|
||||||
@@ -2205,13 +2103,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"totalist@npm:^3.0.0":
|
|
||||||
version: 3.0.1
|
|
||||||
resolution: "totalist@npm:3.0.1"
|
|
||||||
checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"tslib@npm:^2.4.0":
|
"tslib@npm:^2.4.0":
|
||||||
version: 2.8.1
|
version: 2.8.1
|
||||||
resolution: "tslib@npm:2.8.1"
|
resolution: "tslib@npm:2.8.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user