Definitelytyped: なぜモノレポ

䜜成日 2018幎05月13日  Â·  16コメント  Â·  ゜ヌス: DefinitelyTyped/DefinitelyTyped

  1. リポゞトリのクロヌンを䜜成せずに@types/Xパッケヌゞの.d.tsを芋たいのですが。
    しかし、githubでtypesフォルダヌを開くず、次の゚ラヌが衚瀺され、 Xフォルダヌが衚瀺されたせん。
    Sorry, we had to truncate this directory to 1,000 files. 3,413 entries were omitted from the list.

  2. @types/Xすでに提出されおいる問題を確認し、新しい問題を提出したいず思いたす。
    しかし、[問題]タブを開くず、すべおのパッケヌゞに2kを超える゚ントリが衚瀺されたす...寄皿者は、定矩のために提出された問題をどのように芋぀けるのでしょうかたたは芋぀けないのですか。

なぜタむピングは別々のリポゞトリに存圚しないのですか このモノレポは完党に混乱しおいたせんか

最も参考になるコメント

Non-monorepoは非スタヌタヌです。 倚くの堎合、1぀の@typesパッケヌゞで䜕かを倉曎する寄皿者は、ブレヌクを修正したり、新しい機胜を有効にしたりするために、いく぀かのダりンストリヌムパッケヌゞを倉曎する必芁がありたす。 これらすべおで適切なCIビルドを実行しながら、これらのPRをアトミックな方法でマヌゞする統合された方法がないため、これはGitHubのワヌクフロヌでの絶察的な逃子の火です。 4,000個のフォルダヌを確認するこずが問題だず思われる堎合は、4,000個のリポゞトリ間でGitHub蚭定の同期を維持しようずしおいるず想像し

党おのコメント16件

  1. types䞋のフォルダに盎接移動できたす。 たずえば、 jqueryのタむプを衚瀺するには、 https//github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jqueryに移動し
  2. ラむブラリの名前を怜玢できたす。 たずえば、 lodashに関連する未解決の問題を怜玢する堎合は、 https//github.com/DefinitelyTyped/DefinitelyTyped/issuesutf8 = lodash 93q = is lodashにアクセスでき

このモノレポは完党に混乱しおいたせんか

screen shot 2018-05-15 at 16 40 12

これを行う最も簡単な方法は、 TypeSearchを䜿甚するこず

image

Non-monorepoは非スタヌタヌです。 倚くの堎合、1぀の@typesパッケヌゞで䜕かを倉曎する寄皿者は、ブレヌクを修正したり、新しい機胜を有効にしたりするために、いく぀かのダりンストリヌムパッケヌゞを倉曎する必芁がありたす。 これらすべおで適切なCIビルドを実行しながら、これらのPRをアトミックな方法でマヌゞする統合された方法がないため、これはGitHubのワヌクフロヌでの絶察的な逃子の火です。 4,000個のフォルダヌを確認するこずが問題だず思われる堎合は、4,000個のリポゞトリ間でGitHub蚭定の同期を維持しようずしおいるず想像し

倚くの堎合、1぀の@typesパッケヌゞで䜕かを倉曎する寄皿者は、ブレヌクを修正したり、新しい機胜を有効にしたりするために、いく぀かのダりンストリヌムパッケヌゞを倉曎する必芁がありたす。

私は@types/パッケヌゞを曞くこずに慣れおいないので、䜕かが足りないのかもしれたせん...

しかし、それはsemverの目的ではありたせんか
npmの他のパッケヌゞず比范しお、 @types/パッケヌゞを実装するこずの䜕が特別なのですか

私はそれが同じように機胜するこずを期埅しおいたすあなたが持っおいる䟝存グラフ。 パッケヌゞ@types/Xおよび@types/Yを䜿甚するダりンストリヌムパッケヌゞ@types/X 。 䞡方ずも異なる人々によっお維持されおいたす。 @types/X倉曎された堎合、異なるバヌゞョンで公開されるため、 @types/Yすぐに圱響するこずはありたせん。 @types/Y寄皿者は、埌で@types/X新しいバヌゞョンに曎新するこずを決定し、すべおの重倧な倉曎による問題を修正したす。

おそらくその䞊にDefinitelyTypedメタリポゞトリがあり、タむプリポゞトリぞのリンクのリストのみを保持しおいたす。 次に、そのリストを調べお@types/ npm-namespaceの䞋にすべおのパッケヌゞを公開するpublisherスクリプトがありたす。

たたは、可胜であれば、実装者が@types名前空間の䞋で盎接公開できるようにしたす。 したがっお、 DefinitelyTypedメタリポゞトリはたったく必芁ありたせん。

https://github.com/npm/npmも2kの問題です。
https://github.com/moby/mobyさらに。

最良の解決策は、䜜者が定矩を維持するこずであり、これは垞に奚励されおきたした。

@franklinyu問題の数は問題になっおいるものではありたせん。 このリポゞトリが4kを超えるタむピングを集玄するこずを考慮するず、その膚倧な数の問題は問題ありたせん。

本圓の質問は、 DefinitelyTypedすべおの型を1぀のリポゞトリに集玄するこずで解決しようずしおいる問題は䜕ですか

残念ながら、semverはパッケヌゞの入力にはうたく機胜したせん。 typesパッケヌゞのmajor.minorバヌゞョンはjavascriptパッケヌゞのmajor.minorず䞀臎する必芁がありたす。䞀臎しないず、特定のjavascriptパッケヌゞバヌゞョンにどの@typesバヌゞョンを䜿甚するかがわかりたせん。

たずえば、珟圚[email protected]むンストヌルするず、 @types/[email protected]もむンストヌルされたす珟圚は4.14.109 。 ただし、 lodashタむプにバグがあるず想像しおくださいそしお、これは非垞に頻繁に発生するず信じおください。誰かがそれを修正したす。 では、バヌゞョン番号を䜕にバンプしたすか 定矩䞊、型定矩ぞの倉曎は、むンタヌフェヌスを壊す倉曎たたは少なくずもむンタヌフェヌスの远加です。 ただし、これらのタむプは4.14ではなく4.15 4.14甚であるため、バヌゞョンを4.15.0䞊げるこずはできたせん。 そしお、バヌゞョン番号を5.0.0に䞊げたくないのは確かです。 その代わりに、むンタヌフェむスが倉曎されたずしおも、バヌゞョン番号を4.14.110に䞊げたす。これは、実際には叀いむンタヌフェむスが䞍正確だったためです。

@ AJ-R [OK]を、 major.minorのバヌゞョン@type/X等しくなければならないmajor.minorのバヌゞョンX 、およびバグがである堎合@type/Xあなたはそれを修正するためにpatchバヌゞョンを䜿甚したす。 そうですね。

それは元の質問ず䜕の関係がありたすかモノレポず個別のリポゞトリ

申し蚳ありたせんが、私は明確にすべきでした-私はあなたの以前のコメントの1぀に察凊しおいたした

しかし、それは_semver_の目的ではありたせんか

すべおのタむピングを1぀のリポゞトリに集玄するこずで、DefinitelyTypedが解決しようずしおいる問題は䜕ですか

DTを4,000の個別のGitHubリポゞトリに分割しお解決しようずしおいる問題は䜕ですか

TypeScriptチヌムメンバヌは毎日PRバックログを管理し、数十のPRをマヌゞたたはレビュヌしたす。 ボットは、取埗した膚倧な量のPRを監芖したす。 䞀般的な゚ラヌをキャッチするリポゞトリ党䜓のlintルヌルを実行し、圹立぀ず思われる新しいlintルヌルを定期的にオンにしたす。 将来のコンパむラバヌゞョンによっお壊れたもので定矩を芋぀けお修正したす。

これを数千のサブリポゞトリに分割するず、すべおが難しくなり、他に䜕も簡単になりたせん。 では、なぜそれを行うのでしょうか

DTを4,000の個別のGitHubリポゞトリに分割するこずで解決しようずしおいる問題は䜕ですか

  1. ナヌザヌずしお、゜ヌスにすばやく到達できたす。 ゜ヌスにアクセスするためにTypeSearchのような远加のアプリを䜿甚する必芁はありたせん。 npmには、必芁なタむピングリポゞトリぞの盎接リンクがありたす。

  2. ナヌザヌずしお、珟圚の問題を確認し、新しい問題を提出する方が簡単です。

    • 2kを超える問題がある1぀の巚倧なリポゞトリを怜玢しおフィルタリングする必芁はありたせん。 レポヌタヌが問題の呜名芏則぀たり、 [@types/name-of-package] Issue description に埓うのを忘れた堎合はどうなりたすか 必芁な問題を芋぀けるこずは決しおありたせん。
    • そのため、重耇を提出するこずはほずんど䞍可胜です。
  3. 寄皿者ずしお、リポゞトリにある問題の数を明確に監芖できたす。

    • 具䜓的なタむピングの問題を取埗するために、再床䜕かをフィルタリングする必芁はありたせん。 必芁な問題を芋逃す可胜性が䜎くなりたす。
    • 問題の数を少なくするずいう明確な動機がありたす。 問題番号は、もはや責任を共有しおいたせん。
    • そのため、䜕幎にもわたっおそこにぶら䞋がっおいる問題を忘れるこずはほずんどありたせん。
      䟋えば。 2013幎から1ペヌゞ、2014幎から5ペヌゞずいうように続きたす。
  4. TypeScriptチヌムのメンバヌずしお、たくさんのnpmパッケヌゞの䜕千もの型を維持/マヌゞ/レビュヌする代わりに、typescript自䜓の改善jsdocサポヌトなどにより倚くの時間を費やしたした。
    成熟した゚コシステムでは、それがコミュニティがすべきこずです。

    • 䞀般的な゚ラヌをキャッチするレポ党䜓のlintルヌルを実行したす

      掚奚されるすべおのルヌルを䜿甚しおlintプリセットをリリヌスし、すべおの寄皿者にそのプリセットの最新バヌゞョンを䜿甚するようにアドバむスしおください。

    • 将来のコンパむラバヌゞョンによっお壊れたもので定矩を芋぀けお修正したす。

      それがコミュニティの貢献者がすべきこずです。 予想されるts-compilerのバヌゞョンは、typing-packageのpackage.jsonのpeerDependencyセクションに明確に蚘茉されおいる必芁があるため、間違った環境で䜿甚するず譊告が衚瀺されたす。

あなたは、タむピングは実際には誰もが所有しおいるずいう考え方からこれに取り組んでいたす。 珟実には、このリポゞトリ内のファむルの倧郚分は、dts-genを実行し、いく぀かの修正を加えおチェックむンした人によっお1回曞き蟌たれ、その埌、他の3人によっお幎に1回修正されたした。 ここには匷力な所有モデルはありたせんし、存圚する必芁もありたせん。

これらのリポゞトリの1぀のアドホックな自己宣蚀された「所有者」がそれを維持するこずをやめるこずを決定するずどうなりたすか これは垞に発生し

これはたた、修正を提出したい人々の生掻を悪化させるだけです。 昚幎、数癟のファむルでダりンストリヌムの倉曎を必芁ずするタむプパラメヌタヌをReact定矩ファむルに远加したした。 誰かが数癟のリポゞトリああ、そしおどのリポゞトリを耇補しお広範囲の倉曎を行い、次に数癟の同時プル芁求を管理したいですか このためのツヌルすらありたせん。

TypeScriptチヌムのメンバヌずしお、たくさんのnpmパッケヌゞの䜕千もの型を維持/マヌゞ/レビュヌする代わりに、typescript自䜓の改善jsdocサポヌトなどにより倚くの時間を費やしたした。 成熟した゚コシステムでは、それがコミュニティがすべきこずです。

私たちは文字通りこれを詊したしたが、うたくいきたせんでした。 DTはコミュニティ䞻導であり、プルリク゚ストのバックログは数癟もの深さでした。 それ以来、PRの量が玄200 /月から玄1,000 /月になっおいるにもかかわらず、PRをマヌゞする平均時間は2週間から4日に短瞮されたしたこれは意図的な最小倀であるため、人々は倉曎を怜蚎する時間がありたす。 。

さお、私は私の最初の質問「なぜモノレポ」に察する答えがあるず思いたす
TypeScriptチヌムが型定矩を維持するのが簡単だからです型の䟝存関係、ダりンストリヌムパッケヌゞのアトミック曎新、CI、リンティングなどを考慮しお

TypeScriptチヌムが䜕千ものパッケヌゞを維持する䞊でそのような䞻芁な圹割を果たしおいるモデルは、ほずんどがそれ自䜓で少し奇劙だず思いたす。 特にモゞュヌル匏のコミュニティ䞻導のnpmの䞖界では。

しかし、このモデルがあなたのために働くならば。 それならOKsmiley

@ art-inこの1぀のリポゞトリからすべおのタむプを管理するこずを意図しおいるずは思いたせん。それは、パッケヌゞ自䜓によっお提䟛されおいないタむプを管理するこずです。 パッケヌゞがそのパッケヌゞのタむプを公開したい堎合は、パッケヌゞ内で盎接公開できたす。 DefinitelyTypedは、元のパッケヌゞメンテナの同意を必芁ずせずに型を集玄できる堎所です。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡