From 2d29bcc4899ad6f6f1b4cf802249721e0fd892a5 Mon Sep 17 00:00:00 2001 From: abearxiong Date: Wed, 16 Apr 2025 16:37:11 +0800 Subject: [PATCH] temp --- .gitignore | 7 + .npmrc | 2 + demos/test-convert/.gitignore | 2 + demos/test-convert/files/test.pcm | Bin 0 -> 129600 bytes demos/test-convert/index.ts | 12 + package.json | 24 + pnpm-lock.yaml | 1102 +++++++++++++++++++++++++++++ readme.md | 2 + src/index.ts | 3 + src/wav-converter/index.ts | 69 ++ tsconfig.json | 34 + tsup.config.ts | 20 + 12 files changed, 1277 insertions(+) create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 demos/test-convert/.gitignore create mode 100644 demos/test-convert/files/test.pcm create mode 100644 demos/test-convert/index.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 readme.md create mode 100644 src/index.ts create mode 100644 src/wav-converter/index.ts create mode 100644 tsconfig.json create mode 100644 tsup.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5cf5837 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +node_modules +dist +.DS_Store + + +.env* +!.env*example diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..7446745 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +//npm.xiongxiao.me/:_authToken=${ME_NPM_TOKEN} +//registry.npmjs.org/:_authToken=${NPM_TOKEN} \ No newline at end of file diff --git a/demos/test-convert/.gitignore b/demos/test-convert/.gitignore new file mode 100644 index 0000000..d029ecf --- /dev/null +++ b/demos/test-convert/.gitignore @@ -0,0 +1,2 @@ +files/* +!files/test.pcm diff --git a/demos/test-convert/files/test.pcm b/demos/test-convert/files/test.pcm new file mode 100644 index 0000000000000000000000000000000000000000..e5194ef726f42545b8adbfc6ad2b1c9836c90ecc GIT binary patch literal 129600 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 (https://www.xiongxiao.me)", + "license": "MIT", + "packageManager": "pnpm@10.6.2", + "type": "module", + "devDependencies": { + "@types/node": "^22.14.1", + "tsup": "^8.4.0", + "typescript": "^5.8.3" + }, + "exports": { + ".": "./dist/index.mjs" + }, + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..4a4e247 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1102 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@types/node': + specifier: ^22.14.1 + version: 22.14.1 + tsup: + specifier: ^8.4.0 + version: 8.4.0(typescript@5.8.3) + typescript: + specifier: ^5.8.3 + version: 5.8.3 + +packages: + + '@esbuild/aix-ppc64@0.25.2': + resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.2': + resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.2': + resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.2': + resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.2': + resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.2': + resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.2': + resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.2': + resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.2': + resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.2': + resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.2': + resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.2': + resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.2': + resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.2': + resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.2': + resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.2': + resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.2': + resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.2': + resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.2': + resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.2': + resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.2': + resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.25.2': + resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.2': + resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.2': + resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.2': + resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@rollup/rollup-android-arm-eabi@4.40.0': + resolution: {integrity: sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.40.0': + resolution: {integrity: sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.40.0': + resolution: {integrity: sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.40.0': + resolution: {integrity: sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.40.0': + resolution: {integrity: sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.40.0': + resolution: {integrity: sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.40.0': + resolution: {integrity: sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.40.0': + resolution: {integrity: sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.40.0': + resolution: {integrity: sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.40.0': + resolution: {integrity: sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.40.0': + resolution: {integrity: sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': + resolution: {integrity: sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.40.0': + resolution: {integrity: sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.40.0': + resolution: {integrity: sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.40.0': + resolution: {integrity: sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.40.0': + resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.40.0': + resolution: {integrity: sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.40.0': + resolution: {integrity: sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.40.0': + resolution: {integrity: sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.40.0': + resolution: {integrity: sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==} + cpu: [x64] + os: [win32] + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + + '@types/node@22.14.1': + resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + esbuild@0.25.2: + resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} + engines: {node: '>=18'} + hasBin: true + + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + rollup@4.40.0: + resolution: {integrity: sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsup@8.4.0: + resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + +snapshots: + + '@esbuild/aix-ppc64@0.25.2': + optional: true + + '@esbuild/android-arm64@0.25.2': + optional: true + + '@esbuild/android-arm@0.25.2': + optional: true + + '@esbuild/android-x64@0.25.2': + optional: true + + '@esbuild/darwin-arm64@0.25.2': + optional: true + + '@esbuild/darwin-x64@0.25.2': + optional: true + + '@esbuild/freebsd-arm64@0.25.2': + optional: true + + '@esbuild/freebsd-x64@0.25.2': + optional: true + + '@esbuild/linux-arm64@0.25.2': + optional: true + + '@esbuild/linux-arm@0.25.2': + optional: true + + '@esbuild/linux-ia32@0.25.2': + optional: true + + '@esbuild/linux-loong64@0.25.2': + optional: true + + '@esbuild/linux-mips64el@0.25.2': + optional: true + + '@esbuild/linux-ppc64@0.25.2': + optional: true + + '@esbuild/linux-riscv64@0.25.2': + optional: true + + '@esbuild/linux-s390x@0.25.2': + optional: true + + '@esbuild/linux-x64@0.25.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.2': + optional: true + + '@esbuild/netbsd-x64@0.25.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.2': + optional: true + + '@esbuild/openbsd-x64@0.25.2': + optional: true + + '@esbuild/sunos-x64@0.25.2': + optional: true + + '@esbuild/win32-arm64@0.25.2': + optional: true + + '@esbuild/win32-ia32@0.25.2': + optional: true + + '@esbuild/win32-x64@0.25.2': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rollup/rollup-android-arm-eabi@4.40.0': + optional: true + + '@rollup/rollup-android-arm64@4.40.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.40.0': + optional: true + + '@rollup/rollup-darwin-x64@4.40.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.40.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.40.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.40.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.40.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.40.0': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.40.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.40.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.40.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.40.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.40.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.40.0': + optional: true + + '@types/estree@1.0.7': {} + + '@types/node@22.14.1': + dependencies: + undici-types: 6.21.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + balanced-match@1.0.2: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + bundle-require@5.1.0(esbuild@0.25.2): + dependencies: + esbuild: 0.25.2 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@4.1.1: {} + + consola@3.4.2: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + esbuild@0.25.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.2 + '@esbuild/android-arm': 0.25.2 + '@esbuild/android-arm64': 0.25.2 + '@esbuild/android-x64': 0.25.2 + '@esbuild/darwin-arm64': 0.25.2 + '@esbuild/darwin-x64': 0.25.2 + '@esbuild/freebsd-arm64': 0.25.2 + '@esbuild/freebsd-x64': 0.25.2 + '@esbuild/linux-arm': 0.25.2 + '@esbuild/linux-arm64': 0.25.2 + '@esbuild/linux-ia32': 0.25.2 + '@esbuild/linux-loong64': 0.25.2 + '@esbuild/linux-mips64el': 0.25.2 + '@esbuild/linux-ppc64': 0.25.2 + '@esbuild/linux-riscv64': 0.25.2 + '@esbuild/linux-s390x': 0.25.2 + '@esbuild/linux-x64': 0.25.2 + '@esbuild/netbsd-arm64': 0.25.2 + '@esbuild/netbsd-x64': 0.25.2 + '@esbuild/openbsd-arm64': 0.25.2 + '@esbuild/openbsd-x64': 0.25.2 + '@esbuild/sunos-x64': 0.25.2 + '@esbuild/win32-arm64': 0.25.2 + '@esbuild/win32-ia32': 0.25.2 + '@esbuild/win32-x64': 0.25.2 + + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fsevents@2.3.3: + optional: true + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + is-fullwidth-code-point@3.0.0: {} + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + joycon@3.1.1: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + load-tsconfig@0.2.5: {} + + lodash.sortby@4.7.0: {} + + lru-cache@10.4.3: {} + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + object-assign@4.1.1: {} + + package-json-from-dist@1.0.1: {} + + path-key@3.1.1: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + picocolors@1.1.1: {} + + picomatch@4.0.2: {} + + pirates@4.0.7: {} + + postcss-load-config@6.0.1: + dependencies: + lilconfig: 3.1.3 + + punycode@2.3.1: {} + + readdirp@4.1.2: {} + + resolve-from@5.0.0: {} + + rollup@4.40.0: + dependencies: + '@types/estree': 1.0.7 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.40.0 + '@rollup/rollup-android-arm64': 4.40.0 + '@rollup/rollup-darwin-arm64': 4.40.0 + '@rollup/rollup-darwin-x64': 4.40.0 + '@rollup/rollup-freebsd-arm64': 4.40.0 + '@rollup/rollup-freebsd-x64': 4.40.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.40.0 + '@rollup/rollup-linux-arm-musleabihf': 4.40.0 + '@rollup/rollup-linux-arm64-gnu': 4.40.0 + '@rollup/rollup-linux-arm64-musl': 4.40.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.40.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.40.0 + '@rollup/rollup-linux-riscv64-gnu': 4.40.0 + '@rollup/rollup-linux-riscv64-musl': 4.40.0 + '@rollup/rollup-linux-s390x-gnu': 4.40.0 + '@rollup/rollup-linux-x64-gnu': 4.40.0 + '@rollup/rollup-linux-x64-musl': 4.40.0 + '@rollup/rollup-win32-arm64-msvc': 4.40.0 + '@rollup/rollup-win32-ia32-msvc': 4.40.0 + '@rollup/rollup-win32-x64-msvc': 4.40.0 + fsevents: 2.3.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@4.1.0: {} + + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tinyexec@0.3.2: {} + + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + + ts-interface-checker@0.1.13: {} + + tsup@8.4.0(typescript@5.8.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.2) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.0 + esbuild: 0.25.2 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1 + resolve-from: 5.0.0 + rollup: 4.40.0 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.12 + tree-kill: 1.2.2 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + typescript@5.8.3: {} + + undici-types@6.21.0: {} + + webidl-conversions@4.0.2: {} + + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..adc5a61 --- /dev/null +++ b/readme.md @@ -0,0 +1,2 @@ +# kevisual videos + diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..349da9d --- /dev/null +++ b/src/index.ts @@ -0,0 +1,3 @@ +import { encodeWav, decodeWav } from './wav-converter/index.ts'; + +export { encodeWav, decodeWav }; diff --git a/src/wav-converter/index.ts b/src/wav-converter/index.ts new file mode 100644 index 0000000..aeaa3d4 --- /dev/null +++ b/src/wav-converter/index.ts @@ -0,0 +1,69 @@ +type EncodeWavOptions = { + numChannels?: number; + sampleRate?: number; + byteRate?: number; +}; + +/** + * 编码pcm文件为wav文件 + * @param rawPCM + * @param options + * @returns + */ +export function encodeWav(rawPCM: Buffer | string, options?: EncodeWavOptions) { + if (typeof rawPCM === 'string') { + rawPCM = Buffer.from(rawPCM, 'binary'); + } + + if (!Buffer.isBuffer(rawPCM)) { + throw new TypeError('pcm data must be Buffer or string'); + } + const opt = options || {}; + const sampleRate = opt.sampleRate || 16000; + const numChannels = opt.numChannels || 1; + const byteRate = opt.byteRate || 16; + + const buf = rawPCM; + const header = Buffer.alloc(44); + + header.write('RIFF', 0); + header.writeUInt32LE(buf.length, 4); + header.write('WAVE', 8); + header.write('fmt ', 12); + header.writeUInt8(16, 16); + header.writeUInt8(1, 20); + header.writeUInt8(numChannels, 22); + header.writeUInt32LE(sampleRate, 24); + header.writeUInt32LE(byteRate, 28); + header.writeUInt8(4, 32); + header.writeUInt8(16, 34); + header.write('data', 36); + header.writeUInt32LE(buf.length + 44 - 8, 40); + + return Buffer.concat([header, buf]); +} + +/** + * 解码wav文件 + * @param rawWav + * @returns + */ +export function decodeWav(rawWav: Buffer | string) { + if (typeof rawWav === 'string') { + rawWav = Buffer.from(rawWav, 'binary'); + } + + if (!Buffer.isBuffer(rawWav)) { + throw new TypeError('pcm data must be Buffer or string'); + } + + // remove the header of pcm format + rawWav = rawWav.subarray(44); + + return rawWav; +} + +export const converter = { + encodeWav, + decodeWav, +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f2f64bf --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,34 @@ + +{ + "compilerOptions": { + "module": "NodeNext", + "target": "esnext", + "noImplicitAny": false, + "outDir": "./dist", + "sourceMap": false, + "allowJs": true, + "newLine": "LF", + "baseUrl": "./", + "typeRoots": [ + "node_modules/@types", + ], + "declaration": false, + "noEmit": true, + "allowImportingTsExtensions": true, + "moduleResolution": "NodeNext", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "paths": { + "@/*": [ + "src/*" + ], + } + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules", + ] +} \ No newline at end of file diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 0000000..3c8d3f1 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from 'tsup'; +// import glob from 'fast-glob'; +// const services = glob.sync('src/services/*.ts'); + +const entrys = ['src/index.ts']; + +export default defineConfig({ + entry: entrys, + outExtension: ({ format }) => ({ + js: format === 'esm' ? '.mjs' : '.js', + }), + splitting: false, + sourcemap: false, + clean: true, + format: 'esm', + external: ['dotenv'], + dts: true, + outDir: 'dist', + tsconfig: 'tsconfig.json', +});