feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

33
src/config/resolve.ts Normal file
View File

@@ -0,0 +1,33 @@
import { ConfigValidationWarning, RawConfig, ResolvedConfig } from '../types';
import { applyAnkiConnectResolution } from './resolve/anki-connect';
import { createResolveContext } from './resolve/context';
import { applyCoreDomainConfig } from './resolve/core-domains';
import { applyImmersionTrackingConfig } from './resolve/immersion-tracking';
import { applyIntegrationConfig } from './resolve/integrations';
import { applySubtitleDomainConfig } from './resolve/subtitle-domains';
import { applyTopLevelConfig } from './resolve/top-level';
const APPLY_RESOLVE_STEPS = [
applyTopLevelConfig,
applyCoreDomainConfig,
applySubtitleDomainConfig,
applyIntegrationConfig,
applyImmersionTrackingConfig,
applyAnkiConnectResolution,
] as const;
export function resolveConfig(raw: RawConfig): {
resolved: ResolvedConfig;
warnings: ConfigValidationWarning[];
} {
const { context, warnings } = createResolveContext(raw);
for (const applyStep of APPLY_RESOLVE_STEPS) {
applyStep(context);
}
return {
resolved: context.resolved,
warnings,
};
}