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: steps:
- name: test & build - name: test & build
image: node:22.12.0-bookworm image: node:20.10.0-bookworm
commands: commands:
# - git config --global --add safe.directory "/drone/src" # - git config --global --add safe.directory "/drone/src"
- corepack enable - corepack enable
@ -17,7 +17,7 @@ steps:
npm_config_registry: https://registry.npmmirror.com npm_config_registry: https://registry.npmmirror.com
- name: publish - name: publish
image: node:22.12.0-bookworm image: node:20.10.0-bookworm
environment: environment:
DRONE_GITEA_SERVER: https://git.unlock-music.dev DRONE_GITEA_SERVER: https://git.unlock-music.dev
GITEA_API_KEY: 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 engine-strict=true
@um:registry=https://git.unlock-music.dev/api/packages/um/npm/ @um:registry=https://git.unlock-music.dev/api/packages/um/npm/
@unlock-music: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", "test:coverage": "vitest run --coverage",
"preview": "vite preview", "preview": "vite preview",
"preview:coverage": "vite preview --outDir coverage --port 5175", "preview:coverage": "vite preview --outDir coverage --port 5175",
"prepare": "simple-git-hooks" "prepare": "husky install"
}, },
"dependencies": { "dependencies": {
"@chakra-ui/anatomy": "^2.3.4", "@chakra-ui/anatomy": "^2.2.2",
"@chakra-ui/icons": "^2.2.4", "@chakra-ui/icons": "^2.1.1",
"@chakra-ui/react": "^2.10.4", "@chakra-ui/react": "^2.8.2",
"@emotion/react": "^11.14.0", "@emotion/react": "^11.11.1",
"@emotion/styled": "^11.14.0", "@emotion/styled": "^11.11.0",
"@reduxjs/toolkit": "^2.5.0", "@reduxjs/toolkit": "^2.0.1",
"@unlock-music/crypto": "0.1.2", "@unlock-music/crypto": "0.1.0",
"framer-motion": "^11.14.4", "framer-motion": "^11.5.6",
"nanoid": "^5.0.9", "nanoid": "^5.0.7",
"radash": "^12.1.0", "radash": "^12.1.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",
"react-dropzone": "^14.3.5", "react-dropzone": "^14.2.3",
"react-icons": "^5.4.0", "react-icons": "^5.3.0",
"react-promise-suspense": "^0.3.4", "react-promise-suspense": "^0.3.4",
"react-redux": "^9.2.0", "react-redux": "^9.1.2",
"react-syntax-highlighter": "^15.6.1", "react-syntax-highlighter": "^15.5.0",
"sass": "^1.83.0", "sass": "^1.79.3",
"sql.js": "^1.12.0" "sql.js": "^1.11.0"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-replace": "^6.0.1", "@rollup/plugin-replace": "^6.0.1",
"@testing-library/jest-dom": "^6.6.3", "@testing-library/jest-dom": "^6.5.0",
"@testing-library/react": "^16.1.0", "@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.5.2", "@testing-library/user-event": "^14.5.2",
"@types/node": "^22.10.2", "@types/node": "^22.6.1",
"@types/react": "^18.3.16", "@types/react": "^18.3.9",
"@types/react-dom": "^18.3.5", "@types/react-dom": "^18.3.0",
"@types/react-syntax-highlighter": "^15.5.13", "@types/react-syntax-highlighter": "^15.5.13",
"@types/sql.js": "^1.4.9", "@types/sql.js": "^1.4.9",
"@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/eslint-plugin": "^8.7.0",
"@typescript-eslint/parser": "^8.18.0", "@typescript-eslint/parser": "^8.7.0",
"@vitejs/plugin-react": "^4.3.4", "@vitejs/plugin-react": "^4.3.1",
"@vitest/coverage-v8": "^2.1.8", "@vitest/coverage-v8": "^2.1.1",
"@vitest/ui": "^2.1.8", "@vitest/ui": "^2.1.1",
"eslint": "^8.57.1", "eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.16", "eslint-plugin-react-refresh": "^0.4.12",
"husky": "^9.1.7", "husky": "^9.1.6",
"jsdom": "^25.0.1", "jsdom": "^25.0.1",
"lint-staged": "^15.2.11", "lint-staged": "^15.2.10",
"prettier": "^3.4.2", "prettier": "^3.3.3",
"rollup": "^4.28.1", "rollup": "^4.22.4",
"simple-git-hooks": "^2.11.1", "terser": "^5.33.0",
"terser": "^5.37.0", "typescript": "^5.6.2",
"typescript": "^5.7.2", "vite": "^5.4.7",
"vite": "^5.4.11",
"vite-plugin-pwa": "^0.20.5", "vite-plugin-pwa": "^0.20.5",
"vite-plugin-top-level-await": "^1.4.4", "vite-plugin-top-level-await": "^1.4.4",
"vite-plugin-wasm": "^3.3.0", "vite-plugin-wasm": "^3.3.0",
"vitest": "^2.1.8", "vitest": "^2.1.1",
"workbox-window": "^7.3.0" "workbox-window": "^7.1.0"
}, },
"lint-staged": { "lint-staged": {
"*": "prettier --write --ignore-unknown", "*": "prettier --write --ignore-unknown",
"*.{js,jsx,ts,tsx}": "eslint --fix --report-unused-disable-directives --max-warnings 0" "*.{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": { "prettier": {
"singleQuote": true, "singleQuote": true,
"printWidth": 120, "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>) => export const toArrayBuffer = async (src: Blob | ArrayBuffer) => (src instanceof Blob ? await src.arrayBuffer() : src);
src instanceof Blob ? await src.arrayBuffer() : src; export const toBlob = (src: Blob | ArrayBuffer) => (src instanceof Blob ? src : new Blob([src]));
export const toBlob = (src: Blob | ArrayBuffer | Uint8Array<ArrayBufferLike>) =>
src instanceof Blob ? src : new Blob([src]);
export function* chunkBuffer(buffer: Uint8Array, blockLen = 4096): Generator<[Uint8Array, number], void> { export function* chunkBuffer(buffer: Uint8Array, blockLen = 4096): Generator<[Uint8Array, number], void> {
const len = buffer.byteLength; const len = buffer.byteLength;