node-vtex-api icon indicating copy to clipboard operation
node-vtex-api copied to clipboard

stats-lite version declared in package.json is breaking yarn install

Open inglkruiz opened this issue 1 year ago • 1 comments

Hi, I'm installing @vtex/[email protected] in a monorepo where I'm using [email protected] as package manager. Installing this package is breaking my yarn install command, here the logs:

Packing stats-lite@https://github.com/vtex/node-stats-lite.git#commit=1b0d39cc41ef7aaecfd541191f877887a2044797 from sources
Using Yarn Classic for bootstrap. Reason: "__metadata" key not found in yarn.lock, must be a Yarn classic lockfile

➤ YN0000: Downloading https://classic.yarnpkg.com/latest.js
➤ YN0000: Saving the new release in .yarn/releases/yarn-classic.cjs
➤ YN0000: Done in 0s 922ms

! The local project doesn't define a 'packageManager' field. Corepack will now add one referencing [email protected]+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e.
! For more details about this field, consult the documentation at https://nodejs.org/api/packages.html#packagemanager

yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error Error: https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.6.tgz: Request failed "404 Not Found"
    at Request.<anonymous> (/private/var/folders/r0/ww_pkx_d5qxcd8h7fc3fqmfm0000gn/T/xfs-ddc7b71e/.yarn/releases/yarn-classic.cjs:78280:16)
    at Request.emit (node:events:519:28)
    at module.exports.Request.onRequestResponse (/private/var/folders/r0/ww_pkx_d5qxcd8h7fc3fqmfm0000gn/T/xfs-ddc7b71e/.yarn/releases/yarn-classic.cjs:136694:10)
    at ClientRequest.emit (node:events:519:28)
    at HTTPParser.parserOnIncomingClient (node:_http_client:698:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:540:22)
    at TLSSocket.emit (node:events:519:28)
    at addChunk (node:internal/streams/readable:559:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Expected Behavior

Installing @vtex/[email protected] should not break yarn install.

Current Behavior

Installing @vtex/[email protected] breaks yarn install on version 4.2.2.

Possible Solution

I tried to install the package [email protected] as a dev dependency and all went well. So I wonder why in this package instead of using [email protected] in the package.json file you are using "stats-lite": "vtex/node-stats-lite#dist"

See > https://github.com/vtex/node-vtex-api/blob/v6.47.0/package.json#L84-L86

TBH that's terrible, IMO. You should never use latest version or no version of a package, it could introduce several side effects. Please correct me if I'm wrong or explain to me why you're doing that? Why not using [email protected] ?

Steps to Reproduce (for bugs)

Use the repository https://github.com/vtex-apps/payment-provider-example, update the repo to use yarn 4.2.2. You will need to adjust the package.json files.

Context

I'm setting up the folder structure for being able to build a payment app following the Payment Provider Framework but since I have a monorepo installing @vtex/[email protected] breaks yarn install.

Your Environment

  • Version used: 6.47.0
  • Environment name and version (e.g. Chrome 39, node.js 5.4): node 20.14.0 + yarn 4.2.2
  • Operating System and version (desktop or mobile):
  • Link to your project: Private repo.

inglkruiz avatar Jun 18 '24 10:06 inglkruiz

FYI > https://github.com/yarnpkg/berry/issues/6240

inglkruiz avatar Jun 18 '24 11:06 inglkruiz