02a90e839c
- manifest.json with MV3 config, host permissions for beat-battle.net - content/detector.ts: route + overlay observer, emits bbp:phase events - content/layout.ts: defensive mobile-first layout reflow - content/chat-drawer.ts: bottom-sheet drawer, dispatches synthetic events through site's own React-managed textarea + button (preserves auth, rate-limit, mute, profanity guards) - content/util/selectors.ts: text- and role-based fallback chain - content/util/ws-proxy.ts: lightweight WebSocket instrumentation, no payload capture - content/inject.css: mobile overrides using site's existing --bb-* vars - background.js: MV3 service worker stub - package.json + tsconfig.json + esbuild.config.mjs: build pipeline - icons/: 16/32/48/128 placeholder PNGs (chili-red disc) - docs/PLAN.md: full V1 architecture, risks, scope - README.md: scope, dev workflow (load unpacked), tech
21 lines
516 B
JSON
21 lines
516 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2020",
|
|
"module": "ES2020",
|
|
"moduleResolution": "Bundler",
|
|
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
"strict": true,
|
|
"noImplicitAny": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"esModuleInterop": true,
|
|
"skipLibCheck": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"isolatedModules": true,
|
|
"noEmit": true,
|
|
"types": ["chrome"]
|
|
},
|
|
"include": ["extension/**/*.ts"],
|
|
"exclude": ["dist", "node_modules"]
|
|
}
|