Pegjs: 糸のワークスペース

作成日 2018年03月16日  ·  6コメント  ·  ソース: pegjs/pegjs

0.11以降(ただし0.12より前)は、Yarnワークスペースを使用してリポジトリをモノリポジトリに再編成し、 pegjsモジュールを主に@pegjsに存在する独立したモジュールに再実装することを計画しています( @pegの公式文法を使用)。

以下は私が現在実装する予定のモジュールのリストですが、これは0.12がリリースされる前に変更される可能性があります。

モジュール

  • PEG.jsで使用されるECMAScriptの最新機能の@pegjs / libラッパー
  • PEG.jsパッケージ間で共有される@pegjs / util共通コード
  • @ pegjs /ハーネス一連のモジュールを使用して、PEG.jsおよび同様のツールのテストを簡素化します
  • ASTと仕様の構築に役立つ関数とクラスの@pegjs / designライブラリ
  • @ pegjs / configは、PEG.jsで使用されるオプションを管理およびオプションで検証します
  • @ pegjs / language astクラス、オペコード、基本的なコードライターおよびエラークラス
  • @ pegjs / parserPEG.js文法パーサー
  • PEG.jsバイトコードを操作するための@pegjs / bytecodeメソッド
  • @ pegjs / runtime生成されたパーサーのランタイム
  • @ pegjs / linter文法ソースまたはastをチェックするために使用できるさまざまなパス
  • @ pegjs / javascriptPEG.jsコンパイラ用のES5 / ES20xコードジェネレータ
  • @ pegjs / compilerは、パーサーを生成する前に、リンターとその他のパスを実行します
  • @ pegjs / coreメインAPIライブラリ
  • @ pegjs / cli https://en.wikipedia.org/wiki/Command-line_interface
  • @ pegjs / repl https://en.wikipedia.org/wiki/Read –eval–print_loop
  • @ pegjs / run #522

インターフェース

  • pegjs最新のマイナーリリースを指すNode.jsのスタンドアロンリリース(例: 0.12.x
  • @ pegjs / browserブラウザリリース(現在はbowerパッケージ)
  • @ pegjs / xプラグインなし、シングルパス、最小限のオプション、速度のみのバリアント(#348に触発された)
  • @ pegjs / eは、文法とAPIの両方に実験的な機能を追加します(公開用のテストベッド)
feature task

最も参考になるコメント

@StoneCypher馬の仲間を保持する😆YarnはNPMの単なる代替手段であるため、ダウンストリームユーザーは、ワークスペースを気にすることなく、NPM、Yarn、またはポップアップする他の多くのユーザーを使用できます。これは、このリポジトリ内のrootpackage.json( "private": true 、上記のすべてのサブモジュールは、NPMで公開された独立したモジュールであり、コードのさまざまな部分を分離し、私や開発者や開発者の生活を楽にします。 PEG.jsコンパイラのハッキング。

また、RollupとBabelはどちらも、互いに異なる問題に取り組んでおり、Yarn:

  • Yarnは、ワークスペースをサポートするパッケージマネージャーです
  • RollupはBrowserifyのようなバンドラーであり、行き止まりのコードを削除するだけです
  • BabelはES2018 +からES *へのトランスパイラーです

全てのコメント6件

これは、下流のユーザーが糸に切り替える必要があることを意味しますか?

インターネットの主要なツールの1つを、私たちの多くが信頼していない会社が管理する別のビルドインフラストラクチャでのニッチな実験的ビルド戦略に移行しないでください。

毛糸が枯れていて、ワークスペースの設計が不十分です

ほとんどのノードユーザーはあなたのためにyarnに切り替えません

https://stackoverflow.com/questions/46947557/do-yarn-workspaces-work-with-npm-too

助けが必要な場合は、ツールをFacebookのものに切り替える必要のない、通常の最新のビルド構造の構築を喜んでお手伝いします。

ロールアップとバベル(または他の任意の数のセットアップ)を使用して、オーバーヘッドのないプレーンES5を作成できます。 完全に新しいインフラストラクチャは必要ありません。

その過程で、typescriptとflowtypeのサポート、es6モジュールのサポートなど、他の非常に重要なものを追加できます。

@StoneCypher馬の仲間を保持する😆YarnはNPMの単なる代替手段であるため、ダウンストリームユーザーは、ワークスペースを気にすることなく、NPM、Yarn、またはポップアップする他の多くのユーザーを使用できます。これは、このリポジトリ内のrootpackage.json( "private": true 、上記のすべてのサブモジュールは、NPMで公開された独立したモジュールであり、コードのさまざまな部分を分離し、私や開発者や開発者の生活を楽にします。 PEG.jsコンパイラのハッキング。

また、RollupとBabelはどちらも、互いに異なる問題に取り組んでおり、Yarn:

  • Yarnは、ワークスペースをサポートするパッケージマネージャーです
  • RollupはBrowserifyのようなバンドラーであり、行き止まりのコードを削除するだけです
  • BabelはES2018 +からES *へのトランスパイラーです

これが私を糸に押し込まない限り

それで、あなたは私を糸に強制しました。 yarnが死にかけているため、マージを拒否した他の人からのPRのいくつかは、それを取り戻そうとしました。また、Windowsではうまく機能しない低品質のツールです。

yarnは価値を提供しません。

yarnには大きな障壁があります。多くの人があなたを助けるために新しいパッケージマネージャーをインストールしません(私は故障する前に何度か拒否しました)、そして他の多くの人は仕事の方針のために許可されていません。

npmの動作が変更されました。 yarnは追いついていない。 yarnの動作は、コミュニティの期待とは大きく異なります。

モノレポはまた、価値を提供せず、複雑な追加のビルドステップを作成し、規範に反し、潜在的な貢献者を混乱させます。

これらはすべて、実行していない機能の作業よりもはるかに多くの作業でした。

あなたは私の異議の性質について混乱しているかもしれないと思います。

これは、人々が参加するのを難しくする無駄な作業です(先月の時点で、あなたが現在「あなたの趣味のプロジェクト」と呼んでいるものに誰も貢献することを文字通り不可能にし、大規模な置き換えを期待しているので、問題ではありません)。

これによりビルドが遅くなり、 npmにはyarnにはない新しいツールが失われます。

毛糸は2018年に死にかけていました。それは2020年です。毛糸は基本的に今死んでいます。

私はそれを私のどのコンピュータにも何年もインストールしていません。 私はあなたのためにそれを再インストールしなければなりませんでした。

リポジトリ内の非常に重要なコードベースの修正にもかかわらず、リリースなしで3年間使用されるフリンジツールを使用するプライベートコードベースではなく、これを通常の正常な開発パターンを持つ通常のプロジェクトにしてください。

はい、 yarnの機能を説明しようとしているようですが、 yarnの機能は誰もが知っています。

あなたは、2年前に作成しないように依頼した新しいインフラストラクチャを正確に作成しましたが、現在、機能しないと言った理由でそれを破棄しています。

このページは役に立ちましたか?
0 / 5 - 0 評価