diff --git a/src/categories.ts b/src/categories.ts index bf8b7a28..aad3280e 100644 --- a/src/categories.ts +++ b/src/categories.ts @@ -1,4 +1,4 @@ -import type { RawCategory } from '@gkd-kit/api'; +import { RawCategory } from '@gkd-kit/api'; const categories: RawCategory[] = [ { diff --git a/src/config.ts b/src/config.ts index 37858889..622f0f75 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,7 +1,7 @@ import categories from './categories'; import globalGroups from './globalGroups'; import apps from './rawApps'; -import type { RawSubscription } from '@gkd-kit/api'; +import { RawSubscription } from '@gkd-kit/api'; const subsConfig: RawSubscription = { id: 666, diff --git a/src/file.ts b/src/file.ts index 743e734b..4e9a2a60 100644 --- a/src/file.ts +++ b/src/file.ts @@ -3,8 +3,8 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import type PkgT from '../package.json'; import { parseSelector } from './selector'; -import type { RawAppAddProp } from './types'; -import type { +import { RawApp } from './types'; +import { RawAppGroup, RawGlobalGroup, IArray, @@ -206,7 +206,7 @@ export const checkConfig = (newConfig: RawSubscription) => { // 检查组和规则的重复键 const apps = newConfig.apps || []; - apps.forEach((app: RawAppAddProp) => { + apps.forEach((app: RawApp) => { const deprecatedKeys = app.deprecatedKeys || []; const keys = new Set(); const oldGroups = oldConfig.apps?.find((a) => a.id == app.id)?.groups || []; @@ -377,7 +377,7 @@ export const checkAndDeleteFiles = async (): Promise => { }; // 导出一个异步函数,用于更新应用的 Markdown 文件 -export const updateAppMd = async (app: RawAppAddProp) => { +export const updateAppMd = async (app: RawApp) => { // 生成应用的 Markdown 文本内容 const appHeadMdText = [ `# ${app.name}`, @@ -509,7 +509,7 @@ const getGlobalDiffLog = ( // 定义一个类型,表示应用的变更日志 type AppDiff = { - app: RawAppAddProp; + app: RawApp; addGroups: RawAppGroup[]; changeGroups: RawAppGroup[]; removeGroups: RawAppGroup[]; diff --git a/src/globalGroups.ts b/src/globalGroups.ts index 5220725c..ab8e1152 100644 --- a/src/globalGroups.ts +++ b/src/globalGroups.ts @@ -1,5 +1,5 @@ import apps from './rawApps'; -import type { RawGlobalGroup } from '@gkd-kit/api'; +import { RawGlobalGroup } from '@gkd-kit/api'; import * as utils from './utils'; // 全局禁用 diff --git a/src/rawApps.ts b/src/rawApps.ts index aeb1c647..c8da3948 100644 --- a/src/rawApps.ts +++ b/src/rawApps.ts @@ -4,17 +4,15 @@ import url from 'node:url'; import picocolors from 'picocolors'; import { pinyin } from 'pinyin-pro'; import { walk } from './file'; -import type { RawAppAddProp } from './types'; +import { RawApp } from './types'; import { OPEN_AD_ORDER } from './utils'; -const rawApps: RawAppAddProp[] = []; +const rawApps: RawApp[] = []; for await (const tsFp of walk(process.cwd() + '/src/apps')) { if (!tsFp.endsWith('.ts')) { throw new Error('invalid typescript app config file: ' + tsFp); } - const mod: { default: RawAppAddProp } = await import( - url.pathToFileURL(tsFp).href - ); + const mod: { default: RawApp } = await import(url.pathToFileURL(tsFp).href); const appConfig = mod.default; if (path.basename(tsFp, '.ts') != appConfig.id) { throw new Error( diff --git a/src/types.ts b/src/types.ts index 7cd20322..b9fc6b4c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,16 +1,12 @@ import * as api from '@gkd-kit/api'; -export type RawAppAddProp = api.RawApp & { +export interface RawApp extends api.RawApp { /** * 某些规则组被移除不使用时, 为了避免 key 在后续被复用, 需要将已经删除的规则组的 key 填入此数组做校验使用 */ - deprecatedKeys?: number[]; -}; + deprecatedKeys?: api.Integer[]; +} -export const defineSubsConfig = (config: api.RawSubscription) => { - return JSON.stringify(config, undefined, 2); -}; - -export const defineAppConfig = (config: RawAppAddProp) => { +export const defineAppConfig = (config: RawApp) => { return config; };