diff --git a/.eslintrc.js b/.eslintrc.js
index ba94036b0f50bc..14c53277a19a47 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -189,34 +189,6 @@ module.exports = {
// as well to lib/.eslintrc.yaml.
'no-restricted-syntax': [
'error',
- {
- selector: "CallExpression[callee.property.name='deepStrictEqual'][arguments.2.type='Literal']",
- message: 'Do not use a literal for the third argument of assert.deepStrictEqual()',
- },
- {
- selector: "CallExpression[callee.property.name='doesNotThrow']",
- message: 'Do not use `assert.doesNotThrow()`. Write the code without the wrapper and add a comment instead.',
- },
- {
- selector: "CallExpression[callee.property.name='doesNotReject']",
- message: 'Do not use `assert.doesNotReject()`. Write the code without the wrapper and add a comment instead.',
- },
- {
- selector: "CallExpression[callee.property.name='rejects'][arguments.length<2]",
- message: '`assert.rejects()` must be invoked with at least two arguments.',
- },
- {
- selector: "CallExpression[callee.property.name='strictEqual'][arguments.2.type='Literal']",
- message: 'Do not use a literal for the third argument of assert.strictEqual()',
- },
- {
- selector: "CallExpression[callee.property.name='throws'][arguments.1.type='Literal']:not([arguments.1.regex])",
- message: 'Use an object as second argument of `assert.throws()`.',
- },
- {
- selector: "CallExpression[callee.property.name='throws'][arguments.length<2]",
- message: '`assert.throws()` must be invoked with at least two arguments.',
- },
{
selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]",
message: '`setTimeout()` must be invoked with at least two arguments.',
@@ -229,22 +201,6 @@ module.exports = {
selector: 'ThrowStatement > CallExpression[callee.name=/Error$/]',
message: 'Use `new` keyword when throwing an `Error`.',
},
- {
- selector: "CallExpression[callee.property.name='notDeepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
- message: 'The first argument should be the `actual`, not the `expected` value.',
- },
- {
- selector: "CallExpression[callee.property.name='notStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
- message: 'The first argument should be the `actual`, not the `expected` value.',
- },
- {
- selector: "CallExpression[callee.property.name='deepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
- message: 'The first argument should be the `actual`, not the `expected` value.',
- },
- {
- selector: "CallExpression[callee.property.name='strictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
- message: 'The first argument should be the `actual`, not the `expected` value.',
- },
{
selector: "CallExpression[callee.name='isNaN']",
message: 'Use Number.isNaN() instead of the global isNaN() function.',
diff --git a/.github/ISSUE_TEMPLATE/3-api-ref-docs-problem.md b/.github/ISSUE_TEMPLATE/3-api-ref-docs-problem.md
new file mode 100644
index 00000000000000..3ec3959eb67173
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3-api-ref-docs-problem.md
@@ -0,0 +1,54 @@
+---
+name: "\U0001F4D7 Open an issue regarding the Node.js API reference docs"
+about: Let us know about any problematic API reference documents
+title: "doc: "
+labels: doc
+---
+
+# 📗 API Reference Docs Problem
+
+
+
+
+
+- **Version**: ✍️
+- **Platform**: ✍️
+- **Subsystem**: ✍️
+
+## Location
+
+_Section of the site where the content exists_
+
+Affected URL(s):
+- https://nodejs.org/api/✍️
+
+## Problem description
+
+_Concise explanation of what you found to be problematic_
+
+
+
+✍️
+
+---
+
+
+
+- [ ] I would like to work on this issue and submit a pull request.
diff --git a/BUILDING.md b/BUILDING.md
index a6cb0695bfdc0a..d0a3813b5794d0 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -255,6 +255,8 @@ Installation via Linux package manager can be achieved with:
FreeBSD and OpenBSD users may also need to install `libexecinfo`.
+Python 3 users may also need to install `python3-distutils`.
+
#### macOS prerequisites
* Xcode Command Line Tools >= 8 for macOS
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ebb5f874c1e068..504a60823d431b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,7 +28,8 @@ release.
-12.18.0
+12.18.1
+12.18.0 12.17.0 12.16.3 12.16.2
diff --git a/Makefile b/Makefile
index 3e27af2c7673bb..2c0b1d42fd7568 100644
--- a/Makefile
+++ b/Makefile
@@ -292,7 +292,7 @@ v8:
tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS)
.PHONY: jstest
-jstest: build-addons build-abort-tests build-js-native-api-tests build-node-api-tests ## Runs addon tests and JS tests
+jstest: build-addons build-js-native-api-tests build-node-api-tests ## Runs addon tests and JS tests
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) \
--skip-tests=$(CI_SKIP_TESTS) \
$(CI_JS_SUITES) \
@@ -316,7 +316,6 @@ test: all ## Runs default tests, linters, and builds docs.
$(MAKE) -s tooltest
$(MAKE) -s test-doc
$(MAKE) -s build-addons
- $(MAKE) -s build-abort-tests
$(MAKE) -s build-js-native-api-tests
$(MAKE) -s build-node-api-tests
$(MAKE) -s cctest
@@ -325,7 +324,6 @@ test: all ## Runs default tests, linters, and builds docs.
.PHONY: test-only
test-only: all ## For a quick test, does not run linter or build docs.
$(MAKE) build-addons
- $(MAKE) build-abort-tests
$(MAKE) build-js-native-api-tests
$(MAKE) build-node-api-tests
$(MAKE) cctest
@@ -335,7 +333,6 @@ test-only: all ## For a quick test, does not run linter or build docs.
# Used by `make coverage-test`
test-cov: all
$(MAKE) build-addons
- $(MAKE) build-abort-tests
$(MAKE) build-js-native-api-tests
$(MAKE) build-node-api-tests
$(MAKE) cctest
@@ -455,31 +452,6 @@ test/node-api/.buildstamp: $(ADDONS_PREREQS) \
# TODO(bnoordhuis) Force rebuild after gyp or node-gyp update.
build-node-api-tests: | $(NODE_EXE) test/node-api/.buildstamp
-ABORT_BINDING_GYPS := \
- $(filter-out test/abort/??_*/binding.gyp, \
- $(wildcard test/abort/*/binding.gyp))
-
-ABORT_BINDING_SOURCES := \
- $(filter-out test/abort/??_*/*.c, $(wildcard test/abort/*/*.c)) \
- $(filter-out test/abort/??_*/*.cc, $(wildcard test/abort/*/*.cc)) \
- $(filter-out test/abort/??_*/*.h, $(wildcard test/abort/*/*.h))
-
-# Implicitly depends on $(NODE_EXE), see the build-node-api-tests rule for rationale.
-test/abort/.buildstamp: $(ADDONS_PREREQS) \
- $(ABORT_BINDING_GYPS) $(ABORT_BINDING_SOURCES) \
- src/node_api.h src/node_api_types.h src/js_native_api.h \
- src/js_native_api_types.h src/js_native_api_v8.h src/js_native_api_v8_internals.h
- @$(call run_build_addons,"$$PWD/test/abort",$@)
-
-.PHONY: build-abort-tests
-# .buildstamp needs $(NODE_EXE) but cannot depend on it
-# directly because it calls make recursively. The parent make cannot know
-# if the subprocess touched anything so it pessimistically assumes that
-# .buildstamp is out of date and need a rebuild.
-# Just goes to show that recursive make really is harmful...
-# TODO(bnoordhuis) Force rebuild after gyp or node-gyp update.
-build-abort-tests: | $(NODE_EXE) test/abort/.buildstamp
-
BENCHMARK_NAPI_BINDING_GYPS := $(wildcard benchmark/napi/*/binding.gyp)
BENCHMARK_NAPI_BINDING_SOURCES := \
@@ -500,14 +472,12 @@ clear-stalled:
echo $${PS_OUT} | xargs kill -9; \
fi
-test-build: | all build-addons build-abort-tests build-js-native-api-tests build-node-api-tests
+test-build: | all build-addons build-js-native-api-tests build-node-api-tests
test-build-js-native-api: all build-js-native-api-tests
test-build-node-api: all build-node-api-tests
-test-build-abort: all build-abort-tests
-
.PHONY: test-all
test-all: test-build ## Run default tests with both Debug and Release builds.
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=debug,release
@@ -520,7 +490,7 @@ test-all-suites: | clear-stalled test-build bench-addons-build doc-only ## Run a
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) test/*
# CI_* variables should be kept synchronized with the ones in vcbuild.bat
-CI_NATIVE_SUITES ?= addons js-native-api node-api abort
+CI_NATIVE_SUITES ?= addons js-native-api node-api
CI_JS_SUITES ?= default
ifeq ($(node_use_openssl), false)
CI_DOC := doctool
@@ -532,7 +502,7 @@ endif
# Build and test addons without building anything else
# Related CI job: node-test-commit-arm-fanned
test-ci-native: LOGLEVEL := info
-test-ci-native: | test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp test/abort/.buildstamp
+test-ci-native: | test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) $(CI_NATIVE_SUITES)
@@ -554,7 +524,7 @@ test-ci-js: | clear-stalled
.PHONY: test-ci
# Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
test-ci: LOGLEVEL := info
-test-ci: | clear-stalled build-addons build-abort-tests build-js-native-api-tests build-node-api-tests doc-only
+test-ci: | clear-stalled build-addons build-js-native-api-tests build-node-api-tests doc-only
out/Release/cctest --gtest_output=xml:out/junit/cctest.xml
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
@@ -659,17 +629,8 @@ test-node-api-clean:
$(RM) -r test/node-api/*/build
$(RM) test/node-api/.buildstamp
-.PHONY: test-abort
-test-abort: test-build-abort
- $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) test-abort
-
-.PHONY: test-abort-clean
-test-abort-clean:
- $(RM) -r test/abort/*/build
- $(RM) test/abort/.buildstamp
-
.PHONY: test-addons
-test-addons: test-build test-js-native-api test-node-api test-abort
+test-addons: test-build test-js-native-api test-node-api
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) addons
.PHONY: test-addons-clean
@@ -679,7 +640,6 @@ test-addons-clean:
$(RM) test/addons/.buildstamp test/addons/.docbuildstamp
$(MAKE) test-js-native-api-clean
$(MAKE) test-node-api-clean
- $(MAKE) test-abort-clean
test-async-hooks:
$(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) async-hooks
@@ -688,7 +648,6 @@ test-with-async-hooks:
$(MAKE) build-addons
$(MAKE) build-js-native-api-tests
$(MAKE) build-node-api-tests
- $(MAKE) build-abort-tests
$(MAKE) cctest
NODE_TEST_WITH_ASYNC_HOOKS=1 $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) \
$(CI_JS_SUITES) \
diff --git a/common.gypi b/common.gypi
index 7b97fbebe2deac..3b9cc3e885b254 100644
--- a/common.gypi
+++ b/common.gypi
@@ -34,7 +34,7 @@
# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.37',
+ 'v8_embedder_string': '-node.38',
##### V8 defaults for Node.js #####
diff --git a/deps/npm/.npmignore b/deps/npm/.npmignore
index c42aaf956257d5..f45f47b93829b8 100644
--- a/deps/npm/.npmignore
+++ b/deps/npm/.npmignore
@@ -24,5 +24,5 @@ html/*.png
*.pyc
-
+Session.vim
.nyc_output
diff --git a/deps/npm/.travis.yml b/deps/npm/.travis.yml
index cec3aac226b1c1..9fb0d51133692c 100644
--- a/deps/npm/.travis.yml
+++ b/deps/npm/.travis.yml
@@ -12,9 +12,6 @@ node_js:
env: "DEPLOY_VERSION=testing"
-notifications:
- slack: npm-inc:kRqQjto7YbINqHPb1X6nS3g8
-
install:
- "node . install"
diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS
index c2a38c02d53f97..08cade33b6ff10 100644
--- a/deps/npm/AUTHORS
+++ b/deps/npm/AUTHORS
@@ -691,3 +691,7 @@ Vitaliy Markitanov <9357021+vit100@users.noreply.github.com>
simon_s
John Kennedy
Bernard Kitchens
+Jarda Snajdr
+Naix Geng <1308363651@qq.com>
+Dylan Treisman
+mum-never-proud
diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md
index 5cd9c8d8f88615..bae7de70605601 100644
--- a/deps/npm/CHANGELOG.md
+++ b/deps/npm/CHANGELOG.md
@@ -1,3 +1,18 @@
+## 6.14.5 (2020-05-01)
+
+### BUG FIXES
+
+* [`33ec41f18`](https://github.com/npm/cli/commit/33ec41f18f557146607cb14a7a38c707fce6d42c) [#758](https://github.com/npm/cli/pull/758) fix: relativize file links when inflating shrinkwrap ([@jsnajdr](https://github.com/jsnajdr))
+* [`94ed456df`](https://github.com/npm/cli/commit/94ed456dfb0b122fd4192429024f034d06c3c454) [#1162](https://github.com/npm/cli/pull/1162) fix: npm init help output ([@mum-never-proud](https://github.com/mum-never-proud))
+
+### DEPENDENCIES
+
+* [`5587ac01f`](https://github.com/npm/cli/commit/5587ac01ffd0d2ea830a6bbb67bb34a611ffc409) `npm-registry-fetch@4.0.4`
+ * [`fc5d94c39`](https://github.com/npm/npm-registry-fetch/commit/fc5d94c39ca218d78df77249ab3a6bf1d9ed9db1) fix: removed default timeout
+* [`07a4d8884`](https://github.com/npm/cli/commit/07a4d8884448359bac485a49c05fd2d23d06834b) `graceful-fs@4.2.4`
+* [`8228d1f2e`](https://github.com/npm/cli/commit/8228d1f2e427ad9adee617266108acd1ee39b4a5) `mkdirp@0.5.5`
+* [`e6d208317`](https://github.com/npm/cli/commit/e6d20831740a84aea766da2a2913cf82a4d56ada) `nopt@4.0.3`
+
## 6.14.4 (2020-03-24)
### DEPENDENCIES
diff --git a/deps/npm/CONTRIBUTING.md b/deps/npm/CONTRIBUTING.md
index 981f0457d5c6bf..c08bd090cb64b4 100644
--- a/deps/npm/CONTRIBUTING.md
+++ b/deps/npm/CONTRIBUTING.md
@@ -73,7 +73,7 @@ All interactions in the npm repository are covered by the [npm Code of Conduct](
# Make sure you install the dependencies first before running tests.
$ npm install
-# Run tests for the CLI (it could take awhile).
+# Run tests for the CLI (it could take a while).
$ npm run test
```
@@ -97,7 +97,7 @@ $ make link
#################
# ALTERNATIVELY
#################
-# If ou're working on a feature or bug, you can run the same command on your
+# If you're working on a feature or bug, you can run the same command on your
# working branch and link that code.
# Create new branch to work from (there are many ways)
@@ -130,7 +130,7 @@ let you know that it's sent the request to start the benchmark suite.
![image](https://user-images.githubusercontent.com/2818462/72312698-e2e57f80-3656-11ea-9fcf-4a8f6b97b0d1.png)
-If you've updated your pull-reuqest and you'd like to run the the benchmark suite again, simple update your original comment, by adding `test this please ✅` again, or simply just adding another emoji to the **end**. _(The trigger is the phrase "test this please ✅" at the beginning of a comment. Updates will trigger as well, so long as the phrase stays at the beginning.)_.
+If you've updated your pull-request and you'd like to run the the benchmark suite again, simple update your original comment, by adding `test this please ✅` again, or simply just adding another emoji to the **end**. _(The trigger is the phrase "test this please ✅" at the beginning of a comment. Updates will trigger as well, so long as the phrase stays at the beginning.)_.
![image](https://user-images.githubusercontent.com/2818462/72313006-ec231c00-3657-11ea-9bd9-227634d67362.png)
diff --git a/deps/npm/docs/content/cli-commands/npm.md b/deps/npm/docs/content/cli-commands/npm.md
index 01a9308204d196..2d9789dd77c1c6 100644
--- a/deps/npm/docs/content/cli-commands/npm.md
+++ b/deps/npm/docs/content/cli-commands/npm.md
@@ -57,14 +57,14 @@ on a preinstalled git.
If one of the packages npm tries to install is a native node module and
requires compiling of C++ Code, npm will use
-[node-gyp](https://github.com/TooTallNate/node-gyp) for that task.
-For a Unix system, [node-gyp](https://github.com/TooTallNate/node-gyp)
+[node-gyp](https://github.com/nodejs/node-gyp) for that task.
+For a Unix system, [node-gyp](https://github.com/nodejs/node-gyp)
needs Python, make and a buildchain like GCC. On Windows,
Python and Microsoft Visual Studio C++ are needed. Python 3 is
-not supported by [node-gyp](https://github.com/TooTallNate/node-gyp).
+not supported by [node-gyp](https://github.com/nodejs/node-gyp).
For more information visit
-[the node-gyp repository](https://github.com/TooTallNate/node-gyp) and
-the [node-gyp Wiki](https://github.com/TooTallNate/node-gyp/wiki).
+[the node-gyp repository](https://github.com/nodejs/node-gyp) and
+the [node-gyp Wiki](https://github.com/nodejs/node-gyp/wiki).
### Directories
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index a9ca433fdea08c..befedd0724aa56 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -145,9 +145,15 @@ suites, then those executables will be added to the `PATH` for
executing the scripts. So, if your package.json has this:
```json
-{ "name" : "foo"
-, "dependencies" : { "bar" : "0.1.x" }
-, "scripts": { "start" : "bar ./test" } }
+{
+ "name" : "foo",
+ "dependencies" : {
+ "bar" : "0.1.x"
+ },
+ "scripts": {
+ "start" : "bar ./test"
+ }
+}
```
then you could run `npm start` to execute the `bar` script, which is
@@ -176,9 +182,15 @@ there is a config param of `[@]:`. For example,
if the package.json has this:
```json
-{ "name" : "foo"
-, "config" : { "port" : "8080" }
-, "scripts" : { "start" : "node server.js" } }
+{
+ "name" : "foo",
+ "config" : {
+ "port" : "8080"
+ },
+ "scripts" : {
+ "start" : "node server.js"
+ }
+}
```
and the server.js is this:
@@ -213,10 +225,11 @@ process.env.npm_package_scripts_install === "foo.js"
For example, if your package.json contains this:
```json
-{ "scripts" :
- { "install" : "scripts/install.js"
- , "postinstall" : "scripts/postinstall.js"
- , "uninstall" : "scripts/uninstall.js"
+{
+ "scripts" : {
+ "install" : "scripts/install.js",
+ "postinstall" : "scripts/install.js",
+ "uninstall" : "scripts/uninstall.js"
}
}
```
@@ -232,10 +245,11 @@ If you want to run a make command, you can do so. This works just
fine:
```json
-{ "scripts" :
- { "preinstall" : "./configure"
- , "install" : "make && make install"
- , "test" : "make test"
+{
+ "scripts" : {
+ "preinstall" : "./configure",
+ "install" : "make && make install",
+ "test" : "make test"
}
}
```
diff --git a/deps/npm/docs/public/cli-commands/npm-access/index.html b/deps/npm/docs/public/cli-commands/npm-access/index.html
index f3853e530b6b3a..63df3a3728374c 100644
--- a/deps/npm/docs/public/cli-commands/npm-access/index.html
+++ b/deps/npm/docs/public/cli-commands/npm-access/index.html
@@ -26,7 +26,7 @@
/* sc-component-id: FoundTypo__Container-sc-1e373sc-0 */
.fMOzaj{margin:80px 0;border-top:1px solid black;padding:20px 0;}
/* sc-component-id: Page__Content-sc-4b62ym-0 */
-.gJQTGP{max-width:760px;margin:auto;padding:0 30px 120px;}