diff --git a/.eslintrc.js b/.eslintrc.js index 9fda1a68397b23..bda641797e2951 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -76,6 +76,29 @@ module.exports = { 'doc/api/packages.md/*.js', ], parserOptions: { sourceType: 'module' }, + rules: { 'no-restricted-globals': [ + 'error', + { + name: '__filename', + message: 'Use import.meta.url instead', + }, + { + name: '__dirname', + message: 'Not available in ESM', + }, + { + name: 'exports', + message: 'Not available in ESM', + }, + { + name: 'module', + message: 'Not available in ESM', + }, + { + name: 'require', + message: 'Use import instead', + }, + ] }, }, ], rules: { diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md index d3af8e681917a0..51f8a326531ed4 100644 --- a/.github/SUPPORT.md +++ b/.github/SUPPORT.md @@ -16,7 +16,7 @@ resources: * [Questions tagged 'node.js' on Stack Overflow](https://stackoverflow.com/questions/tagged/node.js) * [#nodejs](https://openjs-foundation.slack.com/archives/CK9Q4MB53) channel on the OpenJS Foundation Slack ([join here](https://slack-invite.openjsf.org/)) -* [#node.js channel on chat.freenode.net](https://webchat.freenode.net?channels=node.js&uio=d4) +* [#node.js channel on libera.chat](https://web.libera.chat?channels=node.js&uio=d4) * [Node.js Slack Community](https://node-js.slack.com/) * To register: [nodeslackers.com](https://www.nodeslackers.com/) diff --git a/.github/label-pr-config.yml b/.github/label-pr-config.yml index bd405e684ee623..6e1bccd478991f 100644 --- a/.github/label-pr-config.yml +++ b/.github/label-pr-config.yml @@ -11,7 +11,7 @@ subSystemLabels: /^src\/udp_/: c++, dgram /^src\/(?:fs_|node_file|node_stat_watcher)/: c++, fs /^src\/node_http_parser/: c++, http_parser - /^src\/node_i18n/: c++, intl + /^src\/node_i18n/: c++, i18n-api /^src\/uv\./: c++, libuv /^src\/(?:connect(?:ion)?|pipe|tcp)_/: c++, net /^src\/node_os/: c++, os @@ -19,14 +19,14 @@ subSystemLabels: /^src\/timer_/: c++, timers /^src\/(?:CNNICHashWhitelist|node_root_certs|tls_)/: c++, tls /^src\/tty_/: c++, tty - /^src\/node_url/: c++, url-whatwg + /^src\/node_url/: c++, whatwg-url /^src\/node_util/: c++, util - /^src\/(?:node_v8|v8abbr)/: c++, V8 Engine + /^src\/(?:node_v8|v8abbr)/: c++, v8 engine /^src\/node_contextify/: c++, vm /^src\/.*win32.*/: c++, windows /^src\/node_zlib/: c++, zlib /^src\/tracing/: c++, tracing - /^src\/node_api/: c++, n-api + /^src\/node_api/: c++, node-api /^src\/node_http2/: c++, http2 /^src\/node_report/: c++, report /^src\/node_wasi/: c++, wasi @@ -35,7 +35,7 @@ subSystemLabels: /^src\/node_bob*/: c++, quic, dont-land-on-v14.x, dont-land-on-v12.x # don't label python files as c++ - /^src\/.+\.py$/: lib / src, needs-ci + /^src\/.+\.py$/: python, needs-ci # properly label changes to v8 inspector integration-related files /^src\/inspector_/: c++, inspector, needs-ci @@ -50,13 +50,13 @@ subSystemLabels: /^\w+\.md$/: doc # different variants of *Makefile and build files /^(tools\/)?(Makefile|BSDmakefile|create_android_makefiles|\.travis\.yml)$/: build, needs-ci - /^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, needs-ci + /^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, python, needs-ci /^vcbuild\.bat$/: build, windows, needs-ci /^(android-)?configure|node\.gyp|common\.gypi$/: build, needs-ci # more specific tools - /^tools\/gyp/: tools, build, needs-ci + /^tools\/gyp/: tools, build, gyp, needs-ci, dont-land-on-v14.x, dont-land-on-v12.x /^tools\/doc\//: tools, doc - /^tools\/icu\//: tools, intl, needs-ci + /^tools\/icu\//: tools, i18n-api, icu, needs-ci /^tools\/(?:osx-pkg\.pmdoc|pkgsrc)\//: tools, macos, install /^tools\/(?:(?:mac)?osx-)/: tools, macos /^tools\/test-npm/: tools, test, npm @@ -64,9 +64,10 @@ subSystemLabels: /^tools\/(?:certdata|mkssldef|mk-ca-bundle)/: tools, openssl, tls /^tools\/msvs\//: tools, windows, install, needs-ci /^tools\/[^/]+\.bat$/: tools, windows, needs-ci - /^tools\/make-v8/: tools, V8 Engine, needs-ci - /^tools\/(code_cache|snapshot|v8_gypfiles)/: needs-ci, - /^tools\/build-addons.js/: needs-ci, + /^tools\/make-v8/: tools, v8 engine, needs-ci + /^tools\/v8_gypfiles/: tools, v8 engine, needs-ci + /^tools\/(code_cache|snapshot)/: needs-ci + /^tools\/build-addons.js/: needs-ci # all other tool changes should be marked as such /^tools\//: tools /^\.eslint|\.remark|\.editorconfig/: tools @@ -75,9 +76,10 @@ subSystemLabels: # libuv needs an explicit mapping, as the ordinary /deps/ mapping below would # end up as libuv changes labeled with "uv" (which is a non-existing label) /^deps\/uv\//: libuv - /^deps\/v8\/tools\/gen-postmortem-metadata\.py/: V8 Engine, post-mortem - /^deps\/v8\//: V8 Engine + /^deps\/v8\/tools\/gen-postmortem-metadata\.py/: v8 engine, python, post-mortem + /^deps\/v8\//: v8 engine /^deps\/uvwasi\//: wasi + /^deps\/npm\//: npm, fast-track, dont-land-on-v14.x, dont-land-on-v12.x /^deps\/nghttp2\/nghttp2\.gyp/: build, http2 /^deps\/nghttp2\//: http2 /^deps\/ngtcp2\//: quic, dont-land-on-v14.x, dont-land-on-v12.x @@ -96,8 +98,8 @@ subSystemLabels: /^lib\/\w+\/streams$/: stream /^lib\/.*http2/: http2 /^lib\/worker_threads.js$/: worker - /^lib\/internal\/url\.js$/: url-whatwg - /^lib\/internal\/modules\/esm/: ES Modules + /^lib\/internal\/url\.js$/: whatwg-url + /^lib\/internal\/modules\/esm/: esm /^lib\/internal\/quic\/*/: quic, dont-land-on-v14.x, dont-land-on-v12.x # All other lib/ files map directly @@ -114,12 +116,12 @@ exlusiveLabels: /^test\/pseudo-tty\//: test, tty /^test\/inspector\//: test, inspector /^test\/cctest\/test_inspector/: test, inspector - /^test\/cctest\/test_url/: test, url-whatwg - /^test\/addons-napi\//: test, n-api + /^test\/cctest\/test_url/: test, whatwg-url + /^test\/addons-napi\//: test, node-api /^test\/async-hooks\//: test, async_hooks /^test\/report\//: test, report - /^test\/fixtures\/es-module/: test, ES Modules - /^test\/es-module\//: test, ES Modules + /^test\/fixtures\/es-module/: test, esm + /^test\/es-module\//: test, esm /^test\//: test @@ -127,11 +129,9 @@ exlusiveLabels: /^doc\/api\/webcrypto.md$/: doc, crypto # specific map for modules.md as it should be labeled 'module' not 'modules' /^doc\/api\/modules.md$/: doc, module - # specific map for esm.md as it should be labeled 'ES Modules' not 'esm' - /^doc\/api\/esm.md$/: doc, ES Modules - # n-api is treated separately since it is not a JS core module but is still + # node-api is treated separately since it is not a JS core module but is still # considered a subsystem of sorts - /^doc\/api\/n-api.md$/: doc, n-api + /^doc\/api\/n-api.md$/: doc, node-api # quic /^doc\/api\/quic.md$/: doc, quic, dont-land-on-v14.x, dont-land-on-v12.x # add worker label to PRs that affect doc/api/worker_threads.md @@ -140,12 +140,13 @@ exlusiveLabels: /^doc\/api\/(\w+)\.md$/: doc, $1 # add deprecations label to PRs that affect doc/api/deprecations.md /^doc\/api\/deprecations.md$/: doc, deprecations + /^doc\/changelogs\//: release /^doc\//: doc # more specific benchmarks /^benchmark\/buffers\//: benchmark, buffer - /^benchmark\/(?:arrays|es)\//: benchmark, V8 Engine + /^benchmark\/(?:arrays|es)\//: benchmark, v8 engine /^benchmark\/_http/: benchmark, http /^benchmark\/(?:misc|fixtures)\//: benchmark /^benchmark\/streams\//: benchmark, stream diff --git a/.github/workflows/commit-queue.yml b/.github/workflows/commit-queue.yml index 5cfb92d88f95c6..25b7ea5a8cc4ae 100644 --- a/.github/workflows/commit-queue.yml +++ b/.github/workflows/commit-queue.yml @@ -45,6 +45,7 @@ jobs: run: | echo "REPOSITORY=$(echo ${{ github.repository }} | cut -d/ -f2)" >> $GITHUB_ENV echo "OWNER=${{ github.repository_owner }}" >> $GITHUB_ENV + echo "DEFAULT_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV - name: Get Pull Requests uses: octokit/graphql-action@v2.x @@ -63,19 +64,19 @@ jobs: owner: ${{ env.OWNER }} repo: ${{ env.REPOSITORY }} # Commit queue is only enabled for the default branch on the repository - base_ref: ${{ github.repository.default_branch }} + base_ref: ${{ env.DEFAULT_BRANCH }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Configure node-core-utils run: | - ncu-config set branch ${{ github.repository.default_branch }} + ncu-config set branch ${DEFAULT_BRANCH} ncu-config set upstream origin ncu-config set username "${{ secrets.GH_USER_NAME }}" ncu-config set token "${{ secrets.GH_USER_TOKEN }}" ncu-config set jenkins_token "${{ secrets.JENKINS_TOKEN }}" - ncu-config set repo "${{ env.REPOSITORY }}" - ncu-config set owner "${{ env.OWNER }}" + ncu-config set repo "${REPOSITORY}" + ncu-config set owner "${OWNER}" - name: Start the commit queue - run: ./tools/actions/commit-queue.sh ${{ env.OWNER }} ${{ env.REPOSITORY }} ${{ secrets.GITHUB_TOKEN }} $(echo '${{ steps.get_mergable_pull_requests.outputs.data }}' | jq '.repository.pullRequests.nodes | map(.number) | .[]') + run: ./tools/actions/commit-queue.sh ${OWNER} ${REPOSITORY} ${{ secrets.GITHUB_TOKEN }} $(echo '${{ steps.get_mergable_pull_requests.outputs.data }}' | jq '.repository.pullRequests.nodes | map(.number) | .[]') diff --git a/.gitignore b/.gitignore index f2d8c226a698f1..b46679450bdbe6 100644 --- a/.gitignore +++ b/.gitignore @@ -117,7 +117,7 @@ tools/*/*.i.tmp /build /coverage -# === Rules for XCode artifacts === +# === Rules for Xcode artifacts === *.xcodeproj *.xcworkspace *.pbxproj diff --git a/BUILDING.md b/BUILDING.md index 6ebe84f6e1aad5..d8041d684d988b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -234,7 +234,7 @@ The Node.js project supports Python >= 3 for building and testing. * `gcc` and `g++` >= 8.3 or newer, or * GNU Make 3.81 or newer -* Python 3.6, 3.7, 3.8, and 3.9 (see note above) +* Python 3.6, 3.7, 3.8, or 3.9 (see note above) Installation via Linux package manager can be achieved with: @@ -249,7 +249,7 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`. #### macOS prerequisites * Xcode Command Line Tools >= 11 for macOS -* Python 3.6, 3.7, 3.8, and 3.9 (see note above) +* Python 3.6, 3.7, 3.8, or 3.9 (see note above) macOS users can install the `Xcode Command Line Tools` by running `xcode-select --install`. Alternatively, if you already have the full Xcode diff --git a/CHANGELOG.md b/CHANGELOG.md index eef8f8d8291599..c8159d28c89fa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Select a Node.js version below to view the changelog history: * [Node.js 16](doc/changelogs/CHANGELOG_V16.md) **Current** -* [Node.js 15](doc/changelogs/CHANGELOG_V15.md) **Current** +* [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life * [Node.js 14](doc/changelogs/CHANGELOG_V14.md) **Long Term Support** * [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life * [Node.js 12](doc/changelogs/CHANGELOG_V12.md) Long Term Support @@ -27,38 +27,20 @@ release.
16Current | -15Current | 14LTS | 12LTS |
---|---|---|---|
-16.2.0 +16.4.0 +16.3.0 +16.2.0 16.1.0 16.0.0 |
-15.14.0 -15.13.0 -15.12.0 -15.11.0 -15.10.0 -15.9.0 -15.8.0 -15.7.0 -15.6.0 -15.5.1 -15.5.0 -15.4.0 -15.3.0 -15.2.1 -15.2.0 -15.1.0 -15.0.1 -15.0.0 - |
-
-14.16.1 +14.17.0 +14.16.1 14.16.0 14.15.5 14.15.4 diff --git a/Makefile b/Makefile index 939bba64575bff..58260979e11458 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,11 @@ V8_TEST_OPTIONS = $(V8_EXTRA_TEST_OPTIONS) ifdef DISABLE_V8_I18N V8_BUILD_OPTIONS += i18nsupport=off endif +# V8 build and test toolchains are not currently compatible with Python 3. +# config.mk may have prepended a symlink for `python` to PATH which we need +# to undo before calling V8's tools. +OVERRIDE_BIN_DIR=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))out/tools/bin +NO_BIN_OVERRIDE_PATH=$(subst $() $(),:,$(filter-out $(OVERRIDE_BIN_DIR),$(subst :, ,$(PATH)))) ifeq ($(OSTYPE), darwin) GCOV = xcrun llvm-cov gcov @@ -274,7 +279,8 @@ endif # Rebuilds deps/v8 as a git tree, pulls its third-party dependencies, and # builds it. v8: - tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS) + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS) .PHONY: jstest jstest: build-addons build-js-native-api-tests build-node-api-tests ## Runs addon tests and JS tests @@ -332,7 +338,7 @@ test-valgrind: all test-check-deopts: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) --check-deopts parallel sequential -DOCBUILDSTAMP_PREREQS = tools/doc/addon-verify.js doc/api/addons.md +DOCBUILDSTAMP_PREREQS = tools/doc/addon-verify.mjs doc/api/addons.md ifeq ($(OSTYPE),aix) DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp @@ -346,7 +352,7 @@ test/addons/.docbuildstamp: $(DOCBUILDSTAMP_PREREQS) tools/doc/node_modules else \ $(RM) -r test/addons/??_*/; \ [ -x $(NODE) ] && $(NODE) $< || node $< ; \ - touch $@; \ + [ $$? -eq 0 ] && touch $@; \ fi ADDONS_BINDING_GYPS := \ @@ -583,12 +589,12 @@ test-doc: doc-only lint-md ## Builds, lints, and verifies the docs. else \ $(PYTHON) tools/test.py $(PARALLEL_ARGS) doctool; \ fi - $(NODE) tools/doc/checkLinks.js . + $(NODE) tools/doc/checkLinks.mjs . .PHONY: test-doc-ci test-doc-ci: doc-only $(PYTHON) tools/test.py --shell $(NODE) $(TEST_CI_ARGS) $(PARALLEL_ARGS) doctool - $(NODE) tools/doc/checkLinks.js . + $(NODE) tools/doc/checkLinks.mjs . test-known-issues: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) known_issues @@ -651,19 +657,22 @@ test-with-async-hooks: ifneq ("","$(wildcard deps/v8/tools/run-tests.py)") # Related CI job: node-test-commit-v8-linux test-v8: v8 ## Runs the V8 test suite on deps/v8. - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) $(V8_TEST_OPTIONS) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) $(V8_TEST_OPTIONS) \ mjsunit cctest debugger inspector message preparser \ $(TAP_V8) $(info Testing hash seed) $(MAKE) test-hash-seed test-v8-intl: v8 - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) \ --mode=$(BUILDTYPE_LOWER) intl \ $(TAP_V8_INTL) test-v8-benchmarks: v8 - deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) --mode=$(BUILDTYPE_LOWER) \ + export PATH="$(NO_BIN_OVERRIDE_PATH)" && \ + deps/v8/tools/run-tests.py --gn --arch=$(V8_ARCH) --mode=$(BUILDTYPE_LOWER) \ benchmarks \ $(TAP_V8_BENCHMARKS) @@ -727,33 +736,33 @@ run-npm-ci = $(PWD)/$(NPM) ci LINK_DATA = out/doc/apilinks.json VERSIONS_DATA = out/previous-doc-versions.json -gen-api = tools/doc/generate.js --node-version=$(FULLVERSION) \ +gen-api = tools/doc/generate.mjs --node-version=$(FULLVERSION) \ --apilinks=$(LINK_DATA) $< --output-directory=out/doc/api \ --versions-file=$(VERSIONS_DATA) -gen-apilink = tools/doc/apilinks.js $(LINK_DATA) $(wildcard lib/*.js) +gen-apilink = tools/doc/apilinks.mjs $(LINK_DATA) $(wildcard lib/*.js) -$(LINK_DATA): $(wildcard lib/*.js) tools/doc/apilinks.js | out/doc +$(LINK_DATA): $(wildcard lib/*.js) tools/doc/apilinks.mjs | out/doc $(call available-node, $(gen-apilink)) # Regenerate previous versions data if the current version changes -$(VERSIONS_DATA): CHANGELOG.md src/node_version.h tools/doc/versions.js - $(call available-node, tools/doc/versions.js $@) +$(VERSIONS_DATA): CHANGELOG.md src/node_version.h tools/doc/versions.mjs + $(call available-node, tools/doc/versions.mjs $@) -out/doc/api/%.json out/doc/api/%.html: doc/api/%.md tools/doc/generate.js \ - tools/doc/markdown.js tools/doc/html.js tools/doc/json.js \ - tools/doc/apilinks.js $(VERSIONS_DATA) | $(LINK_DATA) out/doc/api +out/doc/api/%.json out/doc/api/%.html: doc/api/%.md tools/doc/generate.mjs \ + tools/doc/markdown.mjs tools/doc/html.mjs tools/doc/json.mjs \ + tools/doc/apilinks.mjs $(VERSIONS_DATA) | $(LINK_DATA) out/doc/api $(call available-node, $(gen-api)) -out/doc/api/all.html: $(apidocs_html) tools/doc/allhtml.js \ - tools/doc/apilinks.js | out/doc/api - $(call available-node, tools/doc/allhtml.js) +out/doc/api/all.html: $(apidocs_html) tools/doc/allhtml.mjs \ + tools/doc/apilinks.mjs | out/doc/api + $(call available-node, tools/doc/allhtml.mjs) -out/doc/api/all.json: $(apidocs_json) tools/doc/alljson.js | out/doc/api - $(call available-node, tools/doc/alljson.js) +out/doc/api/all.json: $(apidocs_json) tools/doc/alljson.mjs | out/doc/api + $(call available-node, tools/doc/alljson.mjs) .PHONY: out/doc/api/stability -out/doc/api/stability: out/doc/api/all.json tools/doc/stability.js | out/doc/api - $(call available-node, tools/doc/stability.js) +out/doc/api/stability: out/doc/api/all.json tools/doc/stability.mjs | out/doc/api + $(call available-node, tools/doc/stability.mjs) .PHONY: docopen docopen: out/doc/api/all.html diff --git a/common.gypi b/common.gypi index ee91fb1df6d913..aa42c69f96391b 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,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.16', + 'v8_embedder_string': '-node.14', ##### V8 defaults for Node.js ##### diff --git a/configure.py b/configure.py index 05d43150524946..4bc790e2f24219 100755 --- a/configure.py +++ b/configure.py @@ -1379,6 +1379,7 @@ def configure_library(lib, output, pkgname=None): def configure_v8(o): + o['variables']['v8_enable_webassembly'] = 1 o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0 o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0 o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs. diff --git a/deps/npm/.eslintrc.json b/deps/npm/.eslintrc.json deleted file mode 100644 index 8566613e748a7e..00000000000000 --- a/deps/npm/.eslintrc.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "parserOptions": { - "ecmaVersion": 2018, - "ecmaFeatures": {}, - "sourceType": "script" - }, - - "env": { - "es6": true, - "node": true - }, - - "plugins": [ - "import", - "node", - "promise", - "standard" - ], - - "globals": { - "document": "readonly", - "navigator": "readonly", - "window": "readonly" - }, - - "rules": { - "accessor-pairs": "error", - "array-bracket-spacing": ["error", "never"], - "arrow-spacing": ["error", { "before": true, "after": true }], - "block-spacing": ["error", "always"], - "brace-style": ["error", "1tbs", { "allowSingleLine": false }], - "camelcase": ["error", { "properties": "never" }], - "comma-dangle": ["error", { - "arrays": "always-multiline", - "objects": "always-multiline", - "imports": "always-multiline", - "exports": "always-multiline", - "functions": "never" - }], - "comma-spacing": ["error", { "before": false, "after": true }], - "comma-style": ["error", "last"], - "computed-property-spacing": ["error", "never"], - "constructor-super": "error", - "curly": ["error", "multi-or-nest"], - "dot-location": ["error", "property"], - "dot-notation": ["error", { "allowKeywords": true }], - "eol-last": "error", - "eqeqeq": ["error", "always", { "null": "ignore" }], - "func-call-spacing": ["error", "never"], - "generator-star-spacing": ["error", { "before": true, "after": true }], - "handle-callback-err": ["error", "^(err|error)$" ], - "indent": ["error", 2, { - "SwitchCase": 1, - "VariableDeclarator": 1, - "outerIIFEBody": 1, - "MemberExpression": 1, - "FunctionDeclaration": { "parameters": 1, "body": 1 }, - "FunctionExpression": { "parameters": 1, "body": 1 }, - "CallExpression": { "arguments": 1 }, - "ArrayExpression": 1, - "ObjectExpression": 1, - "ImportDeclaration": 1, - "flatTernaryExpressions": true, - "ignoreComments": false, - "ignoredNodes": ["TemplateLiteral *"] - }], - "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], - "keyword-spacing": ["error", { "before": true, "after": true }], - "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }], - "max-len": ["error", 80, { - "ignoreUrls": true, - "ignoreComments": false, - "ignoreRegExpLiterals": true, - "ignoreStrings": true, - "ignoreTemplateLiterals": true - }], - "new-cap": ["error", { "newIsCap": true, "capIsNew": false, "properties": true }], - "new-parens": "error", - "no-array-constructor": "error", - "no-async-promise-executor": "error", - "no-caller": "error", - "no-case-declarations": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "off", - "no-const-assign": "error", - "no-constant-condition": ["error", { "checkLoops": false }], - "no-control-regex": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-args": "error", - "no-dupe-class-members": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-eval": "error", - "no-ex-assign": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-extra-boolean-cast": "error", - "no-extra-parens": ["error", "functions"], - "no-fallthrough": "error", - "no-floating-decimal": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-implied-eval": "error", - "no-inner-declarations": ["error", "functions"], - "no-invalid-regexp": "error", - "no-irregular-whitespace": "error", - "no-iterator": "error", - "no-labels": ["error", { "allowLoop": true, "allowSwitch": false }], - "no-lone-blocks": "error", - "no-misleading-character-class": "error", - "no-prototype-builtins": "error", - "no-useless-catch": "error", - "no-mixed-operators": "off", - "no-mixed-spaces-and-tabs": "error", - "no-multi-spaces": "error", - "no-multi-str": "error", - "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }], - "no-negated-in-lhs": "error", - "no-new": "off", - "no-new-func": "error", - "no-new-object": "error", - "no-new-require": "error", - "no-new-symbol": "error", - "no-new-wrappers": "error", - "no-obj-calls": "error", - "no-octal": "error", - "no-octal-escape": "error", - "no-path-concat": "error", - "no-proto": "error", - "no-redeclare": ["error", { "builtinGlobals": false }], - "no-regex-spaces": "error", - "no-return-assign": "off", - "no-self-assign": "off", - "no-self-compare": "error", - "no-sequences": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-tabs": "error", - "no-template-curly-in-string": "off", - "no-this-before-super": "error", - "no-throw-literal": "off", - "no-trailing-spaces": "error", - "no-undef": "error", - "no-undef-init": "error", - "no-unexpected-multiline": "error", - "no-unmodified-loop-condition": "error", - "no-unneeded-ternary": ["error", { "defaultAssignment": false }], - "no-unreachable": "error", - "no-unsafe-finally": 0, - "no-unsafe-negation": "error", - "no-unused-expressions": ["error", { "allowShortCircuit": true, "allowTernary": true, "allowTaggedTemplates": true }], - "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": true }], - "no-use-before-define": ["error", { "functions": false, "classes": false, "variables": false }], - "no-useless-call": "error", - "no-useless-computed-key": "error", - "no-useless-constructor": "error", - "no-useless-escape": "error", - "no-useless-rename": "error", - "no-useless-return": "error", - "no-void": "error", - "no-whitespace-before-property": "error", - "no-with": "error", - "nonblock-statement-body-position": [2, "below"], - "object-curly-newline": "off", - "object-curly-spacing": "off", - "object-property-newline": ["error", { "allowMultiplePropertiesPerLine": true }], - "one-var": ["error", { "initialized": "never" }], - "operator-linebreak": "off", - "padded-blocks": ["error", { "blocks": "never", "switches": "never", "classes": "never" }], - "prefer-const": ["error", {"destructuring": "all"}], - "prefer-promise-reject-errors": "error", - "quote-props": ["error", "as-needed"], - "quotes": ["error", "single", { "avoidEscape": true, "allowTemplateLiterals": true }], - "rest-spread-spacing": ["error", "never"], - "semi": ["error", "never"], - "semi-spacing": ["error", { "before": false, "after": true }], - "space-before-blocks": ["error", "always"], - "space-before-function-paren": ["error", "always"], - "space-in-parens": ["error", "never"], - "space-infix-ops": "error", - "space-unary-ops": ["error", { "words": true, "nonwords": false }], - "spaced-comment": ["error", "always", { - "line": { "markers": ["*package", "!", "/", ",", "="] }, - "block": { "balanced": true, "markers": ["*package", "!", ",", ":", "::", "flow-include"], "exceptions": ["*"] } - }], - "symbol-description": "error", - "template-curly-spacing": ["error", "never"], - "template-tag-spacing": ["error", "never"], - "unicode-bom": ["error", "never"], - "use-isnan": "error", - "valid-typeof": ["error", { "requireStringLiterals": true }], - "wrap-iife": ["error", "any", { "functionPrototypeMethods": true }], - "yield-star-spacing": ["error", "both"], - "yoda": ["error", "never"], - - "import/export": "error", - "import/first": "error", - "import/no-absolute-path": ["error", { "esmodule": true, "commonjs": true, "amd": false }], - "import/no-duplicates": "error", - "import/no-named-default": "error", - "import/no-webpack-loader-syntax": "error", - - "node/no-deprecated-api": "error", - "node/process-exit-as-throw": "error", - - "promise/param-names": "off", - - "standard/no-callback-literal": "error" - } -} diff --git a/deps/npm/.npmignore b/deps/npm/.npmignore deleted file mode 100644 index 9d02b99f91b39a..00000000000000 --- a/deps/npm/.npmignore +++ /dev/null @@ -1,45 +0,0 @@ -*.swp -.*.swp -netlify.toml -npm-debug.log -/.github -/test -node_modules/marked -node_modules/marked-man -node_modules/tap -tap-snapshots -node_modules/.bin -node_modules/npm-registry-mock -/npmrc -/release/ -/coverage/ - -# don't need these in the npm package. -Makefile -.licensee.json -.mailmap -changelogs/* -configure -make.bat -scripts -html/*.png -docs/nav.yml -docs/config.json -docs/dockhand.js -docs/template.html - -# don't ignore .npmignore files -# these are used in some tests. -!.npmignore - -/npm-*.tgz - -*.pyc - -Session.vim -.nyc_output -/.editorconfig - -# don't ship smoke tests -smoke-tests/ -tap-snapshots/smoke-tests-index.js-TAP.test.js diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS deleted file mode 100644 index a8dfd8b6be682a..00000000000000 --- a/deps/npm/AUTHORS +++ /dev/null @@ -1,785 +0,0 @@ -# Authors sorted by whether or not they're me -isaacs -Steve Steiner |