Full-stack music production collaboration tool with: - SvelteKit frontend with Design System (CSS vars, 8 shared components) - Hono API with auth, projects, tracks, versions, comments - PostgreSQL + Drizzle ORM (8 tables, roles, permissions) - S3-compatible storage with presigned upload URLs - wavesurfer.js audio player with waveform visualization - A/B version comparison with synchronized playback - Timestamped comments with threading and resolve workflow - Magic Link authentication with Resend email integration - Background audio processing (ffmpeg transcode + waveform peaks) - Role-based access control (Owner, Engineers, Artist, Label, Management, Viewer) - Toast notifications, skeleton loading, responsive layout - Docker deployment setup (API + Web + Postgres) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
913 B
JavaScript
25 lines
913 B
JavaScript
import adapter from '@sveltejs/adapter-auto';
|
|
import { relative, sep } from 'node:path';
|
|
|
|
/** @type {import('@sveltejs/kit').Config} */
|
|
const config = {
|
|
compilerOptions: {
|
|
// defaults to rune mode for the project, except for `node_modules`. Can be removed in svelte 6.
|
|
runes: ({ filename }) => {
|
|
const relativePath = relative(import.meta.dirname, filename);
|
|
const pathSegments = relativePath.toLowerCase().split(sep);
|
|
const isExternalLibrary = pathSegments.includes('node_modules');
|
|
|
|
return isExternalLibrary ? undefined : 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;
|