ember-cli / ember-cli/ember-cli-update

Codemod failure on windows due to too many files on argument list

オープン
#1,054 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
279
フォーク
44
PR マージ指標
30日以内にマージされた PR はありません

説明

When running the `--run-codemod` command in windows command line on a large project the resulting command line is larger than the maximum allowed command length.

For instance my project has several hundred routes and several hundred components and managed to generate a file list that was 38,480 characters long.

Here is just the output from the beginning of the command.
````
? These codemods apply to your project. Select which ones to run. cp-property-codemod
Running codemod cp-property-codemod
Running command 1 of 1
boilerplate-update npx ember-3x-codemods cp-property app/**/*.js +0ms
npx: installed 421 in 22.201s
(node:6072) UnhandledPromiseRejectionWarning: Error: Command failed with exit code 38 (ENAMETOOLONG): C:\Users\kilowhisky\AppData\Roaming\npm-cache\_npx\6072\node_modules\ember-3x-codemods\node_modules\jscodeshift\bin\jscodeshift.js -t C:\Users\kilowhisky\AppData\Roaming\npm-cache\_npx\6072\node_modules\ember-3x-codemods\transforms\cp-property\index.js --extensions js,ts app/app.js app/formats.js app/router.js
````
.... 38k more characters of file list.

It doesn't seem to be a problem when running it under WSL.

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

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

`--run-codemod` エントリーポイントから開始し、jscodeshift コマンドとファイルリストをどのように構築しているかを調べてください。報告されている `ENAMETOOLONG` エラーを基準として、大規模なプロジェクトを使って Windows 上で問題を再現してください。codemod が Windows のコマンド長制限を超えずに正常に実行されれば完了です。

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

評価

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

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

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