.vbw-planning/codebase/DEPENDENCIES.md
These are declared in source_monitor.gemspec and required by any host app using the engine.
| Gem | Constraint | Purpose | Risk |
|---|---|---|---|
| rails | >= 8.0.3, < 9.0 | Core framework | Major version lock |
| cssbundling-rails | ~> 1.4 | CSS asset bundling bridge | Low |
| jsbundling-rails | ~> 1.3 | JS asset bundling bridge | Low |
| turbo-rails | ~> 2.0 | Hotwire Turbo for real-time updates | Medium - optional but recommended |
| feedjira | >= 3.2, < 5.0 | Feed parsing (RSS/Atom) | Core functionality |
| faraday | ~> 2.9 | HTTP client | Core functionality |
| faraday-retry | ~> 2.2 | Retry middleware | Low |
| faraday-follow_redirects | ~> 0.4 | Redirect handling | Low |
| faraday-gzip | ~> 3.0 | Compression support | Low |
| nokolexbor | ~> 0.5 | Fast HTML parsing (lexbor engine) | Medium - native extension |
| ruby-readability | ~> 0.7 | Article content extraction | Medium - older gem |
| solid_queue | >= 0.3, < 3.0 | Background job processing | Core functionality |
| solid_cable | >= 3.0, < 4.0 | Action Cable adapter | Real-time features |
| ransack | ~> 4.2 | Search/filter form builder | Medium |
Loaded with rescue from LoadError in lib/source_monitor.rb:
solid_queue -- optional if host uses different Active Job backendsolid_cable -- optional if host uses Redis or another Action Cable adapterturbo-rails -- optional but recommended for real-time updatesransack -- powers search forms when available| Gem | Purpose |
|---|---|
| puma | Development web server |
| pg | PostgreSQL adapter |
| propshaft | Asset pipeline |
| rubocop-rails-omakase | Linting (Rails omakase style) |
| brakeman | Security scanning |
| Gem | Purpose |
|---|---|
| simplecov | Code coverage reporting |
| test-prof | Test profiling toolkit |
| stackprof | Stack sampling profiler |
| capybara | System test framework |
| webmock | HTTP stubbing |
| vcr | HTTP recording/playback |
| selenium-webdriver | Browser driver for system tests |
| Package | Version | Purpose |
|---|---|---|
| @hotwired/stimulus | ^3.2.2 | Stimulus JS framework |
| stimulus-use | ^0.52.0 | Composable Stimulus behaviors |
| Package | Version | Purpose |
|---|---|---|
| esbuild | ^0.23.0 | JS bundling |
| tailwindcss | ^3.4.10 | CSS framework |
| postcss | ^8.4.45 | CSS transformation |
| autoprefixer | ^10.4.20 | CSS vendor prefixes |
| eslint | ^9.11.0 | JS linting |
| @eslint/js | ^9.11.0 | ESLint core config |
| stylelint | ^16.8.0 | CSS linting |
| stylelint-config-standard | ^36.0.0 | Stylelint standard config |
Fetching::FeedFetcherSourceMonitor::HTTP, configurable via middleware stackFOR UPDATE SKIP LOCKED, NULLS FIRST/LAST SQL syntaxransackable_attributes declarations and search forms.fm-adminconfig.realtime.adapter, supports :solid_cable, :redis, :asyncScrapers::Readability adapter behind pluggable adapter interface