diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000..e97ea1bfab --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "tabWidth": 2, + "useTabs": false, + "singleQuote": true +} diff --git a/rollup.main.config.ts b/rollup.main.config.ts index 6980cc87ed..9836449c56 100644 --- a/rollup.main.config.ts +++ b/rollup.main.config.ts @@ -18,7 +18,7 @@ export default defineConfig({ nodeResolvePlugin({ browser: false, preferBuiltins: true, - exportConditions: ['node', 'default', 'module', 'import'] , + exportConditions: ['node', 'default', 'module', 'import'], }), commonjs({ ignoreDynamicRequires: true, @@ -34,7 +34,7 @@ export default defineConfig({ css(), copy({ targets: [ - { src: 'error.html', dest: 'dist/' }, + { src: 'src/error.html', dest: 'dist/' }, { src: 'assets', dest: 'dist/' }, ], }), @@ -47,18 +47,14 @@ export default defineConfig({ setTimeout(() => process.exit(0)); } }, - name: 'force-close' + name: 'force-close', }, ], - input: './index.ts', + input: './src/index.ts', output: { format: 'cjs', name: '[name].js', dir: './dist', }, - external: [ - 'electron', - 'custom-electron-prompt', - ...builtinModules, - ], + external: ['electron', 'custom-electron-prompt', ...builtinModules], }); diff --git a/rollup.preload.config.ts b/rollup.preload.config.ts index 86114b6770..0d55a91e89 100644 --- a/rollup.preload.config.ts +++ b/rollup.preload.config.ts @@ -41,18 +41,14 @@ export default defineConfig({ setTimeout(() => process.exit(0)); } }, - name: 'force-close' + name: 'force-close', }, ], - input: './preload.ts', + input: './src/preload.ts', output: { format: 'cjs', name: '[name].js', dir: './dist', }, - external: [ - 'electron', - 'custom-electron-prompt', - ...builtinModules, - ], + external: ['electron', 'custom-electron-prompt', ...builtinModules], }); diff --git a/config/defaults.ts b/src/config/defaults.ts similarity index 100% rename from config/defaults.ts rename to src/config/defaults.ts diff --git a/config/dynamic.ts b/src/config/dynamic.ts similarity index 100% rename from config/dynamic.ts rename to src/config/dynamic.ts diff --git a/config/index.ts b/src/config/index.ts similarity index 100% rename from config/index.ts rename to src/config/index.ts diff --git a/config/plugins.ts b/src/config/plugins.ts similarity index 100% rename from config/plugins.ts rename to src/config/plugins.ts diff --git a/config/store.ts b/src/config/store.ts similarity index 100% rename from config/store.ts rename to src/config/store.ts diff --git a/custom-electron-prompt.d.ts b/src/custom-electron-prompt.d.ts similarity index 100% rename from custom-electron-prompt.d.ts rename to src/custom-electron-prompt.d.ts diff --git a/error.html b/src/error.html similarity index 100% rename from error.html rename to src/error.html diff --git a/index.ts b/src/index.ts similarity index 100% rename from index.ts rename to src/index.ts diff --git a/menu.ts b/src/menu.ts similarity index 100% rename from menu.ts rename to src/menu.ts diff --git a/navigation.d.ts b/src/navigation.d.ts similarity index 100% rename from navigation.d.ts rename to src/navigation.d.ts diff --git a/plugins/adblocker/.gitignore b/src/plugins/adblocker/.gitignore similarity index 100% rename from plugins/adblocker/.gitignore rename to src/plugins/adblocker/.gitignore diff --git a/plugins/adblocker/back.ts b/src/plugins/adblocker/back.ts similarity index 100% rename from plugins/adblocker/back.ts rename to src/plugins/adblocker/back.ts diff --git a/plugins/adblocker/blocker-types.ts b/src/plugins/adblocker/blocker-types.ts similarity index 100% rename from plugins/adblocker/blocker-types.ts rename to src/plugins/adblocker/blocker-types.ts diff --git a/plugins/adblocker/blocker.ts b/src/plugins/adblocker/blocker.ts similarity index 100% rename from plugins/adblocker/blocker.ts rename to src/plugins/adblocker/blocker.ts diff --git a/plugins/adblocker/config.ts b/src/plugins/adblocker/config.ts similarity index 100% rename from plugins/adblocker/config.ts rename to src/plugins/adblocker/config.ts diff --git a/plugins/adblocker/inject-cliqz-preload.ts b/src/plugins/adblocker/inject-cliqz-preload.ts similarity index 100% rename from plugins/adblocker/inject-cliqz-preload.ts rename to src/plugins/adblocker/inject-cliqz-preload.ts diff --git a/plugins/adblocker/inject.d.ts b/src/plugins/adblocker/inject.d.ts similarity index 100% rename from plugins/adblocker/inject.d.ts rename to src/plugins/adblocker/inject.d.ts diff --git a/plugins/adblocker/inject.js b/src/plugins/adblocker/inject.js similarity index 100% rename from plugins/adblocker/inject.js rename to src/plugins/adblocker/inject.js diff --git a/plugins/adblocker/menu.ts b/src/plugins/adblocker/menu.ts similarity index 100% rename from plugins/adblocker/menu.ts rename to src/plugins/adblocker/menu.ts diff --git a/plugins/adblocker/preload.ts b/src/plugins/adblocker/preload.ts similarity index 100% rename from plugins/adblocker/preload.ts rename to src/plugins/adblocker/preload.ts diff --git a/plugins/album-color-theme/back.ts b/src/plugins/album-color-theme/back.ts similarity index 100% rename from plugins/album-color-theme/back.ts rename to src/plugins/album-color-theme/back.ts diff --git a/plugins/album-color-theme/front.ts b/src/plugins/album-color-theme/front.ts similarity index 100% rename from plugins/album-color-theme/front.ts rename to src/plugins/album-color-theme/front.ts diff --git a/plugins/album-color-theme/style.css b/src/plugins/album-color-theme/style.css similarity index 100% rename from plugins/album-color-theme/style.css rename to src/plugins/album-color-theme/style.css diff --git a/plugins/ambient-mode/back.ts b/src/plugins/ambient-mode/back.ts similarity index 100% rename from plugins/ambient-mode/back.ts rename to src/plugins/ambient-mode/back.ts diff --git a/plugins/ambient-mode/front.ts b/src/plugins/ambient-mode/front.ts similarity index 100% rename from plugins/ambient-mode/front.ts rename to src/plugins/ambient-mode/front.ts diff --git a/plugins/ambient-mode/style.css b/src/plugins/ambient-mode/style.css similarity index 100% rename from plugins/ambient-mode/style.css rename to src/plugins/ambient-mode/style.css diff --git a/plugins/audio-compressor/front.ts b/src/plugins/audio-compressor/front.ts similarity index 100% rename from plugins/audio-compressor/front.ts rename to src/plugins/audio-compressor/front.ts diff --git a/plugins/blur-nav-bar/back.ts b/src/plugins/blur-nav-bar/back.ts similarity index 100% rename from plugins/blur-nav-bar/back.ts rename to src/plugins/blur-nav-bar/back.ts diff --git a/plugins/blur-nav-bar/style.css b/src/plugins/blur-nav-bar/style.css similarity index 100% rename from plugins/blur-nav-bar/style.css rename to src/plugins/blur-nav-bar/style.css diff --git a/plugins/bypass-age-restrictions/front.ts b/src/plugins/bypass-age-restrictions/front.ts similarity index 100% rename from plugins/bypass-age-restrictions/front.ts rename to src/plugins/bypass-age-restrictions/front.ts diff --git a/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts b/src/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts similarity index 100% rename from plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts rename to src/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts diff --git a/plugins/captions-selector/back.ts b/src/plugins/captions-selector/back.ts similarity index 100% rename from plugins/captions-selector/back.ts rename to src/plugins/captions-selector/back.ts diff --git a/plugins/captions-selector/config.ts b/src/plugins/captions-selector/config.ts similarity index 100% rename from plugins/captions-selector/config.ts rename to src/plugins/captions-selector/config.ts diff --git a/plugins/captions-selector/front.ts b/src/plugins/captions-selector/front.ts similarity index 100% rename from plugins/captions-selector/front.ts rename to src/plugins/captions-selector/front.ts diff --git a/plugins/captions-selector/menu.ts b/src/plugins/captions-selector/menu.ts similarity index 100% rename from plugins/captions-selector/menu.ts rename to src/plugins/captions-selector/menu.ts diff --git a/plugins/captions-selector/templates/captions-settings-template.html b/src/plugins/captions-selector/templates/captions-settings-template.html similarity index 100% rename from plugins/captions-selector/templates/captions-settings-template.html rename to src/plugins/captions-selector/templates/captions-settings-template.html diff --git a/plugins/compact-sidebar/front.ts b/src/plugins/compact-sidebar/front.ts similarity index 100% rename from plugins/compact-sidebar/front.ts rename to src/plugins/compact-sidebar/front.ts diff --git a/plugins/crossfade/back.ts b/src/plugins/crossfade/back.ts similarity index 100% rename from plugins/crossfade/back.ts rename to src/plugins/crossfade/back.ts diff --git a/plugins/crossfade/config.ts b/src/plugins/crossfade/config.ts similarity index 100% rename from plugins/crossfade/config.ts rename to src/plugins/crossfade/config.ts diff --git a/plugins/crossfade/fader.ts b/src/plugins/crossfade/fader.ts similarity index 100% rename from plugins/crossfade/fader.ts rename to src/plugins/crossfade/fader.ts diff --git a/plugins/crossfade/front.ts b/src/plugins/crossfade/front.ts similarity index 100% rename from plugins/crossfade/front.ts rename to src/plugins/crossfade/front.ts diff --git a/plugins/crossfade/menu.ts b/src/plugins/crossfade/menu.ts similarity index 100% rename from plugins/crossfade/menu.ts rename to src/plugins/crossfade/menu.ts diff --git a/plugins/disable-autoplay/front.ts b/src/plugins/disable-autoplay/front.ts similarity index 100% rename from plugins/disable-autoplay/front.ts rename to src/plugins/disable-autoplay/front.ts diff --git a/plugins/disable-autoplay/menu.ts b/src/plugins/disable-autoplay/menu.ts similarity index 100% rename from plugins/disable-autoplay/menu.ts rename to src/plugins/disable-autoplay/menu.ts diff --git a/plugins/discord/back.ts b/src/plugins/discord/back.ts similarity index 100% rename from plugins/discord/back.ts rename to src/plugins/discord/back.ts diff --git a/plugins/discord/menu.ts b/src/plugins/discord/menu.ts similarity index 100% rename from plugins/discord/menu.ts rename to src/plugins/discord/menu.ts diff --git a/plugins/downloader/back.ts b/src/plugins/downloader/back.ts similarity index 84% rename from plugins/downloader/back.ts rename to src/plugins/downloader/back.ts index fe63d9bbfd..63cd7cde27 100644 --- a/plugins/downloader/back.ts +++ b/src/plugins/downloader/back.ts @@ -1,16 +1,32 @@ -import { createWriteStream, existsSync, mkdirSync, writeFileSync, } from 'node:fs'; +import { + createWriteStream, + existsSync, + mkdirSync, + writeFileSync, +} from 'node:fs'; import { join } from 'node:path'; import { randomBytes } from 'node:crypto'; import { app, BrowserWindow, dialog, ipcMain, net } from 'electron'; -import { ClientType, Innertube, UniversalCache, Utils, YTNodes } from 'youtubei.js'; +import { + ClientType, + Innertube, + UniversalCache, + Utils, + YTNodes, +} from 'youtubei.js'; import is from 'electron-is'; import filenamify from 'filenamify'; import { Mutex } from 'async-mutex'; import { createFFmpeg } from '@ffmpeg.wasm/main'; import NodeID3, { TagConstants } from 'node-id3'; -import { cropMaxWidth, getFolder, sendFeedback as sendFeedback_, setBadge } from './utils'; +import { + cropMaxWidth, + getFolder, + sendFeedback as sendFeedback_, + setBadge, +} from './utils'; import config from './config'; import { YoutubeFormatList, type Preset, DefaultPresetList } from './types'; @@ -34,10 +50,8 @@ type CustomSongInfo = SongInfo & { trackId?: string }; const ffmpeg = createFFmpeg({ log: false, - logger() { - }, // Console.log, - progress() { - }, // Console.log, + logger() {}, // Console.log, + progress() {}, // Console.log, }); const ffmpegMutex = new Mutex(); @@ -65,9 +79,13 @@ const sendError = (error: Error, source?: string) => { }; export const getCookieFromWindow = async (win: BrowserWindow) => { - return (await win.webContents.session.cookies.get({ url: 'https://music.youtube.com' })).map((it) => - it.name + '=' + it.value + ';' - ).join(''); + return ( + await win.webContents.session.cookies.get({ + url: 'https://music.youtube.com', + }) + ) + .map((it) => it.name + '=' + it.value + ';') + .join(''); }; export default async (win_: BrowserWindow) => { @@ -78,12 +96,13 @@ export default async (win_: BrowserWindow) => { cache: new UniversalCache(false), cookie: await getCookieFromWindow(win), generate_session_locally: true, - fetch: async (input: RequestInfo | URL, init?: RequestInit) => { + fetch: (async (input: RequestInfo | URL, init?: RequestInit) => { const url = - typeof input === 'string' ? - new URL(input) : - input instanceof URL ? - input : new URL(input.url); + typeof input === 'string' + ? new URL(input) + : input instanceof URL + ? input + : new URL(input.url); if (init?.body && !init.method) { init.method = 'POST'; @@ -95,7 +114,7 @@ export default async (win_: BrowserWindow) => { ); return net.fetch(request, init); - } + }) as typeof fetch, }); ipcMain.on('download-song', (_, url: string) => downloadSong(url)); ipcMain.on('video-src-changed', (_, data: GetPlayerResponse) => { @@ -110,15 +129,14 @@ export async function downloadSong( url: string, playlistFolder: string | undefined = undefined, trackId: string | undefined = undefined, - increasePlaylistProgress: (value: number) => void = () => { - }, + increasePlaylistProgress: (value: number) => void = () => {}, ) { let resolvedName; try { await downloadSongUnsafe( false, url, - (name: string) => resolvedName = name, + (name: string) => (resolvedName = name), playlistFolder, trackId, increasePlaylistProgress, @@ -132,15 +150,14 @@ export async function downloadSongFromId( id: string, playlistFolder: string | undefined = undefined, trackId: string | undefined = undefined, - increasePlaylistProgress: (value: number) => void = () => { - }, + increasePlaylistProgress: (value: number) => void = () => {}, ) { let resolvedName; try { await downloadSongUnsafe( true, id, - (name: string) => resolvedName = name, + (name: string) => (resolvedName = name), playlistFolder, trackId, increasePlaylistProgress, @@ -190,8 +207,8 @@ async function downloadSongUnsafe( metadata.trackId = trackId; - const dir - = playlistFolder || config.get('downloadFolder') || app.getPath('downloads'); + const dir = + playlistFolder || config.get('downloadFolder') || app.getPath('downloads'); const name = `${metadata.artist ? `${metadata.artist} - ` : ''}${ metadata.title }`; @@ -214,7 +231,8 @@ async function downloadSongUnsafe( } if (playabilityStatus.status === 'UNPLAYABLE') { - const errorScreen = playabilityStatus.error_screen as PlayerErrorMessage | null; + const errorScreen = + playabilityStatus.error_screen as PlayerErrorMessage | null; throw new Error( `[${playabilityStatus.status}] ${errorScreen?.reason.text}: ${errorScreen?.subreason.text}`, ); @@ -223,7 +241,8 @@ async function downloadSongUnsafe( const selectedPreset = config.get('selectedPreset') ?? 'mp3 (256kbps)'; let presetSetting: Preset; if (selectedPreset === 'Custom') { - presetSetting = config.get('customPresetSetting') ?? DefaultPresetList['Custom']; + presetSetting = + config.get('customPresetSetting') ?? DefaultPresetList['Custom']; } else if (selectedPreset === 'Source') { presetSetting = DefaultPresetList['Source']; } else { @@ -240,7 +259,9 @@ async function downloadSongUnsafe( let targetFileExtension: string; if (!presetSetting?.extension) { - targetFileExtension = YoutubeFormatList.find((it) => it.itag === format.itag)?.container ?? 'mp3'; + targetFileExtension = + YoutubeFormatList.find((it) => it.itag === format.itag)?.container ?? + 'mp3'; } else { targetFileExtension = presetSetting?.extension ?? 'mp3'; } @@ -285,7 +306,11 @@ async function downloadSongUnsafe( if (targetFileExtension !== 'mp3') { createWriteStream(filePath).write(fileBuffer); } else { - const buffer = await writeID3(Buffer.from(fileBuffer), metadata, sendFeedback); + const buffer = await writeID3( + Buffer.from(fileBuffer), + metadata, + sendFeedback, + ); if (buffer) { writeFileSync(filePath, buffer); } @@ -303,8 +328,7 @@ async function iterableStreamToTargetFile( presetFfmpegArgs: string[], contentLength: number, sendFeedback: (str: string, value?: number) => void, - increasePlaylistProgress: (value: number) => void = () => { - }, + increasePlaylistProgress: (value: number) => void = () => {}, ) { const chunks = []; let downloaded = 0; @@ -337,7 +361,7 @@ async function iterableStreamToTargetFile( ffmpeg.setProgress(({ ratio }) => { sendFeedback(`Converting: ${Math.floor(ratio * 100)}%`, ratio); - increasePlaylistProgress(0.15 + (ratio * 0.85)); + increasePlaylistProgress(0.15 + ratio * 0.85); }); const safeVideoNameWithExtension = `${safeVideoName}.${extension}`; @@ -372,7 +396,11 @@ const getCoverBuffer = cache(async (url: string) => { return nativeImage && !nativeImage.isEmpty() ? nativeImage.toPNG() : null; }); -async function writeID3(buffer: Buffer, metadata: CustomSongInfo, sendFeedback: (str: string, value?: number) => void) { +async function writeID3( + buffer: Buffer, + metadata: CustomSongInfo, + sendFeedback: (str: string, value?: number) => void, +) { try { sendFeedback('Writing ID3 tags...'); const tags: NodeID3.Tags = {}; @@ -425,10 +453,10 @@ export async function downloadPlaylist(givenUrl?: string | URL) { return; } - const playlistId - = getPlaylistID(givenUrl) - || getPlaylistID(new URL(win.webContents.getURL())) - || getPlaylistID(new URL(playingUrl)); + const playlistId = + getPlaylistID(givenUrl) || + getPlaylistID(new URL(win.webContents.getURL())) || + getPlaylistID(new URL(playingUrl)); if (!playlistId) { sendError(new Error('No playlist ID found')); @@ -444,7 +472,11 @@ export async function downloadPlaylist(givenUrl?: string | URL) { playlist = await yt.music.getPlaylist(playlistId); } catch (error: unknown) { sendError( - Error(`Error getting playlist info: make sure it isn't a private or "Mixed for you" playlist\n\n${String(error)}`), + Error( + `Error getting playlist info: make sure it isn't a private or "Mixed for you" playlist\n\n${String( + error, + )}`, + ), ); return; } @@ -461,15 +493,12 @@ export async function downloadPlaylist(givenUrl?: string | URL) { } const normalPlaylistTitle = playlist.header?.title?.text; - const playlistTitle = normalPlaylistTitle ?? - playlist - .page - .contents_memo + const playlistTitle = + normalPlaylistTitle ?? + playlist.page.contents_memo ?.get('MusicResponsiveListItemFlexColumn') ?.at(2) - ?.as(YTNodes.MusicResponsiveListItemFlexColumn) - ?.title - ?.text ?? + ?.as(YTNodes.MusicResponsiveListItemFlexColumn)?.title?.text ?? 'NO_TITLE'; const isAlbum = !normalPlaylistTitle; @@ -513,7 +542,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { const increaseProgress = (itemPercentage: number) => { const currentProgress = (counter - 1) / (items.length ?? 1); - const newProgress = currentProgress + (progressStep * itemPercentage); + const newProgress = currentProgress + progressStep * itemPercentage; win.setProgressBar(newProgress); }; @@ -528,7 +557,11 @@ export async function downloadPlaylist(givenUrl?: string | URL) { increaseProgress, ).catch((error) => sendError( - new Error(`Error downloading "${song.author!.name} - ${song.title!}":\n ${error}`) + new Error( + `Error downloading "${ + song.author!.name + } - ${song.title!}":\n ${error}`, + ), ), ); @@ -562,8 +595,8 @@ function getFFmpegMetadataArgs(metadata: CustomSongInfo) { const INVALID_PLAYLIST_MODIFIER = 'RDAMPL'; const getPlaylistID = (aURL: URL) => { - const result - = aURL?.searchParams.get('list') || aURL?.searchParams.get('playlist'); + const result = + aURL?.searchParams.get('list') || aURL?.searchParams.get('playlist'); if (result?.startsWith(INVALID_PLAYLIST_MODIFIER)) { return result.slice(INVALID_PLAYLIST_MODIFIER.length); } @@ -572,15 +605,18 @@ const getPlaylistID = (aURL: URL) => { }; const getVideoId = (url: URL | string): string | null => { - return (new URL(url)).searchParams.get('v'); + return new URL(url).searchParams.get('v'); }; const getMetadata = (info: TrackInfo): CustomSongInfo => ({ videoId: info.basic_info.id!, title: cleanupName(info.basic_info.title!), artist: cleanupName(info.basic_info.author!), - album: info.player_overlays?.browser_media_session?.as(YTNodes.BrowserMediaSession).album?.text, - imageSrc: info.basic_info.thumbnail?.find((t) => !t.url.endsWith('.webp'))?.url, + album: info.player_overlays?.browser_media_session?.as( + YTNodes.BrowserMediaSession, + ).album?.text, + imageSrc: info.basic_info.thumbnail?.find((t) => !t.url.endsWith('.webp')) + ?.url, views: info.basic_info.view_count!, songDuration: info.basic_info.duration!, }); diff --git a/plugins/downloader/config.ts b/src/plugins/downloader/config.ts similarity index 100% rename from plugins/downloader/config.ts rename to src/plugins/downloader/config.ts diff --git a/plugins/downloader/front.ts b/src/plugins/downloader/front.ts similarity index 100% rename from plugins/downloader/front.ts rename to src/plugins/downloader/front.ts diff --git a/plugins/downloader/menu.ts b/src/plugins/downloader/menu.ts similarity index 100% rename from plugins/downloader/menu.ts rename to src/plugins/downloader/menu.ts diff --git a/plugins/downloader/style.css b/src/plugins/downloader/style.css similarity index 100% rename from plugins/downloader/style.css rename to src/plugins/downloader/style.css diff --git a/plugins/downloader/templates/download.html b/src/plugins/downloader/templates/download.html similarity index 100% rename from plugins/downloader/templates/download.html rename to src/plugins/downloader/templates/download.html diff --git a/plugins/downloader/types.ts b/src/plugins/downloader/types.ts similarity index 100% rename from plugins/downloader/types.ts rename to src/plugins/downloader/types.ts diff --git a/plugins/downloader/utils.ts b/src/plugins/downloader/utils.ts similarity index 100% rename from plugins/downloader/utils.ts rename to src/plugins/downloader/utils.ts diff --git a/plugins/exponential-volume/front.ts b/src/plugins/exponential-volume/front.ts similarity index 100% rename from plugins/exponential-volume/front.ts rename to src/plugins/exponential-volume/front.ts diff --git a/plugins/in-app-menu/assets/close.svg b/src/plugins/in-app-menu/assets/close.svg similarity index 100% rename from plugins/in-app-menu/assets/close.svg rename to src/plugins/in-app-menu/assets/close.svg diff --git a/plugins/in-app-menu/assets/maximize.svg b/src/plugins/in-app-menu/assets/maximize.svg similarity index 100% rename from plugins/in-app-menu/assets/maximize.svg rename to src/plugins/in-app-menu/assets/maximize.svg diff --git a/plugins/in-app-menu/assets/menu.svg b/src/plugins/in-app-menu/assets/menu.svg similarity index 100% rename from plugins/in-app-menu/assets/menu.svg rename to src/plugins/in-app-menu/assets/menu.svg diff --git a/plugins/in-app-menu/assets/minimize.svg b/src/plugins/in-app-menu/assets/minimize.svg similarity index 100% rename from plugins/in-app-menu/assets/minimize.svg rename to src/plugins/in-app-menu/assets/minimize.svg diff --git a/plugins/in-app-menu/assets/unmaximize.svg b/src/plugins/in-app-menu/assets/unmaximize.svg similarity index 100% rename from plugins/in-app-menu/assets/unmaximize.svg rename to src/plugins/in-app-menu/assets/unmaximize.svg diff --git a/plugins/in-app-menu/back.ts b/src/plugins/in-app-menu/back.ts similarity index 100% rename from plugins/in-app-menu/back.ts rename to src/plugins/in-app-menu/back.ts diff --git a/plugins/in-app-menu/front.ts b/src/plugins/in-app-menu/front.ts similarity index 100% rename from plugins/in-app-menu/front.ts rename to src/plugins/in-app-menu/front.ts diff --git a/plugins/in-app-menu/menu/icons.ts b/src/plugins/in-app-menu/menu/icons.ts similarity index 100% rename from plugins/in-app-menu/menu/icons.ts rename to src/plugins/in-app-menu/menu/icons.ts diff --git a/plugins/in-app-menu/menu/panel.ts b/src/plugins/in-app-menu/menu/panel.ts similarity index 100% rename from plugins/in-app-menu/menu/panel.ts rename to src/plugins/in-app-menu/menu/panel.ts diff --git a/plugins/in-app-menu/titlebar.css b/src/plugins/in-app-menu/titlebar.css similarity index 100% rename from plugins/in-app-menu/titlebar.css rename to src/plugins/in-app-menu/titlebar.css diff --git a/plugins/last-fm/back.ts b/src/plugins/last-fm/back.ts similarity index 100% rename from plugins/last-fm/back.ts rename to src/plugins/last-fm/back.ts diff --git a/plugins/lumiastream/back.ts b/src/plugins/lumiastream/back.ts similarity index 100% rename from plugins/lumiastream/back.ts rename to src/plugins/lumiastream/back.ts diff --git a/plugins/lyrics-genius/back.ts b/src/plugins/lyrics-genius/back.ts similarity index 100% rename from plugins/lyrics-genius/back.ts rename to src/plugins/lyrics-genius/back.ts diff --git a/plugins/lyrics-genius/front.ts b/src/plugins/lyrics-genius/front.ts similarity index 100% rename from plugins/lyrics-genius/front.ts rename to src/plugins/lyrics-genius/front.ts diff --git a/plugins/lyrics-genius/menu.ts b/src/plugins/lyrics-genius/menu.ts similarity index 100% rename from plugins/lyrics-genius/menu.ts rename to src/plugins/lyrics-genius/menu.ts diff --git a/plugins/lyrics-genius/style.css b/src/plugins/lyrics-genius/style.css similarity index 100% rename from plugins/lyrics-genius/style.css rename to src/plugins/lyrics-genius/style.css diff --git a/plugins/lyrics-genius/types.ts b/src/plugins/lyrics-genius/types.ts similarity index 100% rename from plugins/lyrics-genius/types.ts rename to src/plugins/lyrics-genius/types.ts diff --git a/plugins/navigation/back.ts b/src/plugins/navigation/back.ts similarity index 100% rename from plugins/navigation/back.ts rename to src/plugins/navigation/back.ts diff --git a/plugins/navigation/front.ts b/src/plugins/navigation/front.ts similarity index 100% rename from plugins/navigation/front.ts rename to src/plugins/navigation/front.ts diff --git a/plugins/navigation/style.css b/src/plugins/navigation/style.css similarity index 100% rename from plugins/navigation/style.css rename to src/plugins/navigation/style.css diff --git a/plugins/navigation/templates/back.html b/src/plugins/navigation/templates/back.html similarity index 100% rename from plugins/navigation/templates/back.html rename to src/plugins/navigation/templates/back.html diff --git a/plugins/navigation/templates/forward.html b/src/plugins/navigation/templates/forward.html similarity index 100% rename from plugins/navigation/templates/forward.html rename to src/plugins/navigation/templates/forward.html diff --git a/plugins/no-google-login/back.ts b/src/plugins/no-google-login/back.ts similarity index 100% rename from plugins/no-google-login/back.ts rename to src/plugins/no-google-login/back.ts diff --git a/plugins/no-google-login/front.ts b/src/plugins/no-google-login/front.ts similarity index 100% rename from plugins/no-google-login/front.ts rename to src/plugins/no-google-login/front.ts diff --git a/plugins/no-google-login/style.css b/src/plugins/no-google-login/style.css similarity index 100% rename from plugins/no-google-login/style.css rename to src/plugins/no-google-login/style.css diff --git a/plugins/notifications/back.ts b/src/plugins/notifications/back.ts similarity index 100% rename from plugins/notifications/back.ts rename to src/plugins/notifications/back.ts diff --git a/plugins/notifications/config.ts b/src/plugins/notifications/config.ts similarity index 100% rename from plugins/notifications/config.ts rename to src/plugins/notifications/config.ts diff --git a/plugins/notifications/interactive.ts b/src/plugins/notifications/interactive.ts similarity index 100% rename from plugins/notifications/interactive.ts rename to src/plugins/notifications/interactive.ts diff --git a/plugins/notifications/menu.ts b/src/plugins/notifications/menu.ts similarity index 100% rename from plugins/notifications/menu.ts rename to src/plugins/notifications/menu.ts diff --git a/plugins/notifications/utils.ts b/src/plugins/notifications/utils.ts similarity index 100% rename from plugins/notifications/utils.ts rename to src/plugins/notifications/utils.ts diff --git a/plugins/picture-in-picture/back.ts b/src/plugins/picture-in-picture/back.ts similarity index 100% rename from plugins/picture-in-picture/back.ts rename to src/plugins/picture-in-picture/back.ts diff --git a/plugins/picture-in-picture/front.ts b/src/plugins/picture-in-picture/front.ts similarity index 100% rename from plugins/picture-in-picture/front.ts rename to src/plugins/picture-in-picture/front.ts diff --git a/plugins/picture-in-picture/keyboardevent-from-electron-accelerator.d.ts b/src/plugins/picture-in-picture/keyboardevent-from-electron-accelerator.d.ts similarity index 100% rename from plugins/picture-in-picture/keyboardevent-from-electron-accelerator.d.ts rename to src/plugins/picture-in-picture/keyboardevent-from-electron-accelerator.d.ts diff --git a/plugins/picture-in-picture/keyboardevents-areequal.d.ts b/src/plugins/picture-in-picture/keyboardevents-areequal.d.ts similarity index 100% rename from plugins/picture-in-picture/keyboardevents-areequal.d.ts rename to src/plugins/picture-in-picture/keyboardevents-areequal.d.ts diff --git a/plugins/picture-in-picture/menu.ts b/src/plugins/picture-in-picture/menu.ts similarity index 100% rename from plugins/picture-in-picture/menu.ts rename to src/plugins/picture-in-picture/menu.ts diff --git a/plugins/picture-in-picture/style.css b/src/plugins/picture-in-picture/style.css similarity index 100% rename from plugins/picture-in-picture/style.css rename to src/plugins/picture-in-picture/style.css diff --git a/plugins/picture-in-picture/templates/picture-in-picture.html b/src/plugins/picture-in-picture/templates/picture-in-picture.html similarity index 100% rename from plugins/picture-in-picture/templates/picture-in-picture.html rename to src/plugins/picture-in-picture/templates/picture-in-picture.html diff --git a/plugins/playback-speed/front.ts b/src/plugins/playback-speed/front.ts similarity index 100% rename from plugins/playback-speed/front.ts rename to src/plugins/playback-speed/front.ts diff --git a/plugins/playback-speed/templates/slider.html b/src/plugins/playback-speed/templates/slider.html similarity index 100% rename from plugins/playback-speed/templates/slider.html rename to src/plugins/playback-speed/templates/slider.html diff --git a/plugins/precise-volume/back.ts b/src/plugins/precise-volume/back.ts similarity index 100% rename from plugins/precise-volume/back.ts rename to src/plugins/precise-volume/back.ts diff --git a/plugins/precise-volume/front.ts b/src/plugins/precise-volume/front.ts similarity index 100% rename from plugins/precise-volume/front.ts rename to src/plugins/precise-volume/front.ts diff --git a/plugins/precise-volume/menu.ts b/src/plugins/precise-volume/menu.ts similarity index 100% rename from plugins/precise-volume/menu.ts rename to src/plugins/precise-volume/menu.ts diff --git a/plugins/precise-volume/preload.ts b/src/plugins/precise-volume/preload.ts similarity index 100% rename from plugins/precise-volume/preload.ts rename to src/plugins/precise-volume/preload.ts diff --git a/plugins/precise-volume/volume-hud.css b/src/plugins/precise-volume/volume-hud.css similarity index 100% rename from plugins/precise-volume/volume-hud.css rename to src/plugins/precise-volume/volume-hud.css diff --git a/plugins/quality-changer/back.ts b/src/plugins/quality-changer/back.ts similarity index 100% rename from plugins/quality-changer/back.ts rename to src/plugins/quality-changer/back.ts diff --git a/plugins/quality-changer/front.ts b/src/plugins/quality-changer/front.ts similarity index 100% rename from plugins/quality-changer/front.ts rename to src/plugins/quality-changer/front.ts diff --git a/plugins/quality-changer/templates/qualitySettingsTemplate.html b/src/plugins/quality-changer/templates/qualitySettingsTemplate.html similarity index 100% rename from plugins/quality-changer/templates/qualitySettingsTemplate.html rename to src/plugins/quality-changer/templates/qualitySettingsTemplate.html diff --git a/plugins/shortcuts/back.ts b/src/plugins/shortcuts/back.ts similarity index 100% rename from plugins/shortcuts/back.ts rename to src/plugins/shortcuts/back.ts diff --git a/plugins/shortcuts/menu.ts b/src/plugins/shortcuts/menu.ts similarity index 100% rename from plugins/shortcuts/menu.ts rename to src/plugins/shortcuts/menu.ts diff --git a/plugins/shortcuts/mpris-service.d.ts b/src/plugins/shortcuts/mpris-service.d.ts similarity index 100% rename from plugins/shortcuts/mpris-service.d.ts rename to src/plugins/shortcuts/mpris-service.d.ts diff --git a/plugins/shortcuts/mpris.ts b/src/plugins/shortcuts/mpris.ts similarity index 100% rename from plugins/shortcuts/mpris.ts rename to src/plugins/shortcuts/mpris.ts diff --git a/plugins/skip-silences/front.ts b/src/plugins/skip-silences/front.ts similarity index 100% rename from plugins/skip-silences/front.ts rename to src/plugins/skip-silences/front.ts diff --git a/plugins/sponsorblock/back.ts b/src/plugins/sponsorblock/back.ts similarity index 100% rename from plugins/sponsorblock/back.ts rename to src/plugins/sponsorblock/back.ts diff --git a/plugins/sponsorblock/front.ts b/src/plugins/sponsorblock/front.ts similarity index 100% rename from plugins/sponsorblock/front.ts rename to src/plugins/sponsorblock/front.ts diff --git a/plugins/sponsorblock/segments.ts b/src/plugins/sponsorblock/segments.ts similarity index 100% rename from plugins/sponsorblock/segments.ts rename to src/plugins/sponsorblock/segments.ts diff --git a/plugins/sponsorblock/tests/segments.test.js b/src/plugins/sponsorblock/tests/segments.test.js similarity index 100% rename from plugins/sponsorblock/tests/segments.test.js rename to src/plugins/sponsorblock/tests/segments.test.js diff --git a/plugins/sponsorblock/types.ts b/src/plugins/sponsorblock/types.ts similarity index 100% rename from plugins/sponsorblock/types.ts rename to src/plugins/sponsorblock/types.ts diff --git a/plugins/taskbar-mediacontrol/back.ts b/src/plugins/taskbar-mediacontrol/back.ts similarity index 100% rename from plugins/taskbar-mediacontrol/back.ts rename to src/plugins/taskbar-mediacontrol/back.ts diff --git a/plugins/touchbar/back.ts b/src/plugins/touchbar/back.ts similarity index 100% rename from plugins/touchbar/back.ts rename to src/plugins/touchbar/back.ts diff --git a/plugins/tuna-obs/back.ts b/src/plugins/tuna-obs/back.ts similarity index 100% rename from plugins/tuna-obs/back.ts rename to src/plugins/tuna-obs/back.ts diff --git a/plugins/utils.ts b/src/plugins/utils.ts similarity index 100% rename from plugins/utils.ts rename to src/plugins/utils.ts diff --git a/plugins/video-toggle/back.ts b/src/plugins/video-toggle/back.ts similarity index 100% rename from plugins/video-toggle/back.ts rename to src/plugins/video-toggle/back.ts diff --git a/plugins/video-toggle/button-switcher.css b/src/plugins/video-toggle/button-switcher.css similarity index 100% rename from plugins/video-toggle/button-switcher.css rename to src/plugins/video-toggle/button-switcher.css diff --git a/plugins/video-toggle/force-hide.css b/src/plugins/video-toggle/force-hide.css similarity index 100% rename from plugins/video-toggle/force-hide.css rename to src/plugins/video-toggle/force-hide.css diff --git a/plugins/video-toggle/front.ts b/src/plugins/video-toggle/front.ts similarity index 100% rename from plugins/video-toggle/front.ts rename to src/plugins/video-toggle/front.ts diff --git a/plugins/video-toggle/menu.ts b/src/plugins/video-toggle/menu.ts similarity index 100% rename from plugins/video-toggle/menu.ts rename to src/plugins/video-toggle/menu.ts diff --git a/plugins/video-toggle/templates/button_template.html b/src/plugins/video-toggle/templates/button_template.html similarity index 100% rename from plugins/video-toggle/templates/button_template.html rename to src/plugins/video-toggle/templates/button_template.html diff --git a/plugins/visualizer/back.ts b/src/plugins/visualizer/back.ts similarity index 100% rename from plugins/visualizer/back.ts rename to src/plugins/visualizer/back.ts diff --git a/plugins/visualizer/butterchurn.d.ts b/src/plugins/visualizer/butterchurn.d.ts similarity index 100% rename from plugins/visualizer/butterchurn.d.ts rename to src/plugins/visualizer/butterchurn.d.ts diff --git a/plugins/visualizer/empty-player.css b/src/plugins/visualizer/empty-player.css similarity index 100% rename from plugins/visualizer/empty-player.css rename to src/plugins/visualizer/empty-player.css diff --git a/plugins/visualizer/front.ts b/src/plugins/visualizer/front.ts similarity index 100% rename from plugins/visualizer/front.ts rename to src/plugins/visualizer/front.ts diff --git a/plugins/visualizer/menu.ts b/src/plugins/visualizer/menu.ts similarity index 100% rename from plugins/visualizer/menu.ts rename to src/plugins/visualizer/menu.ts diff --git a/plugins/visualizer/visualizers/butterchurn.ts b/src/plugins/visualizer/visualizers/butterchurn.ts similarity index 100% rename from plugins/visualizer/visualizers/butterchurn.ts rename to src/plugins/visualizer/visualizers/butterchurn.ts diff --git a/plugins/visualizer/visualizers/index.ts b/src/plugins/visualizer/visualizers/index.ts similarity index 100% rename from plugins/visualizer/visualizers/index.ts rename to src/plugins/visualizer/visualizers/index.ts diff --git a/plugins/visualizer/visualizers/visualizer.ts b/src/plugins/visualizer/visualizers/visualizer.ts similarity index 100% rename from plugins/visualizer/visualizers/visualizer.ts rename to src/plugins/visualizer/visualizers/visualizer.ts diff --git a/plugins/visualizer/visualizers/vudio.ts b/src/plugins/visualizer/visualizers/vudio.ts similarity index 100% rename from plugins/visualizer/visualizers/vudio.ts rename to src/plugins/visualizer/visualizers/vudio.ts diff --git a/plugins/visualizer/visualizers/wave.ts b/src/plugins/visualizer/visualizers/wave.ts similarity index 100% rename from plugins/visualizer/visualizers/wave.ts rename to src/plugins/visualizer/visualizers/wave.ts diff --git a/plugins/visualizer/vudio.d.ts b/src/plugins/visualizer/vudio.d.ts similarity index 100% rename from plugins/visualizer/vudio.d.ts rename to src/plugins/visualizer/vudio.d.ts diff --git a/preload.ts b/src/preload.ts similarity index 100% rename from preload.ts rename to src/preload.ts diff --git a/providers/app-controls.ts b/src/providers/app-controls.ts similarity index 100% rename from providers/app-controls.ts rename to src/providers/app-controls.ts diff --git a/providers/decorators.ts b/src/providers/decorators.ts similarity index 100% rename from providers/decorators.ts rename to src/providers/decorators.ts diff --git a/providers/dom-elements.ts b/src/providers/dom-elements.ts similarity index 100% rename from providers/dom-elements.ts rename to src/providers/dom-elements.ts diff --git a/providers/extracted-data.ts b/src/providers/extracted-data.ts similarity index 100% rename from providers/extracted-data.ts rename to src/providers/extracted-data.ts diff --git a/providers/prompt-options.ts b/src/providers/prompt-options.ts similarity index 100% rename from providers/prompt-options.ts rename to src/providers/prompt-options.ts diff --git a/providers/protocol-handler.ts b/src/providers/protocol-handler.ts similarity index 100% rename from providers/protocol-handler.ts rename to src/providers/protocol-handler.ts diff --git a/providers/song-controls-front.ts b/src/providers/song-controls-front.ts similarity index 100% rename from providers/song-controls-front.ts rename to src/providers/song-controls-front.ts diff --git a/providers/song-controls.ts b/src/providers/song-controls.ts similarity index 100% rename from providers/song-controls.ts rename to src/providers/song-controls.ts diff --git a/providers/song-info-front.ts b/src/providers/song-info-front.ts similarity index 100% rename from providers/song-info-front.ts rename to src/providers/song-info-front.ts diff --git a/providers/song-info.ts b/src/providers/song-info.ts similarity index 100% rename from providers/song-info.ts rename to src/providers/song-info.ts diff --git a/reset.d.ts b/src/reset.d.ts similarity index 100% rename from reset.d.ts rename to src/reset.d.ts diff --git a/tray.ts b/src/tray.ts similarity index 100% rename from tray.ts rename to src/tray.ts diff --git a/types/datahost-get-state.ts b/src/types/datahost-get-state.ts similarity index 100% rename from types/datahost-get-state.ts rename to src/types/datahost-get-state.ts diff --git a/types/get-player-response.ts b/src/types/get-player-response.ts similarity index 100% rename from types/get-player-response.ts rename to src/types/get-player-response.ts diff --git a/types/player-api-events.ts b/src/types/player-api-events.ts similarity index 100% rename from types/player-api-events.ts rename to src/types/player-api-events.ts diff --git a/types/video-details.ts b/src/types/video-details.ts similarity index 100% rename from types/video-details.ts rename to src/types/video-details.ts diff --git a/types/youtube-player.ts b/src/types/youtube-player.ts similarity index 100% rename from types/youtube-player.ts rename to src/types/youtube-player.ts diff --git a/utils/testing.ts b/src/utils/testing.ts similarity index 100% rename from utils/testing.ts rename to src/utils/testing.ts diff --git a/utils/type-utils.ts b/src/utils/type-utils.ts similarity index 100% rename from utils/type-utils.ts rename to src/utils/type-utils.ts diff --git a/youtube-music.css b/src/youtube-music.css similarity index 100% rename from youtube-music.css rename to src/youtube-music.css diff --git a/youtube-music.d.ts b/src/youtube-music.d.ts similarity index 100% rename from youtube-music.d.ts rename to src/youtube-music.d.ts diff --git a/tsconfig.json b/tsconfig.json index d9cb14b22b..766ea7c067 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,16 +7,14 @@ "esModuleInterop": true, "resolveJsonModule": true, "moduleResolution": "node", - "baseUrl": ".", + "baseUrl": "./src", "outDir": "./dist", "strict": true, "noImplicitAny": true, "strictFunctionTypes": true, "skipLibCheck": true }, - "exclude": [ - "./dist" - ], + "exclude": ["./dist"], "paths": { "*": ["*.d.ts"] }