Module: E2E::ViteAssets
- Defined in:
- lib/e2e/vite_assets.rb
Overview
Ensures ViteRuby test assets are built before the e2e suite runs.
ViteRuby::Builder skips compile when the watched-files digest is unchanged, so calling this on every suite start is cheap when assets are fresh.
A flock serializes builders across processes (e.g. accidental parallel e2e).
Constant Summary collapse
- LOCK_NAME =
"e2e-vite-test-build.lock"- SKIP_ENV =
"SKIP_VITE_TEST_BUILD"
Class Method Summary collapse
Class Method Details
.ensure_built! ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/e2e/vite_assets.rb', line 18 def ensure_built! return if ENV[SKIP_ENV] == "1" return if done? mode = normalize_mode(E2E.config.ensure_vite_assets) return mark_done! if mode == :skip with_lock do return if done? case mode when :auto ensure_auto! when :build ensure_required! when :warn ensure_warn! end mark_done! end end |
.project_root ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/e2e/vite_assets.rb', line 45 def project_root if defined?(Rails) && Rails.respond_to?(:root) && Rails.root Pathname(Rails.root) else Pathname.pwd end end |
.reset! ⇒ Object
41 42 43 |
# File 'lib/e2e/vite_assets.rb', line 41 def reset! @done = false end |