Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Call blueprint's origin hook

オープン
#2 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
javascript
領域
tooling

調査の方向性

この issue では、ファイル、テスト、エントリポイントが指定されていません。まず blueprint の検索と hook 呼び出しの実装箇所を特定し、次にリンクされた gist と既存のインストール動作を確認してください。blueprint が正しい環境を維持したまま自身の origin hook を呼び出せ、引数を変更できるようになれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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");
}
主要言語
JavaScript
スター
7
フォーク
5
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ember-cli/blprnt のほかの issue

ember-cli/blprnt の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。