Compare commits

..

No commits in common. "3862f2d38e143c36f2dba9abb1223bca96a0797e" and "87d2d711932a9fb0fbc573070947e3e8c4b78e7a" have entirely different histories.

7 changed files with 3194 additions and 2251 deletions

View File

@ -5,7 +5,7 @@ name: default
steps:
- name: test & build
image: node:22.12.0-bookworm
image: node:20.10.0-bookworm
commands:
# - git config --global --add safe.directory "/drone/src"
- corepack enable
@ -17,7 +17,7 @@ steps:
npm_config_registry: https://registry.npmmirror.com
- name: publish
image: node:22.12.0-bookworm
image: node:20.10.0-bookworm
environment:
DRONE_GITEA_SERVER: https://git.unlock-music.dev
GITEA_API_KEY:

1
.husky/pre-commit Executable file
View File

@ -0,0 +1 @@
pnpm exec lint-staged

1
.husky/pre-push Executable file
View File

@ -0,0 +1 @@
pnpm test

3
.npmrc
View File

@ -1,4 +1,5 @@
use-node-version=22.12.0
use-node-version=20.10.0
node-version=20.10.0
engine-strict=true
@um:registry=https://git.unlock-music.dev/api/packages/um/npm/
@unlock-music:registry=https://git.unlock-music.dev/api/packages/um/npm/

View File

@ -14,71 +14,66 @@
"test:coverage": "vitest run --coverage",
"preview": "vite preview",
"preview:coverage": "vite preview --outDir coverage --port 5175",
"prepare": "simple-git-hooks"
"prepare": "husky install"
},
"dependencies": {
"@chakra-ui/anatomy": "^2.3.4",
"@chakra-ui/icons": "^2.2.4",
"@chakra-ui/react": "^2.10.4",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@reduxjs/toolkit": "^2.5.0",
"@unlock-music/crypto": "0.1.2",
"framer-motion": "^11.14.4",
"nanoid": "^5.0.9",
"@chakra-ui/anatomy": "^2.2.2",
"@chakra-ui/icons": "^2.1.1",
"@chakra-ui/react": "^2.8.2",
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@reduxjs/toolkit": "^2.0.1",
"@unlock-music/crypto": "0.1.0",
"framer-motion": "^11.5.6",
"nanoid": "^5.0.7",
"radash": "^12.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-dropzone": "^14.3.5",
"react-icons": "^5.4.0",
"react-dropzone": "^14.2.3",
"react-icons": "^5.3.0",
"react-promise-suspense": "^0.3.4",
"react-redux": "^9.2.0",
"react-syntax-highlighter": "^15.6.1",
"sass": "^1.83.0",
"sql.js": "^1.12.0"
"react-redux": "^9.1.2",
"react-syntax-highlighter": "^15.5.0",
"sass": "^1.79.3",
"sql.js": "^1.11.0"
},
"devDependencies": {
"@rollup/plugin-replace": "^6.0.1",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.5.2",
"@types/node": "^22.10.2",
"@types/react": "^18.3.16",
"@types/react-dom": "^18.3.5",
"@types/node": "^22.6.1",
"@types/react": "^18.3.9",
"@types/react-dom": "^18.3.0",
"@types/react-syntax-highlighter": "^15.5.13",
"@types/sql.js": "^1.4.9",
"@typescript-eslint/eslint-plugin": "^8.18.0",
"@typescript-eslint/parser": "^8.18.0",
"@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^2.1.8",
"@vitest/ui": "^2.1.8",
"@typescript-eslint/eslint-plugin": "^8.7.0",
"@typescript-eslint/parser": "^8.7.0",
"@vitejs/plugin-react": "^4.3.1",
"@vitest/coverage-v8": "^2.1.1",
"@vitest/ui": "^2.1.1",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.16",
"husky": "^9.1.7",
"eslint-plugin-react-refresh": "^0.4.12",
"husky": "^9.1.6",
"jsdom": "^25.0.1",
"lint-staged": "^15.2.11",
"prettier": "^3.4.2",
"rollup": "^4.28.1",
"simple-git-hooks": "^2.11.1",
"terser": "^5.37.0",
"typescript": "^5.7.2",
"vite": "^5.4.11",
"lint-staged": "^15.2.10",
"prettier": "^3.3.3",
"rollup": "^4.22.4",
"terser": "^5.33.0",
"typescript": "^5.6.2",
"vite": "^5.4.7",
"vite-plugin-pwa": "^0.20.5",
"vite-plugin-top-level-await": "^1.4.4",
"vite-plugin-wasm": "^3.3.0",
"vitest": "^2.1.8",
"workbox-window": "^7.3.0"
"vitest": "^2.1.1",
"workbox-window": "^7.1.0"
},
"lint-staged": {
"*": "prettier --write --ignore-unknown",
"*.{js,jsx,ts,tsx}": "eslint --fix --report-unused-disable-directives --max-warnings 0"
},
"simple-git-hooks": {
"pre-commit": "pnpm exec lint-staged",
"pre-push": "pnpm test"
},
"prettier": {
"singleQuote": true,
"printWidth": 120,

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,5 @@
export const toArrayBuffer = async (src: Blob | ArrayBuffer | Uint8Array<ArrayBufferLike>) =>
src instanceof Blob ? await src.arrayBuffer() : src;
export const toBlob = (src: Blob | ArrayBuffer | Uint8Array<ArrayBufferLike>) =>
src instanceof Blob ? src : new Blob([src]);
export const toArrayBuffer = async (src: Blob | ArrayBuffer) => (src instanceof Blob ? await src.arrayBuffer() : src);
export const toBlob = (src: Blob | ArrayBuffer) => (src instanceof Blob ? src : new Blob([src]));
export function* chunkBuffer(buffer: Uint8Array, blockLen = 4096): Generator<[Uint8Array, number], void> {
const len = buffer.byteLength;