From 03c8d0b4a7e91ea7d983aeb62a6f5f067da05c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Vitor?= <61944386+Drack112@users.noreply.github.com> Date: Sun, 12 Jan 2025 17:37:32 -0300 Subject: [PATCH] feat: atualizar biblioteca de busca de letras para @faouzkk/lyrics-finder --- apps/web/package.json | 2 +- apps/web/src/server/modules/lyrics/index.ts | 8 +- pnpm-lock.yaml | 282 ++++++++++++++++++-- 3 files changed, 260 insertions(+), 32 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index fdbea1f..f1c6c94 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -29,12 +29,12 @@ "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", + "@faouzkk/lyrics-finder": "^1.0.3", "@formkit/auto-animate": "^0.8.2", "@headlessui/react": "^2.1.1", "@heroicons/react": "^2.1.4", "@hookform/resolvers": "^3.9.0", "@iconify/react": "^5.0.2", - "@jeve/lyrics-finder": "^1.0.1", "@libsql/client": "^0.14.0", "@paralleldrive/cuid2": "^2.2.2", "@radix-ui/react-select": "^2.1.3", diff --git a/apps/web/src/server/modules/lyrics/index.ts b/apps/web/src/server/modules/lyrics/index.ts index 896da11..2db6348 100644 --- a/apps/web/src/server/modules/lyrics/index.ts +++ b/apps/web/src/server/modules/lyrics/index.ts @@ -2,10 +2,8 @@ // @ts-ignore-next-line import { logger } from '@/server/logger' - import type { GetLyricsOptions } from './types' - -import lyricsFinder from '@jeve/lyrics-finder' +import lyrics from '@faouzkk/lyrics-finder' const getLyrics = async (args: Pick) => { const [title, artist] = `${args.title}▲${args.artist}` @@ -20,7 +18,9 @@ const getLyrics = async (args: Pick) => { logger.info(`Fetching lyrics for ${title} by ${artist}`) - return await lyricsFinder.LyricsFinder(`${title} ${artist}`) + const response = await lyrics(`${artist} ${title}`) + console.log(response) + return response } export { getLyrics } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f53bab..dc48fe4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,6 +83,9 @@ importers: '@dnd-kit/utilities': specifier: ^3.2.2 version: 3.2.2(react@18.3.1) + '@faouzkk/lyrics-finder': + specifier: ^1.0.3 + version: 1.0.3(@babel/core@7.26.0)(@types/pg@8.11.10)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(graphql-scalars@1.24.0(graphql@16.10.0))(node-fetch@3.3.2)(pg@8.13.1)(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3)))(typescript@5.7.3) '@formkit/auto-animate': specifier: ^0.8.2 version: 0.8.2 @@ -98,9 +101,6 @@ importers: '@iconify/react': specifier: ^5.0.2 version: 5.2.0(react@18.3.1) - '@jeve/lyrics-finder': - specifier: ^1.0.1 - version: 1.0.1 '@libsql/client': specifier: ^0.14.0 version: 0.14.0 @@ -1880,6 +1880,9 @@ packages: resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@faouzkk/lyrics-finder@1.0.3': + resolution: {integrity: sha512-SKnVnUcUO/WOPg7HzkBSXEDjBxvKCdrLIHLr0BGdLDsyrrKyPeI+F7jMdzKzc+EOYZ3K6Qfn7mN8jFYAmKnPZw==} + '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} @@ -2366,9 +2369,6 @@ packages: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jeve/lyrics-finder@1.0.1': - resolution: {integrity: sha512-yyg8D0hOqH/v268p5itfPQ0roTQPH6+J+9FOwTNMvXQoy+0WVnCsPExgiZ3r1k5HlK1JF+M+rWINqQl+gn9H8A==} - '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -3656,9 +3656,6 @@ packages: resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} - axios@0.26.1: - resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} - axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -3869,6 +3866,13 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -4432,6 +4436,9 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -5187,12 +5194,12 @@ packages: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} - html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} - htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -6003,6 +6010,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + music-web@file:apps/web: + resolution: {directory: apps/web, type: directory} + mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} @@ -6398,6 +6408,12 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@7.2.1: resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} @@ -9711,6 +9727,59 @@ snapshots: dependencies: levn: 0.4.1 + '@faouzkk/lyrics-finder@1.0.3(@babel/core@7.26.0)(@types/pg@8.11.10)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(graphql-scalars@1.24.0(graphql@16.10.0))(node-fetch@3.3.2)(pg@8.13.1)(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3)))(typescript@5.7.3)': + dependencies: + '@faouzkk/lyrics-finder': music-web@file:apps/web(@babel/core@7.26.0)(@types/pg@8.11.10)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(graphql-scalars@1.24.0(graphql@16.10.0))(node-fetch@3.3.2)(pg@8.13.1)(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3)))(typescript@5.7.3) + axios: 1.7.9 + cheerio: 1.0.0 + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@babel/core' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@emotion/is-prop-valid' + - '@libsql/client-wasm' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@opentelemetry/api' + - '@planetscale/database' + - '@playwright/test' + - '@prisma/client' + - '@simplewebauthn/browser' + - '@simplewebauthn/server' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/pg' + - '@types/react' + - '@types/react-dom' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - babel-plugin-macros + - babel-plugin-react-compiler + - better-sqlite3 + - bufferutil + - bun-types + - debug + - encoding + - expo-sqlite + - graphql-scalars + - knex + - kysely + - mysql2 + - node-fetch + - nodemailer + - pg + - postgres + - prisma + - sass + - sql.js + - sqlite3 + - supports-color + - tailwindcss + - typescript + - utf-8-validate + '@floating-ui/core@1.6.9': dependencies: '@floating-ui/utils': 0.2.9 @@ -10431,13 +10500,6 @@ snapshots: dependencies: '@sinclair/typebox': 0.27.8 - '@jeve/lyrics-finder@1.0.1': - dependencies: - axios: 0.26.1 - html-entities: 2.5.2 - transitivePeerDependencies: - - debug - '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -11790,12 +11852,6 @@ snapshots: axe-core@4.10.2: {} - axios@0.26.1: - dependencies: - follow-redirects: 1.15.9 - transitivePeerDependencies: - - debug - axios@1.7.9: dependencies: follow-redirects: 1.15.9 @@ -12144,6 +12200,29 @@ snapshots: dependencies: get-func-name: 2.0.2 + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 6.21.0 + whatwg-mimetype: 4.0.0 + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -12585,6 +12664,11 @@ snapshots: encodeurl@2.0.0: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -13624,8 +13708,6 @@ snapshots: dependencies: whatwg-encoding: 3.1.1 - html-entities@2.5.2: {} - htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 @@ -13633,6 +13715,13 @@ snapshots: domutils: 3.2.2 entities: 4.5.0 + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + http-cache-semantics@4.1.1: {} http-errors@1.7.3: @@ -14444,6 +14533,136 @@ snapshots: ms@2.1.3: {} + music-web@file:apps/web(@babel/core@7.26.0)(@types/pg@8.11.10)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(graphql-scalars@1.24.0(graphql@16.10.0))(node-fetch@3.3.2)(pg@8.13.1)(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3)))(typescript@5.7.3): + dependencies: + '@apollo/cache-control-types': 1.0.3(graphql@16.10.0) + '@apollo/server': 4.11.3(encoding@0.1.13)(graphql@16.10.0) + '@apollo/server-plugin-response-cache': 4.1.4(@apollo/server@4.11.3(encoding@0.1.13)(graphql@16.10.0))(graphql@16.10.0) + '@as-integrations/next': 3.2.0(@apollo/server@4.11.3(encoding@0.1.13)(graphql@16.10.0))(next@15.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@auth/core': 0.37.4 + '@auth/drizzle-adapter': 1.7.4 + '@auth/upstash-redis-adapter': 2.7.4(@upstash/redis@1.34.3) + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@formkit/auto-animate': 0.8.2 + '@headlessui/react': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@heroicons/react': 2.2.0(react@18.3.1) + '@hookform/resolvers': 3.10.0(react-hook-form@7.51.3(react@18.3.1)) + '@iconify/react': 5.2.0(react@18.3.1) + '@libsql/client': 0.14.0 + '@paralleldrive/cuid2': 2.2.2 + '@radix-ui/react-select': 2.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3))) + '@tailwindcss/line-clamp': 0.4.4(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3))) + '@tanstack/react-query': 5.63.0(react@18.3.1) + '@types/argon2': 0.15.4 + '@upstash/redis': 1.34.3 + argon2: 0.41.1 + async-g-i-s: 1.5.5(node-fetch@3.3.2) + aws-sdk: 2.1692.0 + axios: 1.7.9 + class-validator: 0.14.1 + class-variance-authority: 0.7.1 + clsx: 2.1.1 + common-tags: 1.8.2 + cors: 2.8.5 + critters: 0.0.25 + date-fns: 3.6.0 + dotenv: 16.4.7 + drizzle-orm: 0.38.3(@libsql/client@0.14.0)(@types/pg@8.11.10)(@types/react@18.3.3)(pg@8.13.1)(react@18.3.1) + framer-motion: 11.16.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fuse.js: 7.0.0 + genius-lyrics: 4.4.7 + get-artist-title: 1.3.1 + get-youtube-id: 1.0.1 + graphql: 16.10.0 + graphql-request: 7.1.2(graphql@16.10.0) + https-proxy-agent: 7.0.6 + immer: 10.1.1 + is-mobile: 4.0.0 + lexorank: 1.0.5 + lodash: 4.17.21 + lru-cache: 11.0.2 + lucide-react: 0.428.0(react@18.3.1) + micro: 10.0.1 + mock-aws-s3: 4.0.2 + music-shared: link:packages/shared + next: 15.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-auth: 5.0.0-beta.15(next@15.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + next-nprogress-bar: 2.4.3 + next-seo: 6.6.0(next@15.1.4(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + nock: 13.5.6 + pino: 8.21.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-hook-form: 7.51.3(react@18.3.1) + react-hotkeys-hook: 4.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-player: 2.16.0(react@18.3.1) + reflect-metadata: 0.2.2 + simplebar-core: 1.3.0 + simplebar-react: 3.3.0(react@18.3.1) + sonner: 1.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + soundcloud.ts: 0.5.5 + spotify-uri: 4.1.0 + spotify-url-info: 3.2.18 + tailwind-merge: 2.6.0 + tailwindcss-animate: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.1(@types/node@20.14.9)(typescript@5.7.3))) + type-graphql: 2.0.0-rc.1(class-validator@0.14.1)(graphql-scalars@1.24.0(graphql@16.10.0))(graphql@16.10.0) + undici: 7.2.1 + usehooks-ts: 3.1.0(react@18.3.1) + valibot: 0.41.0(typescript@5.7.3) + youtubei: 1.6.7(encoding@0.1.13) + zustand: 4.5.6(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + transitivePeerDependencies: + - '@aws-sdk/client-rds-data' + - '@babel/core' + - '@cloudflare/workers-types' + - '@electric-sql/pglite' + - '@emotion/is-prop-valid' + - '@libsql/client-wasm' + - '@neondatabase/serverless' + - '@op-engineering/op-sqlite' + - '@opentelemetry/api' + - '@planetscale/database' + - '@playwright/test' + - '@prisma/client' + - '@simplewebauthn/browser' + - '@simplewebauthn/server' + - '@tidbcloud/serverless' + - '@types/better-sqlite3' + - '@types/pg' + - '@types/react' + - '@types/react-dom' + - '@types/sql.js' + - '@vercel/postgres' + - '@xata.io/client' + - babel-plugin-macros + - babel-plugin-react-compiler + - better-sqlite3 + - bufferutil + - bun-types + - debug + - encoding + - expo-sqlite + - graphql-scalars + - knex + - kysely + - mysql2 + - node-fetch + - nodemailer + - pg + - postgres + - prisma + - sass + - sql.js + - sqlite3 + - supports-color + - tailwindcss + - typescript + - utf-8-validate + mute-stream@0.0.8: {} mz@2.7.0: @@ -14957,6 +15176,15 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.2.1 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.2.1 + parse5@7.2.1: dependencies: entities: 4.5.0