Skip to content

Commit

Permalink
[webpack-migration] refactor: separate main/renderer src dirs
Browse files Browse the repository at this point in the history
  • Loading branch information
xgi committed May 4, 2024
1 parent c876804 commit c94898b
Show file tree
Hide file tree
Showing 119 changed files with 227 additions and 292 deletions.
13 changes: 8 additions & 5 deletions .erb/configs/webpack.config.main.prod.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@ import DeleteSourceMaps from '../scripts/DeleteSourceMaps';

DeleteSourceMaps();

const devtoolsConfig = process.env.DEBUG_PROD === 'true' ? {
devtool: 'source-map'
} : {};
const devtoolsConfig =
process.env.DEBUG_PROD === 'true'
? {
devtool: 'source-map',
}
: {};

export default merge(baseConfig, {
...devtoolsConfig,
Expand All @@ -23,7 +26,7 @@ export default merge(baseConfig, {

target: 'electron-main',

entry: './src/main.dev.ts',
entry: './src/main/main.dev.ts',

output: {
path: path.join(__dirname, '../../'),
Expand All @@ -35,7 +38,7 @@ export default merge(baseConfig, {
new TerserPlugin({
parallel: true,
}),
]
],
},

plugins: [
Expand Down
2 changes: 1 addition & 1 deletion .erb/configs/webpack.config.renderer.dev.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export default merge(baseConfig, {
'webpack/hot/only-dev-server',
'core-js',
'regenerator-runtime/runtime',
path.join(__dirname, '../../src/index.tsx'),
path.join(__dirname, '../../src/renderer/index.tsx'),
],

output: {
Expand Down
2 changes: 1 addition & 1 deletion .erb/configs/webpack.config.renderer.prod.babel.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export default merge(baseConfig, {
entry: [
'core-js',
'regenerator-runtime/runtime',
path.join(__dirname, '../../src/index.tsx'),
path.join(__dirname, '../../src/renderer/index.tsx'),
],

output: {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"package": "yarn build && electron-builder build --publish never",
"postinstall": "yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock",
"start": "cross-env yarn start:renderer",
"start:main": "cross-env NODE_ENV=development electron -r ./.erb/scripts/BabelRegister ./src/main.dev.ts",
"start:main": "cross-env NODE_ENV=development electron -r ./.erb/scripts/BabelRegister ./src/main/main.dev.ts",
"start:renderer": "cross-env NODE_ENV=development webpack serve --config ./.erb/configs/webpack.config.renderer.dev.babel.js"
},
"build": {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions src/common/temp_fs_metadata.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { ExtensionMetadata } from '@tiyo/common';

// eslint-disable-next-line import/prefer-default-export
export const FS_METADATA: ExtensionMetadata = {
id: '9ef3242e-b5a0-4f56-bf2f-5e0c9f6f50ab',
name: 'filesystem',
url: '',
translatedLanguage: undefined,
};
22 changes: 22 additions & 0 deletions src/common/temp_tracker_metadata.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { TrackerMetadata } from './models/types';

export const AniListTrackerMetadata: TrackerMetadata = {
id: 'ea5b9ee9-a60b-461f-99c3-8082bb773e0c',
name: 'AniList',
url: 'https://anilist.co',
hasCustomLists: false,
};

export const MUTrackerMetadata: TrackerMetadata = {
id: 'MangaUpdates',
name: 'MangaUpdates',
url: 'https://mangaupdates.com',
hasCustomLists: true,
};

export const MALTrackerMetadata: TrackerMetadata = {
id: '051ced8a-97e1-496a-841b-3214ed1884bb',
name: 'MyAnimeList',
url: 'https://myanimelist.net',
hasCustomLists: false,
};
File renamed without changes.
File renamed without changes.
10 changes: 4 additions & 6 deletions src/main.dev.ts → src/main/main.dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ import fs from 'fs';
import path from 'path';
import { app, BrowserWindow, shell, ipcMain, dialog, OpenDialogReturnValue } from 'electron';
import log from 'electron-log';
import { walk } from './util/filesystem';
import { walk } from '../common/util/filesystem';
import { createExtensionIpcHandlers, loadPlugins } from './services/extension';
import ipcChannels from './constants/ipcChannels.json';
import packageJson from '../package.json';
import ipcChannels from '../common/constants/ipcChannels.json';
import packageJson from '../../package.json';
import { createTrackerIpcHandlers } from './services/tracker';
import { createDiscordIpcHandlers } from './services/discord';
import { createUpdaterIpcHandlers } from './services/updater';
Expand All @@ -34,9 +34,7 @@ const extractDir = path.join(app.getPath('userData'), 'extracted');

log.transports.file.resolvePath = () => path.join(logsDir, 'main.log');

log.info(
`Starting Houdoku main process (client version ${packageJson.version})`
);
log.info(`Starting Houdoku main process (client version ${packageJson.version})`);

let mainWindow: BrowserWindow | null = null;
let spoofWindow: BrowserWindow | null = null;
Expand Down
4 changes: 2 additions & 2 deletions src/services/discord.ts → src/main/services/discord.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { IpcMain } from 'electron';
import log from 'electron-log';
import DiscordRPC from 'discord-rpc';
import { Chapter, Series } from '@tiyo/common';
import ipcChannels from '../constants/ipcChannels.json';
import packageJson from '../../package.json';
import ipcChannels from '../../common/constants/ipcChannels.json';
import packageJson from '../../../package.json';

function getActivity(
startTime: Date,
Expand Down
5 changes: 3 additions & 2 deletions src/services/extension.ts → src/main/services/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ import {
import aki from 'aki-plugin-manager';
import { BrowserWindow, IpcMain } from 'electron';
import log from 'electron-log';
import { FSExtensionClient, FS_METADATA } from './extensions/filesystem';
import ipcChannels from '../constants/ipcChannels.json';
import { FS_METADATA } from '../../common/temp_fs_metadata';
import { FSExtensionClient } from './extensions/filesystem';
import ipcChannels from '../../common/constants/ipcChannels.json';

let TIYO_CLIENT: TiyoClientInterface | null = null;
let FILESYSTEM_EXTENSION: FSExtensionClient | null = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
GetPageUrlsFunc,
GetSearchFunc,
GetImageFunc,
ExtensionMetadata,
PageRequesterData,
GetDirectoryFunc,
Chapter,
Expand All @@ -21,15 +20,9 @@ import {
GetFilterOptionsFunc,
} from '@tiyo/common';
import { extract } from '../../util/archives';
import { walk } from '../../util/filesystem';
import constants from '../../constants/constants.json';

export const FS_METADATA: ExtensionMetadata = {
id: '9ef3242e-b5a0-4f56-bf2f-5e0c9f6f50ab',
name: 'filesystem',
url: '',
translatedLanguage: undefined,
};
import { walk } from '../../../common/util/filesystem';
import constants from '../../../common/constants/constants.json';
import { FS_METADATA } from '../../../common/temp_fs_metadata';

const isSupportedArchivePath = (str: string) => {
return ['zip', 'rar', 'cbz', 'cbr'].some((ext) => {
Expand Down Expand Up @@ -112,6 +105,7 @@ const parseChapterMetadata = (
};
};

// eslint-disable-next-line import/prefer-default-export
export class FSExtensionClient extends ExtensionClientAbstract {
extractPath?: string = undefined;

Expand Down Expand Up @@ -215,3 +209,4 @@ export class FSExtensionClient extends ExtensionClientAbstract {

override getFilterOptions: GetFilterOptionsFunc = () => [];
}
export { FS_METADATA };
22 changes: 16 additions & 6 deletions src/services/tracker.ts → src/main/services/tracker.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
import { IpcMain } from 'electron';
import log from 'electron-log';
import { TrackerClientInterface } from '../models/interface';
import { AniListTrackerClient, AniListTrackerMetadata } from './trackers/anilist';
import { MALTrackerClient, MALTrackerMetadata } from './trackers/myanimelist';
import ipcChannels from '../constants/ipcChannels.json';
import { TrackEntry, TrackerSeries, TrackStatus, TrackerListEntry } from '../models/types';
import { MUTrackerClient, MUTrackerMetadata } from './trackers/mangaupdate';
import { TrackerClientInterface } from '../../common/models/interface';
import { AniListTrackerClient } from './trackers/anilist';
import { MALTrackerClient } from './trackers/myanimelist';
import ipcChannels from '../../common/constants/ipcChannels.json';
import {
TrackEntry,
TrackerSeries,
TrackStatus,
TrackerListEntry,
} from '../../common/models/types';
import { MUTrackerClient } from './trackers/mangaupdate';
import {
AniListTrackerMetadata,
MALTrackerMetadata,
MUTrackerMetadata,
} from '../../common/temp_tracker_metadata';

const TRACKER_CLIENTS: { [key: string]: TrackerClientInterface } = {
[AniListTrackerMetadata.id]: new AniListTrackerClient(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,14 @@ import {
AddLibraryEntryFunc,
UpdateLibraryEntryFunc,
GetTokenFunc,
} from '../../models/interface';
import { TrackEntry, TrackerMetadata, TrackScoreFormat, TrackStatus } from '../../models/types';
} from '../../../common/models/interface';
import {
TrackEntry,
TrackerMetadata,
TrackScoreFormat,
TrackStatus,
} from '../../../common/models/types';
import { AniListTrackerMetadata } from '../../../common/temp_tracker_metadata';

const clientId = '5631';

Expand All @@ -31,13 +37,7 @@ const SCORE_FORMAT_MAP: { [key: string]: TrackScoreFormat } = {
POINT_3: TrackScoreFormat.POINT_3,
};

export const AniListTrackerMetadata: TrackerMetadata = {
id: 'ea5b9ee9-a60b-461f-99c3-8082bb773e0c',
name: 'AniList',
url: 'https://anilist.co',
hasCustomLists: false,
};

// eslint-disable-next-line import/prefer-default-export
export class AniListTrackerClient extends TrackerClientAbstract {
userId: string;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ import {
UpdateLibraryEntryFunc,
GetTokenFunc,
GetListEntriesFunc,
} from '../../models/interface';
} from '../../../common/models/interface';
import {
TrackEntry,
TrackerMetadata,
TrackerSeries,
TrackScoreFormat,
TrackStatus,
TrackerListEntry,
} from '../../models/types';
} from '../../../common/models/types';
import { MUTrackerMetadata } from '../../../common/temp_tracker_metadata';

const BASE_URL = 'https://api.mangaupdates.com/v1';

Expand Down Expand Up @@ -251,13 +252,7 @@ type UpdateMangaResponseData = {
};
};

export const MUTrackerMetadata: TrackerMetadata = {
id: 'MangaUpdates',
name: 'MangaUpdates',
url: 'https://mangaupdates.com',
hasCustomLists: true,
};

// eslint-disable-next-line import/prefer-default-export
export class MUTrackerClient extends TrackerClientAbstract {
getMetadata: () => TrackerMetadata = () => {
return MUTrackerMetadata;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ import {
AddLibraryEntryFunc,
UpdateLibraryEntryFunc,
GetTokenFunc,
} from '../../models/interface';
} from '../../../common/models/interface';
import {
TrackEntry,
TrackerMetadata,
TrackerSeries,
TrackScoreFormat,
TrackStatus,
} from '../../models/types';
} from '../../../common/models/types';
import { formDataFromObject } from '../../util/net';
import { MALTrackerMetadata } from '../../../common/temp_tracker_metadata';

const CLIENT_ID = '217d11dc032b71dd35c60c7204b07a65';
const BASE_URL = 'https://api.myanimelist.net/v2';
Expand Down Expand Up @@ -122,13 +123,7 @@ type UpdateMangaResponseData = {
comments: string;
};

export const MALTrackerMetadata: TrackerMetadata = {
id: '051ced8a-97e1-496a-841b-3214ed1884bb',
name: 'MyAnimeList',
url: 'https://myanimelist.net',
hasCustomLists: false,
};

// eslint-disable-next-line import/prefer-default-export
export class MALTrackerClient extends TrackerClientAbstract {
userId: string;

Expand Down
4 changes: 2 additions & 2 deletions src/services/updater.ts → src/main/services/updater.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { IpcMain } from 'electron';
import log from 'electron-log';
import { autoUpdater, UpdateCheckResult } from 'electron-updater';
import { v4 as uuidv4 } from 'uuid';
import ipcChannels from '../constants/ipcChannels.json';
import packageJson from '../../package.json';
import ipcChannels from '../../common/constants/ipcChannels.json';
import packageJson from '../../../package.json';

// eslint-disable-next-line import/prefer-default-export
export const createUpdaterIpcHandlers = (ipcMain: IpcMain) => {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 4 additions & 4 deletions src/App.tsx → src/renderer/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ import { IconCheck, IconX, IconSun, IconMoonStars } from '@tabler/icons';
import { UpdateInfo } from 'electron-updater';
import parse from 'html-react-parser';
import persistantStore from './util/persistantStore';
import routes from './constants/routes.json';
import routes from '../common/constants/routes.json';
import DashboardPage from './components/general/DashboardPage';
import ReaderPage from './components/reader/ReaderPage';
import ipcChannels from './constants/ipcChannels.json';
import storeKeys from './constants/storeKeys.json';
import { TrackerMetadata } from './models/types';
import ipcChannels from '../common/constants/ipcChannels.json';
import storeKeys from '../common/constants/storeKeys.json';
import { TrackerMetadata } from '../common/models/types';
import { migrateSeriesTags } from './features/library/utils';
import AppLoading from './components/general/AppLoading';
import { categoryListState, seriesListState } from './state/libraryStates';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React from 'react';
import { ipcRenderer } from 'electron';
import { Title, Text, Button } from '@mantine/core';
import packageJson from '../../../package.json';
import ipcChannels from '../../constants/ipcChannels.json';
import packageJson from '../../../../package.json';
import ipcChannels from '../../../common/constants/ipcChannels.json';

// eslint-disable-next-line @typescript-eslint/ban-types
type Props = {};
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ import { useRecoilValue } from 'recoil';
import { Accordion, Badge, Button, Checkbox, Group, Stack, Text, Title } from '@mantine/core';
import { IconTrash } from '@tabler/icons';
import { openConfirmModal } from '@mantine/modals';
import { deleteDownloadedChapter, getAllDownloadedChapterIds } from '../../util/filesystem';
import ipcChannels from '../../constants/ipcChannels.json';
import {
deleteDownloadedChapter,
getAllDownloadedChapterIds,
} from '../../../common/util/filesystem';
import ipcChannels from '../../../common/constants/ipcChannels.json';
import library from '../../services/library';
import { customDownloadsDirState } from '../../state/settingStates';
import { getFromChapterIds } from '../../features/library/utils';
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import { Title, Text, Image } from '@mantine/core';
import styles from './AppLoading.css';
import { AppLoadStep } from '../../models/types';
import { AppLoadStep } from '../../../common/models/types';
import logo from '../../img/logo.svg';

// eslint-disable-next-line @typescript-eslint/ban-types
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
import { AppShell, Navbar } from '@mantine/core';
import SeriesDetails from '../library/SeriesDetails';
import Search from '../search/Search';
import routes from '../../constants/routes.json';
import routes from '../../../common/constants/routes.json';
import { importSeries, reloadSeriesList } from '../../features/library/utils';
import Settings from '../settings/Settings';
import About from '../about/About';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import log from 'electron-log';
import { ipcRenderer } from 'electron';
import React, { ReactNode, Component, ErrorInfo } from 'react';
import { Accordion, Box, Center, Code, Container, Kbd, Text, Title } from '@mantine/core';
import packageJson from '../../../package.json';
import ipcChannels from '../../constants/ipcChannels.json';
import packageJson from '../../../../package.json';
import ipcChannels from '../../../common/constants/ipcChannels.json';

const LOGS_DIR = await ipcRenderer.invoke(ipcChannels.GET_PATH.LOGS_DIR);

Expand Down
Loading

0 comments on commit c94898b

Please sign in to comment.