ember-cli / ember-cli/loader.js

Avoid mutating module exports.

Offen
#114 4 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
79
Forks
69
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

We should stop mutating the modules exports.

This was needed while ember-cli was using `amdStrict` mode (since it did not use the `_interopRequireDefault` babel helper), and that is being unrolled in https://github.com/ember-cli/ember-cli/pull/6827.

Suggested migration path is:

* Change [makeDefaultExport](https://github.com/ember-cli/loader.js/blob/master/lib/loader/loader.js#L127) to use `Object.defineProperty(exports, 'default,...)` with a getter that issues a deprecation warning in debug builds (avoiding `Object.defineProperty` in prod builds).
* Remove deprecation and method after major version bump to loader.js@5.0.0.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne in lib/loader/loader.js bei makeDefaultExport und überprüfe den verlinkten Migrationskontext von ember-cli. Verfolge, wie Modulexporte derzeit in Debug- und Produktions-Builds verändert werden, und überprüfe anschließend, ob sich das Kompatibilitätsverhalten und der Deprecation-Pfad mit dem in der Issue beschriebenen loader.js@5.0.0-Plan decken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
tooling
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.