Commit graph

1356 commits

Author SHA1 Message Date
Stefan Stojanovic
a0b3d1c3af
test: remove deprecated Node.js and Python (#2868)
* test: remove deprecated node.js and python

Removed Node.js v14.x and Python v3.7. Also added Node.js v20.x.

* Update .github/workflows/tests.yml

Co-authored-by: Christian Clauss <cclauss@me.com>

---------

Co-authored-by: Christian Clauss <cclauss@me.com>
2023-06-12 21:41:39 +02:00
Stefan Stojanovic
7a3fe1c437
win,install: only download target_arch node.lib (#2857)
Instead of downloading node.lib for all architectures, just download the
one that will be needed. Install.js changed to enable downloading just
node.lib for node versions that already have tarball downloaded and
extracted. Not fetching lib now fails the installation. Increased
installVersion because of the changes.

Refs: https://github.com/nodejs/node-gyp/issues/2847
2023-06-09 17:38:42 +02:00
David Sanders
55048f8be5
fix: log statement is for devDir not nodedir (#2840)
Signed-off-by: David Sanders <dsanders11@ucsbalum.com>
2023-06-06 07:36:15 +02:00
Stefan Stojanovic
5df2b72a8f
Migration from tap to mocha (#2851)
* migrate from tap to mocha

After make-fetch-happen update GitHub Actions started failing. Migrating
from tap to mocha testing framework for GitHub Action stability.

* write custom test reporter for more verbose output

Implemented a simple custom mocha test reporter to replace the default
one. Made test report more developer friendly.
2023-06-05 17:05:29 +02:00
David Sanders
aaa117c514
fix: extract tarball to temp directory on Windows (#2846)
* fix: check for errors while extracting downloaded tarball

Signed-off-by: David Sanders <dsanders11@ucsbalum.com>

* test: parallel installs

Signed-off-by: David Sanders <dsanders11@ucsbalum.com>

* fix: extract tarball to temp directory on Windows

Signed-off-by: David Sanders <dsanders11@ucsbalum.com>

---------

Signed-off-by: David Sanders <dsanders11@ucsbalum.com>
2023-05-25 17:24:07 +02:00
Dennis Ameling
bb76021d35 feat: add support for native windows arm64 build tools
Visual Studio 2022 17.4 adds a native C++ compiler for Windows on ARM.
This allows arm64 devices to leverage native build tools, leading to
a 35% (or more) speed increase.
https://devblogs.microsoft.com/visualstudio/arm64-visual-studio-is-officially-here/

Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
2023-05-25 12:29:04 +02:00
Christian Clauss
6f3c2d3c6c
docs: docs/README.md add advise about deprecated node-sass (#2828) 2023-04-26 18:41:38 +02:00
ravindraP20
02480f6b68
update make-fetch-happen to 11.0.3 (#2796)
http-cache-semantics 4.1.0 is vulnerable

https://www.cve.org/CVERecord?id=CVE-2022-25881
2023-04-22 06:55:19 +02:00
Maksim Beliaev
c7927e228d
doc: Update README.md (#2822)
Co-authored-by: Christian Clauss <cclauss@me.com>
2023-04-10 17:34:26 +08:00
Raymond Zhao
337e8e6820
chore: get update-gyp.py to work with Python >= v3.5 (#2826)
* chore: get update-gyp.py to work with Python v3.9

* Ruff ignore rule PLC1901

---------

Co-authored-by: Christian Clauss <cclauss@me.com>
2023-04-06 20:07:02 +02:00
Christian Clauss
41882a975b
Improved advise on repacing node-sass with sass (#2758)
* Improved advise on repacing node-sass with sass

* Update README.md
2023-03-13 12:14:24 +01:00
Christian Clauss
fc0ddc6523
feat: Upgrade Python linting from flake8 to ruff (#2815)
[Ruff](https://beta.ruff.rs/) supports [over 500 lint rules](https://beta.ruff.rs/docs/rules) including bandit, isort, pylint, pyupgrade, and flake8 plus its plugins and is written in Rust for speed.

This GitHub Action will provide contributors with intuitive GitHub Annotations.

![image](https://user-images.githubusercontent.com/3709715/223758136-afc386d2-70aa-4eff-953a-2c2d82ceea23.png)

The `Required` in the checks below should be:
1. Removed from `flake8-annotation` and added to `ruff-annotation` which replaces it.
2. Removed from `isort` and added to `ruff` which replaces it.
2023-03-13 11:43:22 +01:00
github-actions[bot]
39ac2c135d chore: release 9.3.1 2022-12-20 09:41:21 +11:00
Luke Karrys
888efb9055
fix: increase node 12 support to ^12.13 (#2771) 2022-12-16 22:11:15 +01:00
Luke Karrys
38f01fa57d
ci: update python test matrix (#2774)
* ci: drop python 3.6 from test matrix

* Update .github/workflows/tests.yml

Co-authored-by: Christian Clauss <cclauss@me.com>

Co-authored-by: Christian Clauss <cclauss@me.com>
2022-12-10 21:29:32 +01:00
Christian Clauss
ee46f9d2b5
Add Python 3.11 to the testing
https://docs.python.org/3/whatsnew/3.11.html
2022-11-14 08:43:25 +01:00
github-actions[bot]
2cc72be3b3 chore: release 9.3.0 2022-10-11 15:52:32 +11:00
Michaël Zasso
713b8dcdbf
feat(gyp): update gyp to v0.14.0 (#2749) 2022-10-10 19:51:12 +08:00
Michaël Zasso
131d1a463b
feat: remove support for VS2015 in Node.js >=19 (#2746) 2022-10-08 23:17:06 +08:00
Gaby Baghdadi
7d0c83d2a9
feat: support IBM Open XL C/C++ on z/OS (#2743) 2022-10-08 10:50:05 +08:00
github-actions[bot]
4bc4747f27
chore: release 9.2.0 (#2735)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-04 21:39:25 +11:00
Rich Trott
33deab4ca8
Adding tarfile member sanitization to extractall() (#2741)
Co-authored-by: TrellixVulnTeam <kasimir.schulz@trellix.com>
2022-10-01 19:05:01 -07:00
Kevin Adler
a26494fbb8 feat: Add proper support for IBM i
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.
2022-09-24 02:17:10 +01:00
Kevin Adler
3e2a5324f1 feat(gyp): update gyp to v0.13.0 2022-09-24 02:17:10 +01:00
Mr. Doge
c379a744c6
fix: node.js debugger adds stderr (but exit code is 0) -> shouldn't throw (#2719)
* fix: node.js debugger adds stderr (but exit code is 0) -> shouldn't throw

* input.py: subprocess.Popen() -> subprocess.run()
2022-08-22 16:19:49 +02:00
Gar
8958ecf2bb
chore: update dependency - nopt@6.0.0 (#2707)
No functional changes, just dropping old node versions from engines,
linting, and fixing CI.
2022-07-22 20:31:10 +10:00
alexcfyung
83c0a12bf2
lib: enable support for zoslib on z/OS (#2600)
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 <baghdadi@ca.ibm.com>

Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
2022-07-15 10:13:27 +08:00
github-actions[bot]
5f9d86d731 chore: release 9.1.0 2022-07-14 11:01:19 +10:00
Christian Clauss
f0b7863dad
fix: re-label (#2689) 2022-07-13 10:25:24 +02:00
Christian Clauss
68b5b5be9c
test: Try msvs-version: [2016, 2019, 2022] (#2700)
* test: Try msvs-version: [2016, 2019, 2022]

* main, not master

* Don't npm audit fix --force
2022-07-13 10:11:32 +02:00
Christian Clauss
1c64ca7f47
test: Upgrade GitHub Actions (#2701)
* test: Upgrade GitHub Actions

* node: 18x --> 18.x
2022-07-13 10:11:12 +02:00
hubbergit
ea8520e385
feat: Update function getSDK() to support Windows 11 SDK (#2565) 2022-07-13 16:00:11 +08:00
Christian Clauss
9778dd0024
Migrate macOS acid test from master to main (#2686)
Follow-on to #2495
2022-06-22 07:51:10 +02:00
Michael Dawson
ca1f0681a5
build: update due to rename of primary branch 2022-06-15 11:57:51 -04:00
Nick Wang
d7687d5566
Clarify wording to redirect to macOS_Catalina.md (#2588) 2022-06-10 14:13:05 +02:00
DeeDeeG
b9ddcd5bbd
Add Python symlink to path (for non-Windows OSes only) (#2362)
* 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.
2022-06-10 14:11:23 +02:00
Rod Vagg
6f74c762fe fix: extend tap timeout length to allow for slow CI 2022-05-12 13:31:40 +10:00
Rod Vagg
147e3d34f4 fix: new ca & server certs, bundle in .js file and unpack for testing
bundling in certs.js rather than including the raw files should avoid some
false positives that low-quality security scanners keep on complaining about.
2022-05-12 13:31:40 +10:00
Doni Rubiagatra
bf81cd452b
fix: typo on readme 2022-05-11 13:46:42 +10:00
Christian Clauss
62d28151bf
doc: update docs/README.md with latest version number 2022-05-11 13:45:41 +10:00
Christian Clauss
245cd5bbe4
test: Upgrade GitHub Actions (#2623) 2022-03-01 17:06:22 +01:00
github-actions[bot]
b1ad492292 chore: release 9.0.0 2022-03-01 14:00:03 +11:00
alexcfyung
1d499dd560 lib: add lib.target as path for searching libnode on z/OS 2022-02-25 09:45:50 +11:00
Cheng Zhao
eef4eefccb fix: _ in npm_config_ env variables 2022-02-16 10:48:47 +11:00
Mohamed-Elzohary
a32a9aa8e6 added node-heapdump binding.gyp 2022-02-16 10:48:03 +11:00
nlf
839e414b63 fix: update make-fetch-happen to a minimum of 10.0.3 2022-02-16 10:45:20 +11:00
Gar
78f66604e0 deps: make-fetch-happen@10.0.1
The breaking change was dropping node10 support, which node-gyp has
already done.
2022-02-10 12:55:26 +11:00
Gar
6562f92a6f
deps!: increase "engines" to "node" : "^12.22 || ^14.13 || >=16" (#2601)
Makes npm warn users if they are using an unsupported Node version.
2022-01-31 13:42:44 +11:00
Christian Clauss
e069f13658
doc: Update Python versions (#2571)
* Add Python 3.10
* Drop Python 3.6 which [EOLs on 23 Dec. 2021](https://devguide.python.org/#status-of-python-branches)
* macOS: clarify `Xcode Command Line Tools` standalone vs. from full Xcode
* Window: Use the same URL as https://github.com/nodejs/node/blob/master/BUILDING.md#windows
2022-01-30 23:13:36 +01:00
owl from hogvarts
a2f2988706
docs: rephrase explanation of which node-gyp is used by npm (#2587) 2022-01-07 20:23:52 +11:00