Skip to content

Commit e357bfe

Browse files
authored
feat: support IndexedDB (#656)
1 parent 034df42 commit e357bfe

File tree

87 files changed

+2117
-924
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+2117
-924
lines changed

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"ensp",
3434
"filemanager",
3535
"Hengyang",
36+
"indexeddb",
3637
"Kanban",
3738
"MKCOL",
3839
"newtab",

jest.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ const config: Config = {
4545
"^.+\\.tsx?$": "@swc/jest"
4646
},
4747
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
48+
setupFiles: [
49+
'<rootDir>/test/jest.setup.ts',
50+
],
4851
}
4952

5053
export default config

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"commitlint": "^20.4.2",
4747
"css-loader": "^7.1.4",
4848
"decompress": "^4.2.1",
49+
"fake-indexeddb": "^6.2.5",
4950
"husky": "^9.1.7",
5051
"jest": "^30.2.0",
5152
"jest-environment-jsdom": "^30.2.0",
@@ -65,10 +66,11 @@
6566
"echarts": "^6.0.0",
6667
"element-plus": "2.13.2",
6768
"punycode": "^2.3.1",
68-
"vue": "^3.5.28",
69+
"typescript-guard": "^0.2.1",
70+
"vue": "^3.5.29",
6971
"vue-router": "^5.0.3"
7072
},
7173
"engines": {
7274
"node": ">=22"
7375
}
74-
}
76+
}

rspack/rspack.common.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const generateJsonPlugins: RspackPluginInstance[] = []
1515

1616
const localeJsonFiles = Object.entries(i18nChrome)
1717
.map(([locale, message]) => new GenerateJsonPlugin(`_locales/${locale}/messages.json`, message))
18-
.map(plugin => plugin as unknown as RspackPluginInstance)
1918
generateJsonPlugins.push(...localeJsonFiles)
2019

2120
type EntryConfig = {

src/background/data-cleaner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const cleanPeriodData = async () => {
1616
export default function initDataCleaner() {
1717
alarmManager.setWhen(
1818
PERIOD_ALARM_NAME,
19-
() => getStartOfDay(new Date()).getTime() + MILL_PER_DAY,
19+
() => getStartOfDay(new Date()) + MILL_PER_DAY,
2020
cleanPeriodData,
2121
)
2222
}

src/background/limit-processor.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,7 @@ function initDailyBroadcast() {
4646
// Broadcast rules at the start of each day
4747
alarmManager.setWhen(
4848
'limit-daily-broadcast',
49-
() => {
50-
const startOfThisDay = getStartOfDay(new Date())
51-
return startOfThisDay.getTime() + MILL_PER_DAY
52-
},
49+
() => getStartOfDay(new Date()) + MILL_PER_DAY,
5350
() => limitService.broadcastRules(),
5451
)
5552
}

src/background/message-dispatcher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class MessageDispatcher {
3333
const result = await handler(message.data, sender)
3434
return { code: 'success', data: result }
3535
} catch (error) {
36-
const msg = (error as Error)?.message ?? error?.toString?.()
36+
const msg = error instanceof Error ? error.message : error?.toString?.()
3737
return { code: 'fail', msg }
3838
}
3939
}

src/background/migrator/cate-initializer.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import cateService from "@service/cate-service"
22
import { batchSaveSiteCate } from "@service/site-service"
3-
import { Migrator } from "./common"
3+
import type { Migrator } from "./types"
44

55
type InitialCate = {
66
name: string
@@ -44,7 +44,6 @@ export default class CateInitializer implements Migrator {
4444
}
4545
}
4646

47-
onUpdate(version: string): void {
48-
version === '3.0.1' && this.onInstall()
47+
onUpdate(_version: string): void {
4948
}
5049
}

src/background/migrator/host-merge-initializer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import mergeRuleDatabase from "@db/merge-rule-database"
9-
import { type Migrator } from "./common"
9+
import type { Migrator } from "./types"
1010

1111
/**
1212
* v0.1.2

src/background/migrator/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77

88
import { getVersion, onInstalled } from "@api/chrome/runtime"
99
import CateInitializer from "./cate-initializer"
10-
import { type Migrator } from "./common"
1110
import HostMergeInitializer from "./host-merge-initializer"
12-
import LimitRuleMigrator from "./limit-rule-migrator"
11+
import IndexedDBMigrator from './indexed-migrator'
1312
import LocalFileInitializer from "./local-file-initializer"
13+
import type { Migrator } from "./types"
1414
import WhitelistInitializer from "./whitelist-initializer"
1515

1616
/**
@@ -27,7 +27,7 @@ class VersionManager {
2727
new LocalFileInitializer(),
2828
new WhitelistInitializer(),
2929
new CateInitializer(),
30-
new LimitRuleMigrator(),
30+
new IndexedDBMigrator(),
3131
)
3232
}
3333

0 commit comments

Comments
 (0)