Bug: corepack ignores COREPACK_NPM_REGISTRY for yarnpkg registry
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- node.js, typescript
- 領域
- tooling
調査の方向性
config.json と sources/corepackUtils.ts および sources/npmRegistryUtils.ts のレジストリ処理コード、特に参照されている行から始めてください。COREPACK_NPM_REGISTRY が npmjs.org にどのように適用されるか、また registry.yarnpkg.com をカバーしない理由を追跡してください。Corepack が設定されたプロキシを Yarn レジストリに一貫して使用でき、サポートされている設定動作が明確に確立されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Conditions for bug
npmjs.org and yarnpkg.com are blocked on my laptop
Background and things I've tried
We have an internal registry mirror which mirrors both npmjs and yarnpkg. Due to a recent supply chain attack it is a policy that my laptop blocks both npmjs and yarnpkg so I'm not able to reach them directly. All of my JS RC files are set to reach out to corporate proxy:
~/.npmrc~/.yarnrc~/.yarnrc.yml
I learned that corepack ignores all of these files and instead reaches out to registries directly. I was able to partially work around this by setting the following environment variable.
export COREPACK_NPM_REGISTRY="<my corporate proxy>"
Setting this environment variable gets me past errors for registry.npmjs.org but still triggers errors for registry.yarnpkg.com.
Potentially buggy lines of code
- https://github.com/nodejs/corepack/blob/7e0758e4fd920859ad92adf204caf766b242f1af/config.json#L119
- https://github.com/nodejs/corepack/blob/7e0758e4fd920859ad92adf204caf766b242f1af/sources/corepackUtils.ts#L233-L256
- https://github.com/nodejs/corepack/blob/7e0758e4fd920859ad92adf204caf766b242f1af/sources/npmRegistryUtils.ts#L14
Because https://registry.yarnpkg.com does not match https://registry.npmjs.org there's no proxying available.
Desired solution
- Ideally: adhere to
~/.yarnrc.yml - Or adhere to
COREPACK_NPM_REGISTRY - Or introduce a new environment variable
COREPACK_YARN_REGISTRY - Or more robust environment variable which allows one to substitute multiple registries via some kind of expression syntax.
- 主要言語
- TypeScript
- スター
- 3.8k
- フォーク
- 279
- 平均マージ
- 1時間 47分
- マージ済み PR(30日)
- 2
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nodejs/corepack のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
nodejs/corepack の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
bcgov/bc-wallet-mobile#4761 · コメント 1 件 ·
-
external-issue to-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100