<!-- Documentation snapshot: package 5.0.0-beta.2; channel latest; archived channel latest; base revision 13f4954c352e646c413091ffdd83f6da59404573; local changes false; original source SHA-256 38654bc39b249ec7a5b28346a7d6d318f4ab9ae168096c8a4a688f9eafd01c45. -->

# Consumer ESLint rule

Starting with beta.2, Marionette provides an ESLint flat-config plugin at
`marionette/eslint`. Beta.1 does not export this subpath. Use the documentation
matching the package artifact you installed.

```javascript
// eslint.config.mjs
import marionette from 'marionette/eslint';

export default [marionette.configs.recommended];
```

The plugin requires ESLint 10. It has no runtime effect on a Marionette
application and does not load any Marionette runtime module.

## `no-private-framework-members` (`MN0040`)

The recommended config reports dot-property access to a known private framework
member when the receiver is proven to be a Marionette instance. The rule follows
aliased named and namespace imports, local native subclasses, `.extend()`
hierarchies, and constant variables initialized with `new`.

The private-member inventory is derived from the authored framework source and
checked for stale names. It is a lint implementation detail, not a promise that
private names will remain stable. An application's own `_field` is not assumed
to be private framework state.

Computed properties, shadowed imports, mutable receiver or constructor bindings,
and receivers whose identity cannot be proven are not classified. The rule has
no autofix because choosing a public replacement requires application knowledge.

## Deferred checks

Literal UI-reference and named-handler checks are deferred. Marionette permits a
subclass or constructor options to replace an inherited `ui` or event map, and
`initialize` or `preinitialize` may install a named handler before delegation.
A rule that inspects an extensible base definition alone would reject these valid
patterns. These checks should ship only with a bounded construction model that
can prove the effective configuration and handler surface.


[Canonical source](/docs/markdown/docs/consumer-lint.md) · [Source identity](/docs/manifest.json)
