問題タブ [esbuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
54 参照

ruby-on-rails - Rail 7、cssbundling-rails、jsbundling-rails のテスト モード (RSpec) でアセットが存在することを確認するにはどうすればよいですか?

私は、大規模な商用 (独自) Rails 6 アプリケーションを Rails 7 にアップグレードしています。Webpacker を使用したことはなく、代わりに、Bootstrap などのバンドルされた gem から「Rails 7 の方法」に直接移行しています。

Rails 7 の「ノードなし」ワークフローは、CSS コンポーネントと JS コンポーネントの両方で構成されるコンポーネントに対して適切な答えを持たないことが判明しました。私たちの場合、最も明白な犯罪者は Bootstrap です。インポート マップを使用して Bootstrap の JS の「半分」を維持し、古い Bootstrap gem や手動のベンダリングのようなものを使用して CSS を「半分」維持することに直面しました (そして、ここで Node を使用しない他のソリューションは実際にはありません)。ノードのワークフロー。

これは一緒に来ています。CSS および/または JS を提供するすべてのフロントエンド コンポーネントは、すでに NPM で問題なく使用できるようになっています。そのため、現在ではすべてpackage.jsonYarnを介して管理され、 bin/devSass を駆動esbuild し、SCSS および JS コンポーネントをapp/assetsapp/javascript またはからプルしてコンパイルしnode_modules/...ます。結果として、アセット パイプラインには、内部のおよびフォルダーmanifest.jsへの参照のみが含まれます。buildimagesapp/assets

リクエストごとに Sprockets で物事を同期的に処理するのに対して、Foreman の下で現在実行されている複数のプロセスの複雑さと一緒に、ファイル名のリストのすべての重量級の手動メンテナンス (ワイルドカードのインポートはサポートされなくなりました) は、少し後退したように感じます。しかし、それらすべてが非推奨/放棄されているため、明らかに更新する時が来ました.

これは開発モードと本番モードではすべて正常に機能しますが、テストはどうでしょうか? RSpec を使用します。 CI では、構築されたアセットはなく、開発者は、実行しようとするたびに実行esbuild  することを覚えておく必要はありません。他のことは別として、それはかなり遅いです。assets:precompilerspec

最新のアセットでテストを実行したい場合に、具体的cssbundling-railsに andを使用して Yarn/Node ベースのワークフローで公式の慣用的な Rails 7 ソリューションは何ですか?jsbundling-rails