postinstall runs 35 nested installs when used as a dependency, which consumers don't need
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- javascript, node.js
- 領域
- build-system
調査の方向性
postinstall のロジックは npm/deepinstall.js にあります。そこから始めて、35 の codegen フォルダーをどうループするかを見てください。パッケージがチェックアウトで開発されている場合 (例: ローカルの .git や dev スクリプトの呼び出しを確認) を除き、ネストされたインストールがスキップされるようにガードを追加してください。Done とは、パッケージを依存関係としてインストールしても 35 のインストールがトリガーされず、node_modules のサイズが小さいままになることを意味します。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
When postman-code-generators is installed as a dependency, the postinstall script (npm/deepinstall.js) runs a nested npm/yarn/pnpm install in each of the 35 codegen folders. Consumers don't need it: the codegens' runtime dependencies (lodash, postman-collection) are already dependencies of the root package and resolve from there, and lib/assets/languages.js is generated by prepack and published.
To Reproduce
npm i [email protected] in an empty project, with yarn 1 installed globally:
- the script detects
yarn(see #792) and runsyarn install --production --frozen-lockfile35 times node_modules/postman-code-generatorsgrows from 3.0 MB to 97 MB- the step needs network access, and pnpm and npm 11 flag it as an install script that needs approval
With npm i --ignore-scripts [email protected] instead, every variant from getLanguageList() (35 across 21 languages) converts the same request to a byte-identical snippet.
Expected
No nested installs when installed as a dependency. They are only needed when developing this repo (npm install / npm run deepinstall in a checkout).
Related: #792, #806 (package manager detection). Skipping the step for consumers would avoid that detection path for them entirely.
- 主要言語
- JavaScript
- スター
- 1k
- フォーク
- 382
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
postmanlabs/postman-code-generators のほかの issue
-
cURL snippet with double quotes adds a backslash before every # character対応中かも @sebxt が 23 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
postmanlabs/postman-code-generators#822 · コメント 1 件 ·
-
curl codegen: file-type FormParam contentType ignored — ';type=' not emitted for multipart file parts対応中かも @CrypticCortex が 187 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
postmanlabs/postman-code-generators#815 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
postmanlabs/postman-code-generators の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
swc-project/swc-ai-issues#414 ·
-
[workshop-sim] Repair: Make Copilot access and billing path decision self-contained in Steps 07/07dオープンfeedback simulation workshop
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
githubnext/gh-aw-workshop#5597 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
swagger-api/swagger-client#4318 ·
メンテナーはふだん 1 日以内に返信
-
Add: Film Mania PLオープンcheck:passed feeds:add
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
Disabled radio toggle button groups lose checked state対応中かも @vladosskins178 が今日担当しました。 オープンbug confirmed css has-pr v6
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信