Skip to content

Commit

Permalink
Remove the dependency on umi.js; replace Less with Sass; use Vite.
Browse files Browse the repository at this point in the history
  • Loading branch information
oldj committed Feb 1, 2023
1 parent 7c5a570 commit 4e72db9
Show file tree
Hide file tree
Showing 143 changed files with 14,524 additions and 36,845 deletions.
50,280 changes: 13,975 additions & 36,305 deletions package-lock.json

Large diffs are not rendered by default.

26 changes: 12 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"private": true,
"scripts": {
"start": "electron ./build/main.js",
"postinstall": "umi generate tmp",
"test:umi": "umi-test",
"test:coverage": "umi-test --coverage",
"start": "cross-env NODE_ENV=development electron ./build/main.js",
"test": "rm -rf ./test/tmp/* && mocha -r espower-typescript/guess -r tsconfig-paths/register \"test/**/*.test.ts\"",
"dev": "concurrently \"npm run dev:main\" \"npm run dev:renderer\"",
"dev:main": "webpack --config scripts/webpack.main.config.js -w",
"dev:renderer": "cross-env APP_ROOT=src/renderer umi dev",
"clean:dist": "rimraf ./dist/*",
"clean:build": "rimraf ./build/*",
"dev": "npm run clean:build && concurrently \"npm run dev:main\" \"npm run dev:renderer\"",
"dev:main": "vite build --watch --config ./vite.main.config.ts",
"dev:renderer": "vite --config ./vite.render.config.ts",
"version:up": "node ./scripts/version_up.js",
"build": "npm run version:up && concurrently \"npm run build:main\" \"npm run build:renderer\"",
"build:main": "cross-env NODE_ENV=production webpack --config scripts/webpack.main.prod.config.js",
"build:renderer": "cross-env APP_ROOT=src/renderer umi build",
"_build": "npm run clean:build && npm run version:up && concurrently \"npm run build:main\" \"npm run build:renderer\"",
"build:main": "cross-env NODE_ENV=production vite build --config ./vite.main.config.ts",
"build:renderer": "cross-env NODE_ENV=production vite build --config ./vite.render.config.ts",
"build": "npm run _build",
"make": "node scripts/make.js",
"make:dev": "cross-env SKIP_NOTARIZATION=1 cross-env MAKE_FOR=dev npm run make",
"make:linux": "cross-env SKIP_NOTARIZATION=1 cross-env MAKE_FOR=linux npm run make",
Expand All @@ -28,7 +28,7 @@
"md5": "2.3.0",
"md5-file": "5.0.0",
"mkdirp": "1.0.4",
"potdb": "2.3.3",
"potdb": "2.5.4",
"tslib": "2.4.0",
"uuid": "8.3.2"
},
Expand All @@ -52,8 +52,6 @@
"@types/react-dom": "18.0.5",
"@types/react-window": "1.8.5",
"@types/uuid": "8.3.4",
"@umijs/preset-react": "2.x",
"@umijs/test": "3.5.24",
"@vitejs/plugin-react": "3.0.1",
"ahooks": "3.4.0",
"babel-loader": "8.2.5",
Expand All @@ -80,12 +78,12 @@
"react-icons": "4.3.1",
"react-router-dom": "6.8.0",
"react-window": "1.8.7",
"rimraf": "^4.1.2",
"sass": "1.58.0",
"smooth-scroll-into-view-if-needed": "1.1.33",
"ts-node": "10.8.0",
"tsconfig-paths-webpack-plugin": "3.5.2",
"typescript": "4.7.2",
"umi": "3.5.35",
"vite": "4.0.4",
"vite-plugin-static-copy": "0.13.0",
"vite-plugin-svgr": "2.4.0",
Expand Down
2 changes: 1 addition & 1 deletion src/common/default_configs.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LocaleName } from '@root/common/i18n'
import { LocaleName } from '@common/i18n'
import { FolderModeType } from './data.d'

export type WriteModeType = null | 'overwrite' | 'append'
Expand Down
23 changes: 8 additions & 15 deletions src/common/hostsFn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@
* @homepage: https://oldj.net
*/

import {
FolderModeType,
IHostsBasicData,
IHostsListObject,
} from '@root/common/data'
import { FolderModeType, IHostsBasicData, IHostsListObject } from '@common/data'
import lodash from 'lodash'

type PartHostsObjectType = Partial<IHostsListObject> & { id: string }
Expand Down Expand Up @@ -77,7 +73,7 @@ export const setOnStateOfItem = (
id: string,
on: boolean,
default_choice_mode: FolderModeType = 0,
multi_chose_folder_switch_all: boolean = false
multi_chose_folder_switch_all: boolean = false,
): IHostsListObject[] => {
let new_list: IHostsListObject[] = lodash.cloneDeep(list)

Expand All @@ -86,7 +82,7 @@ export const setOnStateOfItem = (

item.on = on

let itemIsInTopLevel = isInTopLevel(list, id);
let itemIsInTopLevel = isInTopLevel(list, id)
if (multi_chose_folder_switch_all) {
item = switchFolderChild(item, on)
!itemIsInTopLevel && switchItemParentIsON(new_list, item, on)
Expand Down Expand Up @@ -129,9 +125,9 @@ export const setOnStateOfItem = (
}

export const switchItemParentIsON = (
list: IHostsListObject[],
item: IHostsListObject,
on: boolean
list: IHostsListObject[],
item: IHostsListObject,
on: boolean,
) => {
let parent = getParentOfItem(list, item.id)

Expand All @@ -158,10 +154,7 @@ export const switchItemParentIsON = (
}
}

export const switchFolderChild = (
item: IHostsListObject,
on: boolean,
): IHostsListObject => {
export const switchFolderChild = (item: IHostsListObject, on: boolean): IHostsListObject => {
if (item.type != 'folder') {
return item
}
Expand All @@ -179,7 +172,7 @@ export const switchFolderChild = (
})
}

return item;
return item
}

export const deleteItemById = (list: IHostsListObject[], id: string) => {
Expand Down
2 changes: 1 addition & 1 deletion src/common/i18n/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import zh from './languages/zh'
import fr from './languages/fr'
import de from './languages/de'
import ja from './languages/ja'
import { LanguageDict, LanguageKey } from '@root/common/types'
import { LanguageDict, LanguageKey } from '@common/types'

export const languages = {
en,
Expand Down
20 changes: 7 additions & 13 deletions src/common/i18n/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @homepage: https://bergo.dev
*/

import { LanguageDict } from '@root/common/types'
import { LanguageDict } from '@common/types'

const lang: LanguageDict = {
_app_name: 'SwitchHosts',
Expand Down Expand Up @@ -32,8 +32,7 @@ const lang: LanguageDict = {
close: 'Schließen',
colon: ': ',
commands: 'Befehle',
commands_help:
'Die folgenden Systembefehle werden ausgeführt, wenn Hosts angewendet werden:',
commands_help: 'Die folgenden Systembefehle werden ausgeführt, wenn Hosts angewendet werden:',
commands_title: 'Befehl nach dem Anlegen eines Hosts',
comment_current_line: 'Aktuelle Zeile kommentieren',
content: 'Inhalt',
Expand Down Expand Up @@ -67,8 +66,7 @@ const lang: LanguageDict = {
host: 'Gastgeber',
hosts_add: 'Neue Hosts hinzufügen',
hosts_delete: 'Diesen Host löschen',
hosts_delete_confirm:
'Sind Sie sicher, dass Sie die aktuellen Hosts löschen wollen?',
hosts_delete_confirm: 'Sind Sie sicher, dass Sie die aktuellen Hosts löschen wollen?',
hosts_edit: 'Hosts bearbeiten',
hosts_title: 'Titel des Hosts',
hosts_type: 'Hosts Typ',
Expand Down Expand Up @@ -105,8 +103,7 @@ const lang: LanguageDict = {
minutes: 'Minuten',
move_items_to_trashcan: 'Verschiebe {0} Objekte in den Mülleimer',
move_to_trashcan: 'In die Mülltonne verschieben',
multi_chose_folder_switch_all:
'Mehrfachauswahl-Ordnerschalter zur Steuerung von Unterelementen',
multi_chose_folder_switch_all: 'Mehrfachauswahl-Ordnerschalter zur Steuerung von Unterelementen',
need_to_relaunch: 'Muss neu gestartet werden',
need_to_relaunch_after_setting_changed:
'Die Einstellungen wurden geändert und werden erst nach einem Neustart der App wirksam.',
Expand Down Expand Up @@ -153,8 +150,7 @@ const lang: LanguageDict = {
sudo_prompt_title: 'Geben Sie Ihr sudo-Passwort ein',
system_hosts: 'System-Hosts',
system_hosts_history: 'Historische Versionen der System-Hosts',
system_hosts_history_delete_confirm:
'Sind Sie sicher, dass Sie dieses Element löschen wollen?',
system_hosts_history_delete_confirm: 'Sind Sie sicher, dass Sie dieses Element löschen wollen?',
system_hosts_history_help:
'Wenn die Gesamtzahl der historischen Einträge diese Grenze überschreitet, wird der älteste Eintrag gelöscht.',
system_hosts_history_limit: 'Maximale Anzahl von Datensätzen: ',
Expand All @@ -169,8 +165,7 @@ const lang: LanguageDict = {
toggle_full_screen: 'Vollbildmodus einschalten',
trashcan: 'Mülleimer',
trashcan_clear: 'Den Mülleimer leeren',
trashcan_clear_confirm:
'Sind Sie sicher, dass Sie den Mülleimer leeren wollen?',
trashcan_clear_confirm: 'Sind Sie sicher, dass Sie den Mülleimer leeren wollen?',
trashcan_delete_confirm: 'Möchten Sie dieses Objekt vollständig löschen?',
trashcan_restore: 'Wiederherstellen',
tray_mini_window: 'Taskleistensymbol-Verknüpfung',
Expand All @@ -192,8 +187,7 @@ const lang: LanguageDict = {
write_mode: 'Schreibmodus',
write_mode_append_help:
'Hängen Sie die neuen Datensätze an das Ende der Hosts-Datei des Systems an.',
write_mode_overwrite_help:
'Überschreibt die Systemhosts-Datei mit den neuen Datensätzen.',
write_mode_overwrite_help: 'Überschreibt die Systemhosts-Datei mit den neuen Datensätzen.',
write_mode_set: 'Schreibmodus einstellen',
your_data_is: 'Ihre Datendateien sind gespeichert in:',
your_hosts_file_is: 'Ihre Hosts-Datei befindet sich in:',
Expand Down
11 changes: 4 additions & 7 deletions src/common/i18n/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @homepage: https://github.com/Aktilor
*/

import { LanguageDict } from '@root/common/types'
import { LanguageDict } from '@common/types'

const lang: LanguageDict = {
_app_name: 'SwitchHosts',
Expand Down Expand Up @@ -32,8 +32,7 @@ const lang: LanguageDict = {
close: 'Fermer',
colon: ' : ',
commands: 'Commandes',
commands_help:
"Les commandes systèmes suivantes seront exécutées quand l'hosts sera activé :",
commands_help: "Les commandes systèmes suivantes seront exécutées quand l'hosts sera activé :",
commands_title: "Commandes une fois qu'un hosts est activé",
comment_current_line: 'Commenter cette ligne',
content: 'Contenu',
Expand Down Expand Up @@ -152,8 +151,7 @@ const lang: LanguageDict = {
sudo_prompt_title: 'Entrez votre mot de passe sudo',
system_hosts: 'Hosts du système',
system_hosts_history: 'Historique des versions hosts du système',
system_hosts_history_delete_confirm:
'Êtes-vous sûr de vouloir supprimer cet élément ?',
system_hosts_history_delete_confirm: 'Êtes-vous sûr de vouloir supprimer cet élément ?',
system_hosts_history_help:
"Si le nombre total d'enregistrements dépasse cette limite, l'enregistrement le plus ancien sera supprimé.",
system_hosts_history_limit: "Nombre max. d'enregistrements : ",
Expand All @@ -176,8 +174,7 @@ const lang: LanguageDict = {
unhide: 'Démasquer',
untitled: 'Sans titre',
url_placeholder: 'http:// ou https:// ou file://',
usage_data_agree:
"Oui, soumettre de manière anonyme mes données d'utilisation",
usage_data_agree: "Oui, soumettre de manière anonyme mes données d'utilisation",
usage_data_help:
"Voulez-vous nous aider à améliorer SwitchHosts en soumettant périodiquement vos données d'utilisation de manière anonyme ?",
usage_data_title: 'Rendez SwitchHosts meilleur !',
Expand Down
35 changes: 14 additions & 21 deletions src/common/i18n/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @homepage: https://kamatte.me
*/

import { LanguageDict } from '@root/common/types'
import { LanguageDict } from '@common/types'

const lang: LanguageDict = {
_app_name: 'SwitchHosts',
Expand All @@ -22,7 +22,7 @@ const lang: LanguageDict = {
choice_mode: '選択モード',
choice_mode_default: 'デフォルト',
choice_mode_desc:
'最上位階層のhostsにのみ有効で、各フォルダーでは独自に選択モードを設定できます。',
'最上位階層のhostsにのみ有効で、各フォルダーでは独自に選択モードを設定できます。',
choice_mode_multiple: '複数',
choice_mode_single: '単一',
choices: '選択',
Expand All @@ -32,8 +32,7 @@ const lang: LanguageDict = {
close: '閉じる',
colon: ': ',
commands: 'コマンド',
commands_help:
'hostsが適用されたとき、以下のシステムコマンドを実行します:',
commands_help: 'hostsが適用されたとき、以下のシステムコマンドを実行します:',
commands_title: 'hosts適用後のコマンド',
comment_current_line: '現在の行をコメントアウト',
content: '内容',
Expand Down Expand Up @@ -76,7 +75,7 @@ const lang: LanguageDict = {
hours: '時間',
http_api_on: 'HTTP APIを有効化',
http_api_on_desc:
'{0}番ポートで実行され、Alfredなどのサードパーティソフトウェアでhostsを切り替えるために使用できます。',
'{0}番ポートで実行され、Alfredなどのサードパーティソフトウェアでhostsを切り替えるために使用できます。',
http_api_only_local: 'HTTP APIを 127.0.0.1 のみでリッスンする',
ignore_case: '大文字と小文字を区別しない',
import: 'インポート',
Expand All @@ -97,18 +96,17 @@ const lang: LanguageDict = {
local: 'ローカル',
match: '一致',
migrate_confirm:
'SwitchHosts v4.0は新しいデータ保存形式を使用します。古いデータを新しい形式に移行しますか?',
'SwitchHosts v4.0は新しいデータ保存形式を使用します。古いデータを新しい形式に移行しますか?',
migrate_data: 'データ移行',
minimize: '最小化',
minute: '分',
minutes: '分',
move_items_to_trashcan: '{0}件をごみ箱に入れる',
move_to_trashcan: 'ゴミ箱に入れる',
multi_chose_folder_switch_all:
'フォルダーの切り替えで配下のアイテムを一括操作',
multi_chose_folder_switch_all: 'フォルダーの切り替えで配下のアイテムを一括操作',
need_to_relaunch: '再起動が必要です',
need_to_relaunch_after_setting_changed:
'変更された設定はアプリケーションの再起動後に有効になります。',
'変更された設定はアプリケーションの再起動後に有効になります。',
never: 'なし',
new: '新規',
new_version_found: '新しいバージョンが見つかりました',
Expand All @@ -132,13 +130,12 @@ const lang: LanguageDict = {
remote: 'リモート',
remove_duplicate_records: '重複レコードを削除',
remove_duplicate_records_desc:
'1つのドメインに複数のIPアドレスを指定している場合、先頭のIPアドレスのみが有効になり、以降のIPアドレスはコメントに変換されます。',
'1つのドメインに複数のIPアドレスを指定している場合、先頭のIPアドレスのみが有効になり、以降のIPアドレスはコメントに変換されます。',
replace: '置換',
replace_all: 'すべて置換',
replace_history: '置換履歴',
reset: 'リセット',
reset_data_dir_confirm:
'データフォルダーの場所をデフォルト ({0}) に戻してもよろしいですか?',
reset_data_dir_confirm: 'データフォルダーの場所をデフォルト ({0}) に戻してもよろしいですか?',
reset_zoom: 'ズームをリセット',
search: '検索',
select_all: 'すべて選択',
Expand All @@ -152,8 +149,7 @@ const lang: LanguageDict = {
sudo_prompt_title: '管理者パスワードを入力してください',
system_hosts: 'システムhosts',
system_hosts_history: 'システムhostsのバージョン履歴',
system_hosts_history_delete_confirm:
'この履歴を削除してもよろしいですか?',
system_hosts_history_delete_confirm: 'この履歴を削除してもよろしいですか?',
system_hosts_history_help: '履歴件数がこれを超えると、最も古い履歴が削除されます。',
system_hosts_history_limit: '履歴の最大件数: ',
test: 'テスト',
Expand All @@ -176,21 +172,18 @@ const lang: LanguageDict = {
untitled: '無題',
url_placeholder: 'http:// または https:// または file://',
usage_data_agree: 'はい、匿名の利用データを送信します。',
usage_data_help:
'匿名の利用データを定期的に送信し、SwitchHostsの改善にご協力いただけませんか?',
usage_data_help: '匿名の利用データを定期的に送信し、SwitchHostsの改善にご協力いただけませんか?',
usage_data_title: 'SwitchHostsの改善に協力する',
use_proxy: 'プロキシを使用',
use_system_window_frame:
'システムのウィンドウフレームを使用。アプリケーションの再起動が必要です。',
'システムのウィンドウフレームを使用。アプリケーションの再起動が必要です。',
view: '表示',
where_is_my_data: 'データはどこに保存されますか?',
where_is_my_hosts: 'hostsファイルはどこにありますか?',
window: 'ウィンドウ',
write_mode: '書き込みモード',
write_mode_append_help:
'新しいレコードをシステムhostsの末尾に追記します。',
write_mode_overwrite_help:
'新しいレコードでシステムhostsを上書きします。',
write_mode_append_help: '新しいレコードをシステムhostsの末尾に追記します。',
write_mode_overwrite_help: '新しいレコードでシステムhostsを上書きします。',
write_mode_set: '書き込みモードを設定',
your_data_is: 'あなたのデータファイルはこちらに保存されています:',
your_hosts_file_is: 'あなたのhostsファイルはこちらにあります:',
Expand Down
11 changes: 4 additions & 7 deletions src/common/i18n/languages/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @homepage: https://oldj.net
*/

import { LanguageDict } from '@root/common/types'
import { LanguageDict } from '@common/types'

const lang: LanguageDict = {
_app_name: 'SwitchHosts',
Expand Down Expand Up @@ -93,8 +93,7 @@ const lang: LanguageDict = {
loading: '加载中...',
local: '本地',
match: '匹配',
migrate_confirm:
'SwitchHosts v4.0 使用了新的数据存储格式,是否迁移旧数据为新格式?',
migrate_confirm: 'SwitchHosts v4.0 使用了新的数据存储格式,是否迁移旧数据为新格式?',
migrate_data: '迁移数据',
minimize: '最小化',
minute: '分钟',
Expand Down Expand Up @@ -126,8 +125,7 @@ const lang: LanguageDict = {
reload: '重载',
remote: '远程',
remove_duplicate_records: '移除重复的记录',
remove_duplicate_records_desc:
'如果一个域名指向多个 IP,只有第一条会生效,后面的将被转为注释。',
remove_duplicate_records_desc: '如果一个域名指向多个 IP,只有第一条会生效,后面的将被转为注释。',
replace: '替换',
replace_all: '替换所有',
replace_history: '替换历史',
Expand All @@ -147,8 +145,7 @@ const lang: LanguageDict = {
system_hosts: '系统 Hosts',
system_hosts_history: '系统 Hosts 历史版本',
system_hosts_history_delete_confirm: '确实要删除该项记录吗?',
system_hosts_history_help:
'如果历史记录的总数超过这个限制,最老的记录将被删除。',
system_hosts_history_help: '如果历史记录的总数超过这个限制,最老的记录将被删除。',
system_hosts_history_limit: '最大记录数:',
test: '测试',
theme: '主题',
Expand Down
Loading

0 comments on commit 4e72db9

Please sign in to comment.