/** * Browser/bundler-safe entry: the subset of the API that touches no Node * built-ins (`fs`/`path`/`url`), so it bundles cleanly for the web, CDNs, and * in-browser compilers. * * What's here: object-based validation ({@link evaluateManifest}), the "inform * me" lookup API, targets, version and MDN helpers, and index control. * * What's not: the fs/acorn-backed file scanners * (`getUnsupportedManifestFields`, `getUnsupportedAPIsFromFile`, * `analyzeExtension`), the CLI, and the ESLint plugin — all import Node * built-ins and live only on the default `.` entry. * * The default index is empty here (no disk read). Provide data with * {@link setIndex}, e.g. an inlined * `import index from 'browser-extension-compat-data/index.json'` or a runtime * `fetch`, before calling the lookup/validation functions. */ export type { Domain, Browser, Target, Reason, SourceLocation, ManifestOptions, UnsupportedItem, SupportInfo, CompactIndex, CompactFeature, CompactSupport } from './types'; export { BROWSERS, isKnownBrowser, assertBrowser } from './browsers'; export { hasFeature, getMdnUrl, getSupport, getBrowserSupport, getMinVersion, isSupported, listKeys } from './lookup'; export { evaluateManifest } from './manifest'; export { parseTarget, parseTargets } from './targets'; export { buildMdnUrl } from './mdn'; export { compareVersions } from './version'; export type { ManifestKey, ApiKey, PermissionKey } from './generated/keys'; export { getIndex, setIndex, resetIndex, setDefaultLoader } from './store';