Call blueprint's origin hook

Ouverte
#2 9 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript
Domaine
tooling

Piste de recherche

L’issue ne nomme aucun fichier, test ou point d’entrée. Commencez par localiser l’implémentation de la recherche de blueprints et de l’invocation des hooks, puis examinez le gist lié ainsi que le comportement d’installation existant. Le travail est terminé lorsqu’un blueprint peut appeler son origin hook tout en préservant l’environnement correct et en permettant de modifier les arguments.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hi, considering this gist and its changes: https://gist.github.com/jgwhite/1e7871f886a9836c33d3/revisions

There is a need to "extend" blueprints in order to be able to easily change or extend the templates that the blueprints are using while not changing any installation logic (i.e. needed packages and the like). The current approach is to use `this.lookupBlueprint('name') and then call the appropriate method on it, like

afterInstall: function() {
    return this.lookupBlueprint('name').afterInstall();
}

This currently can lead to errors if the parent blueprint invokes tasks like npm install because the context isn't correct. What would be nice is something like an origin method that does the exact same thing while taking care of the environment stuff.

someHook: function(options) {
    return this.origin();
}

Simliar to this.super in ember.js it should take care of the arguments by itself. The method should still take arguments in order to be able to change them. I avoided the name super because its not actually the same concept as to call a "super" method.

If the need for calling different hooks from the origin there could be something like originInvoke()

someHook: function(options) {
    return this.originInvoke("otherhook");
    return this.invokeOnOirigin("otherhook");
    return this.invokeOrigins("otherhook");
    return this.callOrigins("otherhook");
}
Langage dominant
JavaScript
Étoiles
7
Forks
5
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ember-cli/blprnt

Toutes les issues de ember-cli/blprnt

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.