# @ember/optional-features

> The default blueprint for ember-cli addons.

Latest version **3.0.0** (published 2026-02-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install @ember/optional-features
pnpm add @ember/optional-features
yarn add @ember/optional-features
bun add @ember/optional-features
```

## Health

**Score 50/100 (C)** — status: stable.

Positive: no vulnerabilities; has provenance.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2026-02-08 |
| First published | 2018-01-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 20.19 |
| Dependencies | 4 |
| Unpacked size | 37.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 40 |
| Maintainers | melsumner, chancancode, tomdale, wycats, katiegengler, nullvoxpopuli, mixonic, ef4 |
| Keywords | ember-addon |

## Links

- npm: https://www.npmjs.com/package/@ember/optional-features
- Repository: https://github.com/emberjs/ember-optional-features
- Homepage: https://github.com/emberjs/ember-optional-features#readme
- Issues: https://github.com/emberjs/ember-optional-features/issues
- npm.io page: https://npm.io/package/@ember/optional-features

## Dependencies (4)

- [inquirer](https://npm.io/package/inquirer.md) ^13.2.2
- [tinyglobby](https://npm.io/package/tinyglobby.md) ^0.2.15
- [silent-error](https://npm.io/package/silent-error.md) ^1.1.1
- [ember-cli-version-checker](https://npm.io/package/ember-cli-version-checker.md) ^5.1.2

## Recent versions

- 3.0.0 (latest) — 2026-02-08
- 2.3.0-alpha.0 (alpha) — 2025-11-24
- 2.3.0 — 2025-11-25
- 2.2.0 — 2024-10-26
- 2.1.0 — 2024-02-21
- 2.0.0 — 2020-08-27
- 1.3.0 — 2019-12-19
- 1.2.0 — 2019-12-16
- 1.1.0 — 2019-10-23
- 1.0.0 — 2019-09-21
- 0.7.0 — 2018-09-17
- 0.6.4 — 2018-08-08
- 0.6.3 — 2018-08-02
- 0.6.2 — 2018-07-09
- 0.6.1 — 2018-05-24
- … 4 more at https://npm.io/package/@ember/optional-features/versions

## README

# @ember/optional-features

This addon allows you to easily enable/disable optional features in ember-source. To clarify what we mean by optional, these are features that will be opt-in/opt-out and optional for the foreseeable future, not features that will be enabled by default. It is intended for use with apps *only* not addons.

## Installation

```bash
ember install @ember/optional-features
```

## Usage

### From command-line

#### List available features

Features will only be available in versions of ember-source that included them. To list all available features run:

```bash
ember feature:list
```

#### Enable/disable features

To enable a feature, run:

```bash
ember feature:enable some-feature
```

Similarly, if you want to disable a feature, you can run:

```bash
ember feature:disable some-feature
```

### At build-time (from an addon)

This addon exposes a build-time method called `isFeatureEnabled`, which can be called from an addon's `index.js`, e.g.:

```javascript
included() {
  let optionalFeatues = this.addons.find(a => a.name === '@ember/optional-features');
  if (optionalFeatures.isFeatureEnabled('jquery-integration') {
    // ...
  }
}
```

It also exposes a method called `isFeatureExplicitlySet`, which can be used to check whether or not the user has explictly set the value of the option instead of using the default.

### At run-time (from an app or addon)

WIP -- there does not yet exist a public API for accessing the state of optional features at runtime. [This](https://github.com/pzuraq/ember-compatibility-helpers/issues/27) issue is tracking it.

---
_Source: https://npm.io/package/@ember/optional-features · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
