Feature Toggles
Global feature flags with tenant-level overrides.
Found by static analysis of the 0.7.0 source. Links that only appear at runtime are not visible here.
Everything feature_toggles needs outside the starter set is declared. 1 link into a starter module is not, and every app has it.
A newer release exists: feature_toggles in 0.9.0.
Before you enable feature_toggles in 0.7.0
1 module its code requires
✓ 0 declared1 not declared, in every app
Every module it requires is already in every starter app.
Already enabled in every starter app: 1 module.
Before you disable feature_toggles in 0.7.0
3 modules require it in code
Declared in requires by
Not declared by
1 more uses it optionally or for collaboration.
requires ⚠ Gap into a module every starter app has (lower risk) Optional Collaboration In requires only, not seen in code In every starter appA dot takes its module's area colour. Each side lists the areas in the order of the map.Reads left to right: what uses it → feature_toggles → what it needs. Select a module to go to its row.Needs
In every app (1)
| Module | In code | requires | package.json |
|---|---|---|---|
Module: directory | In code: Required · api, lib | requires: ⚠ Gap in every app | package.json: Same package |
10 places
| |||
Used by
| Module | In code | requires | package.json |
|---|---|---|---|
Module: customers | In code: Required · setup | requires: ⚠ Gap | package.json: Same package |
2 places
| |||
Module: portal | In code: Required · setup | requires: ⚠ Gap | package.json: Same package |
1 place
| |||
Module: wms | In code: Required · lib | requires: ✓ Declared | package.json: Same package |
3 places
| |||
Module: sales | In code: Optional · Manually reclassified (extracted: Required) · ui | requires: Not declared | package.json: Same package |
2 placesManually reclassified. Reason: useSalesChannelsEnabled fails open: an absent feature_toggles module must not hide sales channel UI (a 404 falls back to the default). The guard is a runtime fallback static analysis cannot see; A01 review sample #12. From v0.8.0 sales setup.ts seedDefaults imports lib/salesChannelsToggleSeed.ts, which uses the FeatureToggle entity unguarded, so the edge is required there and the override ends at v0.7.0. Source
| |||
Facts
Registers in DI (1)
featureTogglesService·packages/core/src/modules/feature_toggles/di.ts:7
Entities (2)
FeatureToggle·packages/core/src/modules/feature_toggles/data/entities.ts:12FeatureToggleOverride·packages/core/src/modules/feature_toggles/data/entities.ts:55