- fixed Year-Prefix Bug in MetricParser - added metric_confidence and metric_proof_text to database - added Entity-Check and Annual-Priority to LLM prompt - improved UI: added confidence traffic light and mouse-over proof tooltip - restored missing API endpoints (create, bulk, wiki-override)
47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
import jitiFactory from 'jiti'
|
|
import { transform } from 'sucrase'
|
|
|
|
import { Config } from '../../types/config'
|
|
|
|
let jiti: ReturnType<typeof jitiFactory> | null = null
|
|
|
|
// @internal
|
|
// This WILL be removed in some future release
|
|
// If you rely on this your stuff WILL break
|
|
export function useCustomJiti(_jiti: () => ReturnType<typeof jitiFactory>) {
|
|
jiti = _jiti()
|
|
}
|
|
|
|
function lazyJiti() {
|
|
return (
|
|
jiti ??
|
|
(jiti = jitiFactory(__filename, {
|
|
interopDefault: true,
|
|
transform: (opts) => {
|
|
// Sucrase can't transform import.meta so we have to use Babel
|
|
if (opts.source.includes('import.meta')) {
|
|
return require('jiti/dist/babel.js')(opts)
|
|
}
|
|
|
|
return transform(opts.source, {
|
|
transforms: ['typescript', 'imports'],
|
|
})
|
|
},
|
|
}))
|
|
)
|
|
}
|
|
|
|
export function loadConfig(path: string): Config {
|
|
let config = (function () {
|
|
if (!path) return {}
|
|
|
|
try {
|
|
return require(path)
|
|
} catch {
|
|
return lazyJiti()(path)
|
|
}
|
|
})()
|
|
|
|
return config.default ?? config
|
|
}
|