v1.5.0
Added:
- test/_init.js pre-test lifecycle hook (function-only): exports (ctx) => ({ setup }), run once before any suite. No cleanup hook, no accounts field. Mirrored across all four OMEGA frameworks.
- Consumer-shipped defaults via src/defaults/ — boilerplate test/_init.js, CHANGELOG.md, docs/ scaffold copied to consumers on first setup (never overwriting). copyDefaults now skips only _-prefixed directories, so _-prefixed filenames (test/_init.js) ship.
Changed:
- Environment detection consolidated onto getEnvironment() as SSOT (mode-helpers.js): single reader of raw signals (folds in app.isPackaged); returns one of development|testing|production (testing wins); is*() derive from it. Precedence: testing -> config.em.environment -> app.isPackaged -> EM_BUILD_MODE -> default production. getEnvironment moved out of url-helpers, mixed into all Managers via attachTo. URL helpers route through it.
- sentry/core.js intentionally keys on build-time EM_BUILD_MODE (not runtime getEnvironment).
- Install-command alias parity (dev|d|local|l / live|prod|p), canonical dev + live.
- Docs reorg: cross-context-helpers.md -> environment-detection.md (mirrored 9-section structure across BEM/EM/UJM/BXM).
Fixed:
- context-menu definition-presence test keyed off process.cwd() instead of app-root.js (what the lib resolves against), causing a false mismatch in consumers. Now keyed off app-root.js.