Leko / hothouse

:honeybee: Continuous dependency update for Node.js project
MIT License
34 stars 1 forks source link

Does not work with recent versions of yarn. #79

Closed remotezygote closed 6 years ago

remotezygote commented 6 years ago

Recent versions (since 1.3.2 at least) of yarn output their --json line-by-line, so the parsing code in this package does not work at all, specifically this line: https://github.com/Leko/hothouse/blob/master/packages/%40hothouse/client-yarn/src/index.js#L42

Not only is the output incompatible, it looks like even if you go grab the right line of output, it still doesn't work, since the format has changed.

Yarn issue for reference and rationale: https://github.com/yarnpkg/yarn/issues/714

Leko commented 6 years ago

Hi @remotezygote. I fixed this issue and released new version (see https://github.com/Leko/hothouse/releases/tag/v0.3.2).

Thank you for your reporting!

remotezygote commented 6 years ago

This does not seem to be working properly. I am getting the following error:

Commands in CI job:

yarn global add hothouse
hothouse -t $GH_AUTH_TOKEN

Output:

yarn global v1.7.0
[1/4] Resolving packages...
(node:63) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "hothouse@0.4.0" with binaries:
      - hothouse
Done in 11.44s.
undefined
Please report issue from here: https://github.com/Leko/hothouse/issues
TypeError: Cannot read property 'babel-eslint' of undefined
    at table.data.body.map.update (/usr/local/share/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:69:34)
    at Array.map (<anonymous>)
    at updates.reduce (/usr/local/share/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:63:39)
    at Array.reduce (<anonymous>)
    at Yarn.getUpdates (/usr/local/share/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:62:30)
    at _default (/usr/local/share/.config/yarn/global/node_modules/hothouse/dist/tasks/fetchUpdates.js:22:40)
    at module.exports (/usr/local/share/.config/yarn/global/node_modules/hothouse/dist/worker.js:28:40)
    at process.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/threads/lib/worker.node/slave.js:84:20)
    at process.emit (events.js:182:13)
    at emit (internal/child_process.js:811:12)
Please report issue from here: https://github.com/Leko/hothouse/issues
Exited with code 1

This is a monorepo using yarn workspaces.

remotezygote commented 6 years ago

Debug output: (redactions mine)

DEBUG=hothouse* hothouse -t <redacted>
  hothouse:cli CLI options are: { _: [],
  help: false,
  version: false,
  'per-package': true,
  p: true,
  perPackage: true,
  bail: true,
  b: true,
  'dry-run': false,
  dryRun: false,
  t: 'b910ad82787487662cbe2091b25935e5afce14ac',
  token: 'b910ad82787487662cbe2091b25935e5afce14ac',
  concurrency: 8,
  ignore: [],
  '$0': 'hothouse',
  'package-manager': undefined,
  'repository-structure': undefined } +0ms
  hothouse:Engine dryRun=false +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Yarn: matched=true +13ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Yarn: matched=true +21ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Detect package manager in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:PackageManagerResolver Yarn: matched=true +23ms
  hothouse:PackageManagerResolver Yarn: matched=true +24ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:PackageManagerResolver Yarn: matched=true +20ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:PackageManagerResolver Yarn: matched=true +23ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:PackageManagerResolver Yarn: matched=true +27ms
  hothouse:PackageManagerResolver Yarn: matched=true +19ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:PackageManagerResolver Yarn: matched=true +23ms
mhothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +5ms
  hothouse:RepositoryStructureResolver Detect repository structure in: /Users/<redacted>/workspaces/<redacted> +0ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +31ms
  hothouse:RepositoryStructureResolver YarnWorkspaces: matched=true +1ms
  hothouse:Engine Found 25 packages: [ <redacted but correct list of packages /> ] +1s
undefined
Please report issue from here: https://github.com/Leko/hothouse/issues
TypeError: Cannot read property 'babel-eslint' of undefined
    at table.data.body.map.update (/Users/<redacted>/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:69:34)
    at Array.map (<anonymous>)
    at updates.reduce (/Users/<redacted>/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:63:39)
    at Array.reduce (<anonymous>)
    at Yarn.getUpdates (/Users/<redacted>/.config/yarn/global/node_modules/@hothouse/client-yarn/dist/index.js:62:30)
    at _default (/Users/<redacted>/.config/yarn/global/node_modules/hothouse/dist/tasks/fetchUpdates.js:22:40)
    at module.exports (/Users/<redacted>/.config/yarn/global/node_modules/hothouse/dist/worker.js:28:40)
    at process.<anonymous> (/Users/<redacted>/.config/yarn/global/node_modules/threads/lib/worker.node/slave.js:84:20)
    at process.emit (events.js:182:13)
    at emit (internal/child_process.js:811:12)
Please report issue from here: https://github.com/Leko/hothouse/issues
remotezygote commented 6 years ago

I opened https://github.com/Leko/hothouse/pull/83 that fixes this issue. This uncovered #84 though, which I think I also have a fix for (just accounting for workspaces now).

remotezygote commented 6 years ago

Thanks for your help! I'm excited to see this work!