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

Add interface to cover UpdateRecorderBase's "apply" method

オープン
#16,003 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
typescript
領域
cli, tooling

調査の方向性

まず packages/angular_devkit/schematics/src/tree/host-tree.ts、recorder.ts、interface.ts を読み、HostTree.commitUpdate(...) と UpdateRecorderBase.apply() に注目してください。公開 API の境界を理解するために、generate コマンドでの schematics の使用方法を確認してください。新しい更新インターフェースを、UpdateRecorderBase を特に要求せずに commitUpdate(...) で使用できれば完了です。

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

説明

area: @angular-devkit/schematics feature feature: insufficient votes

🚀 Feature request

Command (mark with an x)
- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [x] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc
Description

Currently when writing schematics, the HostTree expects an UpdateRecorderBase for it's commitUpdate(...) function. This sharply limits creating custom schematic helpers, since any change needs to be done with an actual UpdateRecorderBase.

Describe the solution you'd like

Include a new UpdateRecord interface (however you want to call it) that outlines the UpdateRecorderBase's apply() function and remove the need for the UpdateRecorderBase specifically to be used with the HostTree.commitUpdate(...)

I have no problems cloning the repo and making the changes myself, but I would prefer some discussion around the subject to make sure it's in-line with the rest of the schematics implementations.

Describe alternatives you've considered

I looked into implementing my own TreeInterface, but the HostTree I would base it on uses a number of "backend" specific functionality that is not exported. Not to mention it would be incredibly tedious to re-implement this very basic class, when we are only trying to extend how an update occurs against the Tree.

Links

HostTree
UpdateRecorderBase
UpdateRecorder

主要言語
TypeScript
スター
27k
フォーク
11.8k
平均マージ
16時間 35分
マージ済み PR(30日)
176

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

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

angular/angular-cli のほかの issue

angular/angular-cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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