switched to brotli-compress coz of building problems

This commit is contained in:
eefano
2025-07-05 15:19:16 +02:00
parent 9107d0bd3e
commit c32538afed
4 changed files with 25 additions and 17 deletions
+19 -7
View File
@@ -780,9 +780,9 @@ importers:
base64url-universal:
specifier: ^2.0.0
version: 2.0.0
brotli-wasm:
specifier: ^3.0.1
version: 3.0.1
brotli-compress:
specifier: ^1.3.3
version: 1.3.3
claviature:
specifier: ^0.1.0
version: 0.1.0
@@ -2829,6 +2829,9 @@ packages:
'@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@types/node@22.10.10':
resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==}
@@ -3254,9 +3257,11 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
brotli-wasm@3.0.1:
resolution: {integrity: sha512-U3K72/JAi3jITpdhZBqzSUq+DUY697tLxOuFXB+FpAE/Ug+5C3VZrv4uA674EUZHxNAuQ9wETXNqQkxZD6oL4A==}
engines: {node: '>=v18.0.0'}
brotli-compress@1.3.3:
resolution: {integrity: sha512-cwKOmzEuKqUmRxXDdZimiNoXRRr7AQKMSubJSbYA9FXk+LTPT3fBGpHU8VZRZZctAJ5OCeXGK9PzPpZ1vD0pDA==}
brotli-wasm@1.2.0:
resolution: {integrity: sha512-PdDi7awF36zFujZyFJb9UNrP1l+If7iCgXhLKE1SpwqFQSK2yc7w2dysOmME7p325yQaZNvae7ruzypB3YhFxA==}
browserslist@4.24.4:
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
@@ -10295,6 +10300,8 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
'@types/node@17.0.45': {}
'@types/node@22.10.10':
dependencies:
undici-types: 6.20.0
@@ -10874,7 +10881,12 @@ snapshots:
dependencies:
fill-range: 7.1.1
brotli-wasm@3.0.1: {}
brotli-compress@1.3.3:
dependencies:
'@types/node': 17.0.45
brotli-wasm: 1.2.0
brotli-wasm@1.2.0: {}
browserslist@4.24.4:
dependencies:
+1 -1
View File
@@ -55,7 +55,7 @@
"@types/react-dom": "^19.0.3",
"astro": "^5.1.9",
"base64url-universal": "^2.0.0",
"brotli-wasm": "^3.0.1",
"brotli-compress": "^1.3.3",
"claviature": "^0.1.0",
"date-fns": "^4.1.0",
"hs2js": "0.1.0",
+3 -5
View File
@@ -35,11 +35,9 @@ import { getRandomTune, initCode, loadModules, shareCode } from './util.mjs';
import './Repl.css';
import { setInterval, clearInterval } from 'worker-timers';
import { getMetadata } from '../metadata_parser';
import brotliPromise from 'brotli-wasm';
import { compress as brotlicompress } from 'brotli-compress';
import { encode as base64urlencode } from 'base64url-universal';
const brotli = await brotliPromise; // Import is async in browsers due to wasm requirements!
const { latestCode, maxPolyphony, audioDeviceName, multiChannelOrbits } = settingsMap.get();
let modulesLoading, presets, drawContext, clearCanvas, audioReady;
@@ -97,7 +95,7 @@ export function useReplContext() {
}
},
beforeEval: () => audioReady,
afterEval: (all) => {
afterEval: async (all) => {
const { code } = all;
//post to iframe parent (like Udels) if it exists...
window.parent?.postMessage(code);
@@ -108,7 +106,7 @@ export function useReplContext() {
// Compress the script with brotli and encode it with base64url
const encoded = new TextEncoder().encode(code);
//console.log('encoded',encoded);
const brotlized = brotli.compress(encoded, { mode: 1, quality: 11 });
const brotlized = await brotlicompress(encoded, { mode: 1, quality: 11 });
//console.log('brotlized',brotlized);
const baseurled = base64urlencode(brotlized);
//console.log('baseurled',baseurled);
+2 -4
View File
@@ -8,11 +8,9 @@ import { createClient } from '@supabase/supabase-js';
import { nanoid } from 'nanoid';
import { writeText } from '@tauri-apps/plugin-clipboard-manager';
import { $featuredPatterns /* , loadDBPatterns */ } from '@src/user_pattern_utils.mjs';
import brotliPromise from 'brotli-wasm';
import { decompress as brotlidecompress } from 'brotli-compress';
import { decode as base64urldecode } from 'base64url-universal';
const brotli = await brotliPromise; // Import is async in browsers due to wasm requirements!
// Create a single supabase client for interacting with your database
export const supabase = createClient(
'https://pidxdsxphlhzjnzmifth.supabase.co',
@@ -38,7 +36,7 @@ export async function initCode() {
//console.log('baseurled', baseurled);
const brotlized = base64urldecode(baseurled);
//console.log('brotlized', brotlized);
const encoded = brotli.decompress(brotlized);
const encoded = await brotlidecompress(brotlized);
//console.log('encoded', encoded);
const decoded = new TextDecoder().decode(encoded);
//console.log('decoded', decoded);