Skip to content

Conversation

@panoramic-pandorum-intelpayportal-art
Copy link

@panoramic-pandorum-intelpayportal-art panoramic-pandorum-intelpayportal-art commented Dec 18, 2022

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

imatlopez and others added 30 commits January 3, 2020 11:32
PR-URL: nodejs#2001
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
PR-URL: nodejs#1992
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: nodejs#1993
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: nodejs#1994
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
PR-URL: nodejs#2011
I have quite a few instances of VS installed and it looks like
Find-VisualStudio.cs enumerates all of them, even when
find-visualstudio.js already knows which one it wants (from the
environment variable in the developer command prompt).  One of them
(from 15.7.2, if that's interesting) causes a COMException on the
ISetupInstance2.GetPackages call.  Ignoring such packages seems
harmless and unblocks the rest of the run.

PR-URL: nodejs#2018
Reviewed-By: João Reis <[email protected]>
PR-URL: nodejs#2021
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Republish of v5.0.6 but with node-gyp-v5.0.6.tar.gz removed from pack file

PR-URL: nodejs#1972
I have quite a few instances of VS installed and it looks like
Find-VisualStudio.cs enumerates all of them, even when
find-visualstudio.js already knows which one it wants (from the
environment variable in the developer command prompt).  One of them
(from 15.7.2, if that's interesting) causes a COMException on the
ISetupInstance2.GetPackages call.  Ignoring such packages seems
harmless and unblocks the rest of the run.

PR-URL: nodejs#2018
Reviewed-By: João Reis <[email protected]>
PR-URL: nodejs#1975
Reviewed-By: Ujjwal Sharma <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
PR-URL: nodejs#2063
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
PR-URL: nodejs#2073
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: nodejs#2078
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
A lot of new issues in node-gyp are related to outdated node-gyp or
broken modules. This removes the suggestion to open a new issue in the
node-gyp, instead suggesting the user should open the issue in the
module issue tracker. It also makes the issue template more explicit
about providing the logs.

PR-URL: nodejs#2096
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Christian Clauss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
cclauss and others added 29 commits March 1, 2022 17:06
bundling in certs.js rather than including the raw files should avoid some
false positives that low-quality security scanners keep on complaining about.
* lib: create a Python symlink and add it to PATH

Helps to ensure a version of Python validated by lib/find-python.js
is used to run various Python scripts generated by gyp.

Known to affect gyp-mac-tool, probably affects gyp-flock-tool as well.

These Python scripts (such as `gyp-mac-tool`) are invoked directly,
via the generated Makefile, so their shebang lines determine
which Python binary is used to run them.
The shebang lines of these scripts are all `#!/usr/bin/env python3`,
so the first `python3` on the user's PATH will be used.

By adding a symlink to the Python binary validated by find-python.js,
and putting this symlink first on the PATH, we can ensure we use
a compatible version of Python to run these scripts.

(Only on Unix/Unix-like OSes. Symlinks are tricky on Windows,
and Python isn't used at build-time anyhow on Windows,
so this intervention isn't useful or necessary on Windows.

A similar technique for Windows, no symlinks required,
would be to make batch scripts which execute the target binary,
much like what Node does for its bundled copy of npm on Windows.)

* test: update mocked graceful-fs for configure test

Add missing functions "unlink()" and "symlink()" to mocked module.

* lib: log any errors when creating Python symlink

Warn users about errors, but continue on in case the user does
happen to have new enough Python on their PATH.

(The symlinks are only meant to fix an issue in a corner case,
where the user told `node-gyp` where new enough Python is,
but it's not the first `python3` on their PATH.
We should not introduce a new potential failure mode to all users
when fixing this bug. So no hard errors during the symlink process.)

* lib: improve error formatting for Python symlink

Logging the entire error object shows the stack twice,
and all the other information is contained in the stack.

It also messes with the order of what is logged.

Rather than logging a bunch of redundant information in a messy way,
we can log only the stack. Logging it in a separate log.warn()
also gets rid of an extra space character at the beginning of the line.

* lib: restore err.errno to logs for symlink errors

This info (err.errno) is the only piece of information
in the error object that is not redundant to err.stack.

* lib: use log.verbose, not log.warn

These messages aren't important enough to be `log.warn`s.

Log as verbose only; they will also appear in full error output.
* test: Upgrade GitHub Actions

* node: 18x --> 18.x
* test: Try msvs-version: [2016, 2019, 2022]

* main, not master

* Don't npm audit fix --force
Check if zos-base.h is in the directory identified by environment
variable ZOSLIB_INCLUDES if set; otherwise search for it from a set of
candidates under nodeRootDir. Then pass it as
-Dzoslib_include_dir=<path-found> to gyp_main.py for use in common.gypi
to set 'includes_dir' when compiling addons.

Co-authored-by: Gaby Baghdadi <[email protected]>

Co-authored-by: Gaby Baghdadi <[email protected]>
No functional changes, just dropping old node versions from engines,
linting, and fixing CI.
…hrow (nodejs#2719)

* fix: node.js debugger adds stderr (but exit code is 0) -> shouldn't throw

* input.py: subprocess.Popen() -> subprocess.run()
Python 3.9 on IBM i now properly returns "os400" for sys.platform
instead of claiming to be AIX as it did previously. While the IBM i PASE
environment is compatible with AIX, it is a subset and has numerous
differences which makes it beneficial to distinguish, however this means
that it now needs explicit support here.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* ci: drop python 3.6 from test matrix

* Update .github/workflows/tests.yml

Co-authored-by: Christian Clauss <[email protected]>

Co-authored-by: Christian Clauss <[email protected]>
@gengjiawen gengjiawen closed this Jan 4, 2023
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.