Does yarn2 fetch package.json first, for parsing “os” field? #3353
Unanswered
jjangga0214
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
There is
os
field in package.json.So, does yarn2(and npm/yarn/pnpm) fetch dependency's pacakge.json first, then parse the "os" field(if exists), and download the source code only if os matches?
Or, does yarn2 just download every content (package.json+source) just all at once?
Context I am planning to publish a package that includes some os-specific code(compiled by go). So I have 3 compiled binaries (for windows, linux, macOS). However, each of them has a large size. Thus I want to avoid naively include them all in one package. Hence, I am thinking of separating them like @foo/win32, @foo/linux, @foo/darwin. Then letting a package named foo depend on all of them. And eventually, users install npm install foo without caring about their os. Will this separation avoid installing unnecessary dependency? For example, when npm install foo on linux, I want npm not to install @foo/win32, @foo/darwin under the hood.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions