diff --git a/.node-version b/.node-version index ab44d29..66e5bff 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -22.10.0 +22.12.0 diff --git a/Dockerfile b/Dockerfile index 01a482c..16715a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.10.0-alpine3.20 AS cache +FROM node:22.12.0-alpine3.21 AS cache WORKDIR /cache @@ -6,18 +6,16 @@ COPY package.json . COPY pnpm-lock.yaml . COPY patches ./patches -RUN corepack enable -RUN pnpm install +RUN corepack enable && pnpm install --frozen-lockfile --prod # main image -FROM node:22.10.0-alpine3.20 +FROM node:22.12.0-alpine3.21 WORKDIR /app COPY --from=cache /cache/node_modules /app/node_modules COPY . . RUN apk add --no-cache ffmpeg -RUN corepack enable -RUN pnpm build +RUN corepack enable && pnpm build CMD [ "pnpm", "start" ] diff --git a/package.json b/package.json index c8a9a63..491916a 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,8 @@ "dependencies": { "@discord-player/extractor": "^4.5.1", "@evan/opus": "^1.0.3", + "@swc/cli": "^0.5.2", + "@swc/core": "^1.10.1", "anilist": "^0.12.4", "axios": "^1.7.9", "chalk": "^5.3.0", @@ -55,8 +57,6 @@ "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.16.0", - "@swc/cli": "^0.5.2", - "@swc/core": "^1.10.0", "@types/ms": "^0.7.34", "@types/node": "^22.10.1", "@typescript-eslint/eslint-plugin": "^8.17.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6176f2..2f402aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,6 +22,12 @@ importers: '@evan/opus': specifier: ^1.0.3 version: 1.0.3 + '@swc/cli': + specifier: ^0.5.2 + version: 0.5.2(@swc/core@1.10.1)(chokidar@4.0.1) + '@swc/core': + specifier: ^1.10.1 + version: 1.10.1 anilist: specifier: ^0.12.4 version: 0.12.4 @@ -65,12 +71,6 @@ importers: '@eslint/js': specifier: ^9.16.0 version: 9.16.0 - '@swc/cli': - specifier: ^0.5.2 - version: 0.5.2(@swc/core@1.10.0)(chokidar@4.0.1) - '@swc/core': - specifier: ^1.10.0 - version: 1.10.0 '@types/ms': specifier: ^0.7.34 version: 0.7.34 @@ -858,68 +858,68 @@ packages: chokidar: optional: true - '@swc/core-darwin-arm64@1.10.0': - resolution: {integrity: sha512-wCeUpanqZyzvgqWRtXIyhcFK3CqukAlYyP+fJpY2gWc/+ekdrenNIfZMwY7tyTFDkXDYEKzvn3BN/zDYNJFowQ==} + '@swc/core-darwin-arm64@1.10.1': + resolution: {integrity: sha512-NyELPp8EsVZtxH/mEqvzSyWpfPJ1lugpTQcSlMduZLj1EASLO4sC8wt8hmL1aizRlsbjCX+r0PyL+l0xQ64/6Q==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.10.0': - resolution: {integrity: sha512-0CZPzqTynUBO+SHEl/qKsFSahp2Jv/P2ZRjFG0gwZY5qIcr1+B/v+o74/GyNMBGz9rft+F2WpU31gz2sJwyF4A==} + '@swc/core-darwin-x64@1.10.1': + resolution: {integrity: sha512-L4BNt1fdQ5ZZhAk5qoDfUnXRabDOXKnXBxMDJ+PWLSxOGBbWE6aJTnu4zbGjJvtot0KM46m2LPAPY8ttknqaZA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.10.0': - resolution: {integrity: sha512-oq+DdMu5uJOFPtRkeiITc4kxmd+QSmK+v+OBzlhdGkSgoH3yRWZP+H2ao0cBXo93ZgCr2LfjiER0CqSKhjGuNA==} + '@swc/core-linux-arm-gnueabihf@1.10.1': + resolution: {integrity: sha512-Y1u9OqCHgvVp2tYQAJ7hcU9qO5brDMIrA5R31rwWQIAKDkJKtv3IlTHF0hrbWk1wPR0ZdngkQSJZple7G+Grvw==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.10.0': - resolution: {integrity: sha512-Y6+PC8knchEViRxiCUj3j8wsGXaIhuvU+WqrFqV834eiItEMEI9+Vh3FovqJMBE3L7d4E4ZQtgImHCXjrHfxbw==} + '@swc/core-linux-arm64-gnu@1.10.1': + resolution: {integrity: sha512-tNQHO/UKdtnqjc7o04iRXng1wTUXPgVd8Y6LI4qIbHVoVPwksZydISjMcilKNLKIwOoUQAkxyJ16SlOAeADzhQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.10.0': - resolution: {integrity: sha512-EbrX9A5U4cECCQQfky7945AW9GYnTXtCUXElWTkTYmmyQK87yCyFfY8hmZ9qMFIwxPOH6I3I2JwMhzdi8Qoz7g==} + '@swc/core-linux-arm64-musl@1.10.1': + resolution: {integrity: sha512-x0L2Pd9weQ6n8dI1z1Isq00VHFvpBClwQJvrt3NHzmR+1wCT/gcYl1tp9P5xHh3ldM8Cn4UjWCw+7PaUgg8FcQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.10.0': - resolution: {integrity: sha512-TaxpO6snTjjfLXFYh5EjZ78se69j2gDcqEM8yB9gguPYwkCHi2Ylfmh7iVaNADnDJFtjoAQp0L41bTV/Pfq9Cg==} + '@swc/core-linux-x64-gnu@1.10.1': + resolution: {integrity: sha512-yyYEwQcObV3AUsC79rSzN9z6kiWxKAVJ6Ntwq2N9YoZqSPYph+4/Am5fM1xEQYf/kb99csj0FgOelomJSobxQA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.10.0': - resolution: {integrity: sha512-IEGvDd6aEEKEyZFZ8oCKuik05G5BS7qwG5hO5PEMzdGeh8JyFZXxsfFXbfeAqjue4UaUUrhnoX+Ze3M2jBVMHw==} + '@swc/core-linux-x64-musl@1.10.1': + resolution: {integrity: sha512-tcaS43Ydd7Fk7sW5ROpaf2Kq1zR+sI5K0RM+0qYLYYurvsJruj3GhBCaiN3gkzd8m/8wkqNqtVklWaQYSDsyqA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.10.0': - resolution: {integrity: sha512-UkQ952GSpY+Z6XONj9GSW8xGSkF53jrCsuLj0nrcuw7Dvr1a816U/9WYZmmcYS8tnG2vHylhpm6csQkyS8lpCw==} + '@swc/core-win32-arm64-msvc@1.10.1': + resolution: {integrity: sha512-D3Qo1voA7AkbOzQ2UGuKNHfYGKL6eejN8VWOoQYtGHHQi1p5KK/Q7V1ku55oxXBsj79Ny5FRMqiRJpVGad7bjQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.10.0': - resolution: {integrity: sha512-a2QpIZmTiT885u/mUInpeN2W9ClCnqrV2LnMqJR1/Fgx1Afw/hAtiDZPtQ0SqS8yDJ2VR5gfNZo3gpxWMrqdVA==} + '@swc/core-win32-ia32-msvc@1.10.1': + resolution: {integrity: sha512-WalYdFoU3454Og+sDKHM1MrjvxUGwA2oralknXkXL8S0I/8RkWZOB++p3pLaGbTvOO++T+6znFbQdR8KRaa7DA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.10.0': - resolution: {integrity: sha512-tZcCmMwf483nwsEBfUk5w9e046kMa1iSik4bP9Kwi2FGtOfHuDfIcwW4jek3hdcgF5SaBW1ktnK/lgQLDi5AtA==} + '@swc/core-win32-x64-msvc@1.10.1': + resolution: {integrity: sha512-JWobfQDbTnoqaIwPKQ3DVSywihVXlQMbDuwik/dDWlj33A8oEHcjPOGs4OqcA3RHv24i+lfCQpM3Mn4FAMfacA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.10.0': - resolution: {integrity: sha512-+CuuTCmQFfzaNGg1JmcZvdUVITQXJk9sMnl1C2TiDLzOSVOJRwVD4dNo5dljX/qxpMAN+2BIYlwjlSkoGi6grg==} + '@swc/core@1.10.1': + resolution: {integrity: sha512-rQ4dS6GAdmtzKiCRt3LFVxl37FaY1cgL9kSUTnhQ2xc3fmHOd7jdJK/V4pSZMG1ruGTd0bsi34O2R0Olg9Zo/w==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1270,10 +1270,6 @@ packages: cron@3.2.1: resolution: {integrity: sha512-w2n5l49GMmmkBFEsH9FIDhjZ1n1QgTMOCMGuQtOXs5veNiosZmso6bQGuqOJSYAXXrG84WQFVneNk+Yt0Ua9iw==} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1962,10 +1958,6 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.53.0: - resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -2205,8 +2197,8 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - piscina@4.7.0: - resolution: {integrity: sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==} + piscina@4.8.0: + resolution: {integrity: sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==} postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} @@ -2472,8 +2464,8 @@ packages: standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - streamx@2.21.0: - resolution: {integrity: sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==} + streamx@2.21.1: + resolution: {integrity: sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -2527,8 +2519,8 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} - text-decoder@1.2.2: - resolution: {integrity: sha512-/MDslo7ZyWTA2vnk1j7XoDVfXsGk3tp+zFEJHJGm0UjIlQifonVFwlVbQDFh8KJzTBnT8ie115TYqir6bclddA==} + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -3176,66 +3168,66 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@swc/cli@0.5.2(@swc/core@1.10.0)(chokidar@4.0.1)': + '@swc/cli@0.5.2(@swc/core@1.10.1)(chokidar@4.0.1)': dependencies: - '@swc/core': 1.10.0 + '@swc/core': 1.10.1 '@swc/counter': 0.1.3 '@xhmikosr/bin-wrapper': 13.0.5 commander: 8.3.0 fast-glob: 3.3.2 minimatch: 9.0.5 - piscina: 4.7.0 + piscina: 4.8.0 semver: 7.6.3 slash: 3.0.0 source-map: 0.7.4 optionalDependencies: chokidar: 4.0.1 - '@swc/core-darwin-arm64@1.10.0': + '@swc/core-darwin-arm64@1.10.1': optional: true - '@swc/core-darwin-x64@1.10.0': + '@swc/core-darwin-x64@1.10.1': optional: true - '@swc/core-linux-arm-gnueabihf@1.10.0': + '@swc/core-linux-arm-gnueabihf@1.10.1': optional: true - '@swc/core-linux-arm64-gnu@1.10.0': + '@swc/core-linux-arm64-gnu@1.10.1': optional: true - '@swc/core-linux-arm64-musl@1.10.0': + '@swc/core-linux-arm64-musl@1.10.1': optional: true - '@swc/core-linux-x64-gnu@1.10.0': + '@swc/core-linux-x64-gnu@1.10.1': optional: true - '@swc/core-linux-x64-musl@1.10.0': + '@swc/core-linux-x64-musl@1.10.1': optional: true - '@swc/core-win32-arm64-msvc@1.10.0': + '@swc/core-win32-arm64-msvc@1.10.1': optional: true - '@swc/core-win32-ia32-msvc@1.10.0': + '@swc/core-win32-ia32-msvc@1.10.1': optional: true - '@swc/core-win32-x64-msvc@1.10.0': + '@swc/core-win32-x64-msvc@1.10.1': optional: true - '@swc/core@1.10.0': + '@swc/core@1.10.1': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.10.0 - '@swc/core-darwin-x64': 1.10.0 - '@swc/core-linux-arm-gnueabihf': 1.10.0 - '@swc/core-linux-arm64-gnu': 1.10.0 - '@swc/core-linux-arm64-musl': 1.10.0 - '@swc/core-linux-x64-gnu': 1.10.0 - '@swc/core-linux-x64-musl': 1.10.0 - '@swc/core-win32-arm64-msvc': 1.10.0 - '@swc/core-win32-ia32-msvc': 1.10.0 - '@swc/core-win32-x64-msvc': 1.10.0 + '@swc/core-darwin-arm64': 1.10.1 + '@swc/core-darwin-x64': 1.10.1 + '@swc/core-linux-arm-gnueabihf': 1.10.1 + '@swc/core-linux-arm64-gnu': 1.10.1 + '@swc/core-linux-arm64-musl': 1.10.1 + '@swc/core-linux-x64-gnu': 1.10.1 + '@swc/core-linux-x64-musl': 1.10.1 + '@swc/core-win32-arm64-msvc': 1.10.1 + '@swc/core-win32-ia32-msvc': 1.10.1 + '@swc/core-win32-x64-msvc': 1.10.1 '@swc/counter@0.1.3': {} @@ -3652,12 +3644,6 @@ snapshots: '@types/luxon': 3.4.2 luxon: 3.5.0 - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4006,7 +3992,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -4021,7 +4007,7 @@ snapshots: ext-list@2.2.2: dependencies: - mime-db: 1.53.0 + mime-db: 1.52.0 ext-name@5.0.0: dependencies: @@ -4422,8 +4408,6 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.53.0: {} - mime-types@2.1.35: dependencies: mime-db: 1.52.0 @@ -4684,7 +4668,7 @@ snapshots: picomatch@2.3.1: {} - piscina@4.7.0: + piscina@4.8.0: optionalDependencies: '@napi-rs/nice': 1.0.1 @@ -4938,11 +4922,11 @@ snapshots: standard-as-callback@2.1.0: {} - streamx@2.21.0: + streamx@2.21.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - text-decoder: 1.2.2 + text-decoder: 1.2.3 optionalDependencies: bare-events: 2.5.0 @@ -5009,7 +4993,7 @@ snapshots: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.21.0 + streamx: 2.21.1 tar@6.2.1: dependencies: @@ -5021,7 +5005,7 @@ snapshots: yallist: 4.0.0 optional: true - text-decoder@1.2.2: + text-decoder@1.2.3: dependencies: b4a: 1.6.7