Merge branch 'main' into lu/add-drum-suffixes

This commit is contained in:
Felix Roos 2025-01-29 15:46:21 +01:00
commit ca00f7c5d0
No known key found for this signature in database
92 changed files with 7044 additions and 6367 deletions

View file

@ -1,7 +1,6 @@
import { defineConfig } from 'astro/config';
import react from '@astrojs/react';
import mdx from '@astrojs/mdx';
import remarkToc from 'remark-toc';
import rehypeSlug from 'rehype-slug';
import rehypeAutolinkHeadings from 'rehype-autolink-headings';
@ -9,7 +8,6 @@ import rehypeUrls from 'rehype-urls';
import tailwind from '@astrojs/tailwind';
import AstroPWA from '@vite-pwa/astro';
// import { visualizer } from 'rollup-plugin-visualizer';
const site = `https://strudel.cc/`; // root url without a path
const base = '/'; // base path of the strudel site
@ -69,6 +67,7 @@ export default defineConfig({
registerType: 'autoUpdate',
injectRegister: 'auto',
workbox: {
maximumFileSizeToCacheInBytes: 4194304, // 4MB
globPatterns: ['**/*.{js,css,html,ico,png,svg,json,wav,mp3,ogg,ttf,woff2,TTF,otf}'],
runtimeCaching: [
{

View file

@ -6,25 +6,24 @@
"scripts": {
"dev": "astro dev --host 0.0.0.0",
"start": "astro dev",
"check": "astro check && tsc",
"build": "astro build",
"preview": "astro preview --port 3009 --host 0.0.0.0",
"astro": "astro",
"postinstall": "cp node_modules/hs2js/dist/tree-sitter.wasm public && cp node_modules/hs2js/dist/tree-sitter-haskell.wasm public"
},
"dependencies": {
"@algolia/client-search": "^4.22.0",
"@astro-community/astro-embed-youtube": "^0.4.4",
"@astrojs/mdx": "^2.0.3",
"@astrojs/react": "^3.0.9",
"@astrojs/rss": "^4.0.2",
"@astrojs/tailwind": "^5.1.0",
"@docsearch/css": "^3.5.2",
"@docsearch/react": "^3.5.2",
"@headlessui/react": "^1.7.17",
"@heroicons/react": "^2.1.1",
"@nanostores/persistent": "^0.9.1",
"@nanostores/react": "^0.7.1",
"@algolia/client-search": "^5.20.0",
"@astro-community/astro-embed-youtube": "^0.5.6",
"@astrojs/mdx": "^4.0.7",
"@astrojs/react": "^4.1.6",
"@astrojs/rss": "^4.0.11",
"@astrojs/tailwind": "^5.1.5",
"@docsearch/css": "^3.8.3",
"@docsearch/react": "^3.8.3",
"@headlessui/react": "^2.2.0",
"@heroicons/react": "^2.2.0",
"@nanostores/persistent": "^0.10.2",
"@nanostores/react": "^0.8.4",
"@strudel/codemirror": "workspace:*",
"@strudel/core": "workspace:*",
"@strudel/csound": "workspace:*",
@ -37,40 +36,41 @@
"@strudel/osc": "workspace:*",
"@strudel/serial": "workspace:*",
"@strudel/soundfonts": "workspace:*",
"@strudel/tidal": "workspace:*",
"@strudel/tonal": "workspace:*",
"@strudel/transpiler": "workspace:*",
"@strudel/webaudio": "workspace:*",
"@strudel/xen": "workspace:*",
"@strudel/tidal": "workspace:*",
"@supabase/supabase-js": "^2.39.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.10",
"@tauri-apps/api": "^1.5.3",
"@types/node": "^20.10.6",
"@types/react": "^18.2.46",
"@types/react-dom": "^18.2.18",
"astro": "^4.0.8",
"@supabase/supabase-js": "^2.48.1",
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/postcss": "^4.0.0",
"@tailwindcss/typography": "^0.5.16",
"@tauri-apps/api": "^2.2.0",
"@tauri-apps/plugin-clipboard-manager": "^2.2.0",
"@types/node": "^22.10.10",
"@types/react": "^19.0.8",
"@types/react-dom": "^19.0.3",
"astro": "^5.1.9",
"claviature": "^0.1.0",
"date-fns": "^3.2.0",
"hs2js": "0.0.8",
"nanoid": "^5.0.4",
"nanostores": "^0.9.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-inview": "^4.5.0",
"date-fns": "^4.1.0",
"hs2js": "0.1.0",
"nanoid": "^5.0.9",
"nanostores": "^0.11.3",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-inview": "^4.5.1",
"react-lite-youtube-embed": "^2.4.0",
"rehype-autolink-headings": "^7.1.0",
"rehype-slug": "^6.0.0",
"rehype-urls": "^1.2.0",
"remark-toc": "^9.0.0",
"tailwindcss": "^3.4.0",
"worker-timers": "^7.1.4"
"tailwindcss": "^3.4.17",
"worker-timers": "^8.0.13"
},
"devDependencies": {
"@vite-pwa/astro": "^0.2.0",
"@vite-pwa/astro": "^0.5.0",
"html-escaper": "^3.0.3",
"sharp": "^0.33.1",
"vite-plugin-pwa": "^0.17.4",
"workbox-window": "^7.0.0"
"sharp": "^0.33.5",
"workbox-window": "^7.3.0"
}
}

View file

@ -13,8 +13,9 @@ export default function Claviature({ options, onClick, onMouseDown, onMouseUp, o
<svg {...svg.attributes}>
{svg.children.map((el, i) => {
const TagName = el.name;
const { key, ...attributes } = el.attributes;
return (
<TagName key={`${el.name}-${i}`} {...el.attributes}>
<TagName key={`${el.name}-${i}`} {...attributes}>
{el.value}
</TagName>
);

View file

@ -1,4 +1,5 @@
---
// @ts-ignore
import { pwaInfo } from 'virtual:pwa-info';
import '../styles/index.css';

View file

@ -1,6 +1,4 @@
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />
/// <reference types="vite-plugin-pwa/info" />
/// <reference types="vite-plugin-pwa/client" />
declare module 'date-fns';

View file

@ -132,6 +132,10 @@ This group of functions allows to modify the value of events.
<JsDoc client:idle name="Pattern.ratio" h={0} />
## as
<JsDoc client:idle name="as" h={0} />
# Custom Parameters
You can also create your own parameters:

View file

@ -1,3 +1,4 @@
// @ts-ignore
import { registerSW } from 'virtual:pwa-register';
registerSW({

View file

@ -6,7 +6,7 @@ import { isTauri } from '../tauri.mjs';
import './Repl.css';
import { createClient } from '@supabase/supabase-js';
import { nanoid } from 'nanoid';
import { writeText } from '@tauri-apps/api/clipboard';
import { writeText } from '@tauri-apps/plugin-clipboard-manager';
import { $featuredPatterns, loadDBPatterns } from '@src/user_pattern_utils.mjs';
// Create a single supabase client for interacting with your database

View file

@ -1,4 +1,4 @@
import { invoke } from '@tauri-apps/api/tauri';
import { invoke } from '@tauri-apps/api/core';
export const Invoke = invoke;
export const isTauri = () => window.__TAURI_IPC__ != null;

View file

@ -5,9 +5,6 @@
"skipLibCheck": true,
"jsxImportSource": "react",
"noImplicitAny": false,
"types": [
"vite-plugin-pwa/client"
],
"baseUrl": ".",
"paths": {
"@components/*": ["src/components/*"],