@@ -11,46 +11,46 @@ Libby Downloader is a Chrome extension that enables downloading audiobooks from
1111``` text
1212libby-downloader/
1313├── src/ # TypeScript source code
14- │ ├── background/ # Service worker (background script)
15- │ │ ├── index.ts # Main service worker entry point
16- │ │ ├── download-service.ts # Chapter download orchestration
17- │ │ ├── download-tracker.ts # Download state management
18- │ │ └── metadata-writer.ts # metadata.json file creation
19- │ ├── content/ # Content script (runs on Libby pages)
20- │ │ ├── index.ts # Main content script entry point
21- │ │ ├── constants.ts # Content-specific constants
22- │ │ ├── ui-manager.ts # Button state and notifications
23- │ │ ├── message-handler.ts # Message routing and coordination
24- │ │ └── validators.ts # Re-exports shared validators
25- │ ├── iframe/ # Iframe scripts (run in audiobook player)
26- │ │ ├── extractor.ts # Book data extraction (MAIN world)
27- │ │ └── ui-injector.ts # Download button injection
28- │ ├── shared/ # Shared utilities
29- │ │ ├── constants.ts # DEBUG_MODE flag
30- │ │ ├── logger.ts # Centralized logging
31- │ │ ├── validators.ts # Origin/data validation
32- │ │ └── icon-loader.ts # SVG icon loading
33- │ ├── types/ # TypeScript type definitions
34- │ │ ├── extension-book.ts # BookData, Chapter, BookMetadata
35- │ │ ├── messages.ts # Message types and constants
36- │ │ ├── errors.ts # Custom error classes
37- │ │ └── chrome.ts # Chrome API extensions
38- │ ├── styles/ # CSS stylesheets
39- │ │ └── content.css # Content script styles
40- │ ├── assets/ # Static assets
41- │ │ └── icons/ # SVG icons
42- │ └── __tests__/ # Test files
43- │ ├── mocks/ # Test mocks (Chrome APIs)
44- │ ├── shared/ # Shared utility tests
45- │ ├── background/ # Background script tests
46- │ └── types/ # Type tests
47- ├── chrome-extension/ # Built extension (output)
48- │ ├── manifest.json # Extension configuration
49- │ ├── background/ # Built background script
50- │ ├── content/ # Built content script
51- │ ├── iframe/ # Built iframe scripts
52- │ └── styles/ # Built CSS
53- ├── scripts/ # Build and validation scripts
14+ │ ├── background/ # Service worker (background script)
15+ │ │ ├── index.ts # Main service worker entry point
16+ │ │ ├── download-service.ts # Chapter download orchestration
17+ │ │ ├── download-tracker.ts # Download state management
18+ │ │ └── metadata-writer.ts # metadata.json file creation
19+ │ ├── content/ # Content script (runs on Libby pages)
20+ │ │ ├── index.ts # Main content script entry point
21+ │ │ ├── constants.ts # Content-specific constants
22+ │ │ ├── ui-manager.ts # Button state and notifications
23+ │ │ ├── message-handler.ts # Message routing and coordination
24+ │ │ └── validators.ts # Re-exports shared validators
25+ │ ├── iframe/ # Iframe scripts (run in audiobook player)
26+ │ │ ├── extractor.ts # Book data extraction (MAIN world)
27+ │ │ └── ui-injector.ts # Download button injection
28+ │ ├── shared/ # Shared utilities
29+ │ │ ├── constants.ts # DEBUG_MODE flag
30+ │ │ ├── logger.ts # Centralized logging
31+ │ │ ├── validators.ts # Origin/data validation
32+ │ │ └── icon-loader.ts # SVG icon loading
33+ │ ├── types/ # TypeScript type definitions
34+ │ │ ├── extension-book.ts # BookData, Chapter, BookMetadata
35+ │ │ ├── messages.ts # Message types and constants
36+ │ │ ├── errors.ts # Custom error classes
37+ │ │ └── chrome.ts # Chrome API extensions
38+ │ ├── styles/ # CSS stylesheets
39+ │ │ └── content.css # Content script styles
40+ │ ├── assets/ # Static assets
41+ │ │ └── icons/ # SVG icons
42+ │ └── __tests__/ # Test files
43+ │ ├── mocks/ # Test mocks (Chrome APIs)
44+ │ ├── shared/ # Shared utility tests
45+ │ ├── background/ # Background script tests
46+ │ └── types/ # Type tests
47+ ├── chrome-extension/ # Built extension (output)
48+ │ ├── manifest.json # Extension configuration
49+ │ ├── background/ # Built background script
50+ │ ├── content/ # Built content script
51+ │ ├── iframe/ # Built iframe scripts
52+ │ └── styles/ # Built CSS
53+ ├── scripts/ # Build and validation scripts
5454└── package.json
5555```
5656
0 commit comments