From e3a6e1269d58fdf2c3d1dcc838e220faad3d3a68 Mon Sep 17 00:00:00 2001 From: 4gray Date: Fri, 1 Jul 2022 14:49:36 +0200 Subject: [PATCH] refactor: extract electron related files --- api.ts => electron/api.ts | 10 ++--- epg-worker.html => electron/epg-worker.html | 0 epg-worker.ts => electron/epg-worker.ts | 6 +-- main.ts => electron/main.ts | 12 +++--- menu.ts => electron/menu.ts | 2 +- electron/package.json | 7 ++++ preload.ts => electron/preload.ts | 0 tsconfig.serve.json | 45 ++++++++------------- 8 files changed, 39 insertions(+), 43 deletions(-) rename api.ts => electron/api.ts (98%) rename epg-worker.html => electron/epg-worker.html (100%) rename epg-worker.ts => electron/epg-worker.ts (95%) rename main.ts => electron/main.ts (91%) rename menu.ts => electron/menu.ts (99%) create mode 100644 electron/package.json rename preload.ts => electron/preload.ts (100%) diff --git a/api.ts b/electron/api.ts similarity index 98% rename from api.ts rename to electron/api.ts index be96de8f0..5631da7c7 100644 --- a/api.ts +++ b/electron/api.ts @@ -1,7 +1,7 @@ import axios from 'axios'; import { app, BrowserWindow, ipcMain, session } from 'electron'; import { parse } from 'iptv-playlist-parser'; -import { GLOBAL_FAVORITES_PLAYLIST_ID } from './shared/constants'; +import { GLOBAL_FAVORITES_PLAYLIST_ID } from '../shared/constants'; import { CHANNEL_SET_USER_AGENT, EPG_ERROR, @@ -26,13 +26,13 @@ import { PLAYLIST_UPDATE_FAVORITES, PLAYLIST_UPDATE_POSITIONS, PLAYLIST_UPDATE_RESPONSE, -} from './shared/ipc-commands'; -import { Playlist, PlaylistUpdateState } from './shared/playlist.interface'; +} from '../shared/ipc-commands'; +import { Playlist, PlaylistUpdateState } from '../shared/playlist.interface'; import { aggregateFavoriteChannels, createFavoritesPlaylist, -} from './shared/playlist.utils'; -import { ParsedPlaylist } from './src/typings.d'; +} from '../shared/playlist.utils'; +import { ParsedPlaylist } from '../src/typings.d'; const Nedb = require('nedb-promises'); diff --git a/epg-worker.html b/electron/epg-worker.html similarity index 100% rename from epg-worker.html rename to electron/epg-worker.html diff --git a/epg-worker.ts b/electron/epg-worker.ts similarity index 95% rename from epg-worker.ts rename to electron/epg-worker.ts index 527f976ec..280ede6d7 100644 --- a/epg-worker.ts +++ b/electron/epg-worker.ts @@ -11,9 +11,9 @@ import { EPG_GET_CHANNELS_DONE, EPG_GET_PROGRAM, EPG_GET_PROGRAM_DONE, -} from './shared/ipc-commands'; -import { EpgChannel } from './src/app/player/models/epg-channel.model'; -import { EpgProgram } from './src/app/player/models/epg-program.model'; +} from '../shared/ipc-commands'; +import { EpgChannel } from '../src/app/player/models/epg-channel.model'; +import { EpgProgram } from '../src/app/player/models/epg-program.model'; // EPG data store let EPG_DATA: { channels: EpgChannel[]; programs: EpgProgram[] }; diff --git a/main.ts b/electron/main.ts similarity index 91% rename from main.ts rename to electron/main.ts index 1500114da..28287cbcd 100644 --- a/main.ts +++ b/electron/main.ts @@ -2,8 +2,8 @@ import { app, BrowserWindow, Menu } from 'electron'; import * as path from 'path'; import * as url from 'url'; -import { Api } from './api'; -import { AppMenu } from './menu'; +import { Api } from '../api'; +import { AppMenu } from '../menu'; const contextMenu = require('electron-context-menu'); let win: BrowserWindow = null; @@ -28,7 +28,7 @@ function createWindow(): BrowserWindow { }, resizable: true, darkTheme: true, - icon: path.join(__dirname, 'dist/assets/icons/icon.png'), + icon: path.join(__dirname, '../build/assets/icons/icon.png'), titleBarStyle: 'hidden', frame: false, minWidth: 900, @@ -44,7 +44,7 @@ function createWindow(): BrowserWindow { } else { win.loadURL( url.format({ - pathname: path.join(__dirname, 'dist/index.html'), + pathname: path.join(__dirname, '../build/index.html'), protocol: 'file:', slashes: true, }) @@ -80,10 +80,10 @@ function createEpgWorkerWindow() { }); if (serve) { - window.loadFile('epg-worker.html'); + window.loadFile(path.join(__dirname, '../electron/index.html')); window.webContents.openDevTools(); } else { - window.loadFile('epg-worker.html'); + window.loadFile('./epg-worker.html'); } window.once('ready-to-show', () => { diff --git a/menu.ts b/electron/menu.ts similarity index 99% rename from menu.ts rename to electron/menu.ts index 3dba49461..1a86e0d19 100644 --- a/menu.ts +++ b/electron/menu.ts @@ -4,7 +4,7 @@ import { SHOW_WHATS_NEW, VIEW_ADD_PLAYLIST, VIEW_SETTINGS, -} from './shared/ipc-commands'; +} from '../shared/ipc-commands'; const openAboutWindow = require('about-window').default; export class AppMenu { diff --git a/electron/package.json b/electron/package.json new file mode 100644 index 000000000..182375fba --- /dev/null +++ b/electron/package.json @@ -0,0 +1,7 @@ +{ + "name": "iptvnator-electron", + "version": "0.10.0", + "main": "main.js", + "private": true, + "dependencies": {} + } \ No newline at end of file diff --git a/preload.ts b/electron/preload.ts similarity index 100% rename from preload.ts rename to electron/preload.ts diff --git a/tsconfig.serve.json b/tsconfig.serve.json index 786030ddc..1259c15d9 100644 --- a/tsconfig.serve.json +++ b/tsconfig.serve.json @@ -1,31 +1,20 @@ { - "compilerOptions": { - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es5", - "types": [ - "node" + "compilerOptions": { + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "types": ["node"], + "lib": ["es2017", "es2016", "es2015", "dom"] + }, + "files": [ + "electron/api.ts", + "electron/epg-worker.ts", + "electron/main.ts", + "electron/menu.ts", + "electron/preload.ts" ], - "lib": [ - "es2017", - "es2016", - "es2015", - "dom" - ] - }, - "files": [ - "api.ts", - "epg-worker.ts", - "main.ts", - "menu.ts", - "preload.ts" - ], - "exclude": [ - "node_modules", - "**/*.spec.ts", - "**/*.stub.ts" - ] + "exclude": ["node_modules", "**/*.spec.ts", "**/*.stub.ts"] }