Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make running with Plug'n Play possible on node 13 #7650

Merged
merged 6 commits into from Nov 7, 2019
Merged

make running with Plug'n Play possible on node 13 #7650

merged 6 commits into from Nov 7, 2019

Conversation

sverweij
Copy link
Contributor

@sverweij sverweij commented Oct 26, 2019

Summary

On node 13 Module._findPath (which the setup() of generate-pnp-map-api.tpl.js
redefines) also gets called with null for the path parameter (by lib/internal/bootstrap/pre_execution.js in the (new) resolveMainPath function).

  • This fix ensures the patched _findPath (which gets generated into .pnp.js) also
    handles that situation.
  • Adds node 13 (and 12) to the build matrices of the CI's that support it - so it's possible to see the change works (and doesn't break other stuff on node 12 & 13)
    • azure pipelines
    • circleci/ linux
    • not on circleci/ macOS because there node is installed via homebrew - which doesn't have node 13 yet (maybe nvm can be used there instead? Holler if you want that - I can do that in a separate PR)
    • not on appveyor as it doesn't have a node 13 image yet either
  • Updates the change log to document the fix
  • ==> circle ci on macOS failed in the Install Node 10 step with a timeout. This seems a generic problem (also Use consistent title casing for headings and links #7649 (a readme update) is plagued by this). PR ci(circleci): prevent timeout on circle-ci macos node10 build #7651 fixes it.
    => I've taken the liberty to rebase this PR based on ci(circleci): prevent timeout on circle-ci macos node10 build #7651's branch.

fixes #7642

Test plan

  • manual run against demo repo
  • additional unit and/ or integration test run existing tests to prove everything works ok (e.g. packages/pkg-tests/pkg-tests-specs/sources - with this PR they don't fail anymore on node 13)
  • green ci

Notes

  • running yarn on yarn's repository under node 13 (on macOS) fails because there's no binary for fsevents (which uses node-gyp) and compiling from source fails.
  • Locally already without this patch 4 unit tests were failing (2 in init.js, 2 in integration.js). I might be able to fix them but that will be in a separate PR. I'd expect these to show up in the CI's output, but they don't (?).

@sverweij sverweij changed the title WIP: fix(generate-pnp-map-api.tpl.js): make running with Plug'n Play possible on node 13 WIP: make running with Plug'n Play possible on node 13 Oct 26, 2019
@sverweij sverweij changed the title WIP: make running with Plug'n Play possible on node 13 make running with Plug'n Play possible on node 13 Oct 26, 2019
The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's #7649 and #7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job
…ble on node 13

On node 13 Module._findPath (which the setup() of this module redefines) also gets
called with null for the path parameter (by lib/internal/bootstrap/pre_execution.js
in the (new) function resolveMainPath).

This fix ensures the patched _findPath also handles that situation.
arcanis pushed a commit that referenced this pull request Nov 7, 2019
The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's #7649 and #7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job
@arcanis arcanis merged commit 1ec3190 into yarnpkg:master Nov 7, 2019
@arcanis
Copy link
Member

arcanis commented Nov 7, 2019

Perfect, thanks!

arcanis pushed a commit that referenced this pull request Nov 22, 2019
The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's #7649 and #7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job
arcanis pushed a commit that referenced this pull request Nov 22, 2019
* ci(circleci): prevent timeout on circle-ci macos node10 build

The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's #7649 and #7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job

* fix(generate-pnp-map-api.tpl.js): make running with Plug'n Play possible on node 13

On node 13 Module._findPath (which the setup() of this module redefines) also gets
called with null for the path parameter (by lib/internal/bootstrap/pre_execution.js
in the (new) function resolveMainPath).

This fix ensures the patched _findPath also handles that situation.

* ci(azure-pipelines): add node 13 (and 12) to the azure-pipeline matrix

#7642

* ci(circleci): add node 13 (and 12) to the build matrix (linux)

* docs(CHANGELOG.md): adds PR #7650 to the change log
VincentBailly pushed a commit to VincentBailly/yarn that referenced this pull request Jun 10, 2020
…g#7651)

The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's yarnpkg#7649 and yarnpkg#7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job
VincentBailly pushed a commit to VincentBailly/yarn that referenced this pull request Jun 10, 2020
* ci(circleci): prevent timeout on circle-ci macos node10 build

The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's yarnpkg#7649 and yarnpkg#7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job

* fix(generate-pnp-map-api.tpl.js): make running with Plug'n Play possible on node 13

On node 13 Module._findPath (which the setup() of this module redefines) also gets
called with null for the path parameter (by lib/internal/bootstrap/pre_execution.js
in the (new) function resolveMainPath).

This fix ensures the patched _findPath also handles that situation.

* ci(azure-pipelines): add node 13 (and 12) to the azure-pipeline matrix

yarnpkg#7642

* ci(circleci): add node 13 (and 12) to the build matrix (linux)

* docs(CHANGELOG.md): adds PR yarnpkg#7650 to the change log
VincentBailly pushed a commit to VincentBailly/yarn that referenced this pull request Jun 10, 2020
…g#7651)

The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's yarnpkg#7649 and yarnpkg#7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job
VincentBailly pushed a commit to VincentBailly/yarn that referenced this pull request Jun 10, 2020
* ci(circleci): prevent timeout on circle-ci macos node10 build

The circle ci job for macOS on node 10 currently fails because it takes too long
(both PR's yarnpkg#7649 and yarnpkg#7650 don't green because of that). A big chunk of the time
is taken by updating homebrew - which in this macOS (the one connected to xcode 9
=> macOS 10.12) does not contain node 10 by default.

This change:
- sets the required xcode version to 11.0 -> this gets us a more up to date macOS
  version (except for node 6, which isn't available in the homebrew associated
  with xcode 11)
- removes the brew update from the macOS node 10 job

* fix(generate-pnp-map-api.tpl.js): make running with Plug'n Play possible on node 13

On node 13 Module._findPath (which the setup() of this module redefines) also gets
called with null for the path parameter (by lib/internal/bootstrap/pre_execution.js
in the (new) function resolveMainPath).

This fix ensures the patched _findPath also handles that situation.

* ci(azure-pipelines): add node 13 (and 12) to the azure-pipeline matrix

yarnpkg#7642

* ci(circleci): add node 13 (and 12) to the build matrix (linux)

* docs(CHANGELOG.md): adds PR yarnpkg#7650 to the change log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Running any script with pnp on node 13.0.1: "TypeError: paths is not iterable"
2 participants