A-share data sources (free, no-auth, bypass eastmoney CDN IP blocks): - baostock loader (TCP protocol) + tencent loader (HTTP), both wrapped with cached_loader_fetch like the mootdx/akshare loaders so they honor the opt-in local cache - registered into the a_share fallback chain (tushare -> mootdx -> baostock -> tencent -> akshare); auto-detect default source stays tushare - pyproject [ashare] extra for the optional baostock dependency Frontend i18n (English default, sidebar toggle to Chinese, persisted): - i18next + react-i18next + browser-languagedetector; first visit defaults to English (localStorage-only detection, no navigator sniff), the toggle persists the choice across reloads - en / zh-CN locales at full key parity, including the Runtime page - i18n initialized in the test setup so useTranslation resolves real strings; restored the exported METRIC_LABELS so formatters consumers/tests keep working Thanks @skloxo (#217) for the i18n layer and the A-share data sources. Co-authored-by: skloxo <skloxo@users.noreply.github.com>
25 lines
675 B
JSON
25 lines
675 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2020",
|
|
"useDefineForClassFields": true,
|
|
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
"module": "ESNext",
|
|
"skipLibCheck": true,
|
|
"moduleResolution": "bundler",
|
|
"allowImportingTsExtensions": true,
|
|
"isolatedModules": true,
|
|
"moduleDetection": "force",
|
|
"noEmit": true,
|
|
"jsx": "react-jsx",
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"types": ["vitest/globals"],
|
|
"baseUrl": ".",
|
|
"paths": { "@/*": ["./src/*"] }
|
|
},
|
|
"include": ["src"],
|
|
"exclude": ["src/**/*.test.ts", "src/**/*.test.tsx", "src/**/__tests__"]
|
|
}
|