danpaz / bodybuilder

An elasticsearch query body builder :muscle:

Home Page:http://bodybuilder.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem with 2.2.23 npm release?

real34 opened this issue · comments

Hi,

This morning I detected an issue in our deployment pipeline that seems to be related to the 2.2.23/2.2.24 releases that occured a few hours ago.

Here is the error:

Error: Cannot find module 'bodybuilder'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/app/build/server/core/graphql/webpack:/external "bodybuilder":1:1)
    at __webpack_require__ (/app/build/server/core/graphql/webpack:/webpack/bootstrap:19:1)
    at Module.<anonymous> (/app/build/server/core/graphql/writeIntrospectionFiles.js:9009:29)
    at __webpack_require__ (/app/build/server/core/graphql/webpack:/webpack/bootstrap:19:1)
    at /app/build/server/core/graphql/webpack:/webpack/bootstrap:83:1
    at Object.<anonymous> (/app/build/server/core/graphql/writeIntrospectionFiles.js:88:10)

The app depends on 2.2.* and got the 2.2.23 version from npm.

Extract of the package-lock.json:

    "bodybuilder": {
      "version": "2.2.23",
      "resolved": "https://registry.npmjs.org/bodybuilder/-/bodybuilder-2.2.23.tgz",
      "integrity": "sha512-sQUrEPFMY0/8rpIFq8U0QL0tlRX9lGZfuXmte9yo/9mH1LpD3U5Um4s5V6q0ARkuCf82070RHTuACQq1X+n2sQ==",

Here is a diff of a tree of node_modules/bodybuilder of an application already installed before yesterday and the new one I get today: the lib directory is gone.

https://www.diffchecker.com/etAJCbe6

Is this an issue with the release on npm?

We have same problem.....

I am facing the same issue.

the lib directory is gone.

Fixing the version to 2.2.22 fixed it.

I have the same issue.

Same issue with latest release.

I had a problem with a project using this library, and I fixed this issue by changing the version of package.json from bodybuilder@^2.22.20 to bodybuilder@2.22.22 fixed version. This update looks very unstable.

Looks like something broke with the last few publishes. Looking into it now, but yes the immediate workaround is to use v2.2.22.

I've published 2.2.25 which includes the lib files and should fix the issue. Could someone confirm please?

works for me

@danpaz
First of all, you need to take steps to ensure that the problematic version is no longer downloaded.
Please deprecate the currently problematic version from npm.

npm deprecate bodybuilder@2.2.23 "critical bug fixed"
npm deprecate bodybuilder@2.2.24 "critical bug fixed"

@uyu423 I'm thinking I'll actually unpublish those two versions since they're completely broken.

@danpaz You are right.

Missed the deadline to unpublish so I went ahead and deprecated 2.2.23 and 2.2.24.

As for what caused the breakage, it seems travis ci deployment changed recently and started logging in the deploy step:

Cleaning up git repository with `git stash --all`. If you need build artifacts for deployment, set `deploy.skip_cleanup: true`. See https://docs.travis-ci.com/user/deployment#Uploading-Files-and-skip_cleanup.

The travis build does produce untracked files, such as those in lib, which are necessary for the package to work.

ccf0f71 adds deploy.skip_cleanup: true as recommended and should fix the issue moving forward.

Thanks for reporting @real34 and others 🙇

Thanks a lot for your responsiveness, and for your work on this project! 👍