From 8d867969ae596a2d9eaf1172b605962f7e7b7737 Mon Sep 17 00:00:00 2001 From: Jahed Ahmed Date: Fri, 31 Dec 2021 16:57:59 +0000 Subject: [PATCH 1/5] chore: support npm@8 in dev env npm@8's only breaking change is a lack of node@10 support. --- scripts/check-dev-environment.ts | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/scripts/check-dev-environment.ts b/scripts/check-dev-environment.ts index 7491e5957ef..6e96a32f7d1 100644 --- a/scripts/check-dev-environment.ts +++ b/scripts/check-dev-environment.ts @@ -1,25 +1,22 @@ +import * as semver from 'semver'; + type Issue = { target: string; reason: string; enforce: boolean; }; -/** - * We have a hack in .circleci/config.yml which uses npm@6 for regression - * tests. Once that's removed we can remove this check. - */ -const isCIHackInstall = (): boolean => { - return ( - typeof process.env.CI === 'string' && process.env.NODE_ENV === 'production' - ); -}; - const checkDevEnvironment = async () => { const issues: Issue[] = []; - const expectedNpmVersion = '7'; + const supportedNpmVersionRange = '>=7.21.1'; try { - // npm/7.14.0 node/v14.16.1 linux x64 workspaces/false + /** + * Example: npm/7.14.0 node/v14.16.1 linux x64 workspaces/false + * Docs: https://docs.npmjs.com/cli/v8/using-npm/config#user-agent + * + * Note: Doesn't work with Lerna. https://github.com/snyk/snyk/pull/2002 + */ const userAgent = process.env.npm_config_user_agent; if (!userAgent) { throw new Error("Couldn't find npm_config_user_agent."); @@ -30,18 +27,18 @@ const checkDevEnvironment = async () => { throw new Error(`Couldn't find npm version in user agent "${userAgent}"`); } - const [, npmVersion, npmMajor] = matches; - if (npmMajor !== expectedNpmVersion) { + const [, npmVersion] = matches; + if (!semver.satisfies(npmVersion, supportedNpmVersionRange)) { issues.push({ target: 'npm', - reason: `Expected npm@${expectedNpmVersion} but found npm@${npmVersion}`, - enforce: !isCIHackInstall(), + reason: `Expected npm@${supportedNpmVersionRange} but found npm@${npmVersion}`, + enforce: true, }); } } catch (error) { issues.push({ target: 'npm', - reason: `Expected npm@${expectedNpmVersion} but faced an error:\n${error}`, + reason: `Expected npm@${supportedNpmVersionRange} but faced an error:\n${error}`, enforce: false, }); } From 5f7ca44ecd98ba96beb35507e3e750a783806d95 Mon Sep 17 00:00:00 2001 From: Jahed Ahmed Date: Fri, 31 Dec 2021 18:40:02 +0000 Subject: [PATCH 2/5] chore: uncaught hander limit should be 1 It worked before because tests were using "npx ts-node" which adds a handler too. --- src/lib/unexpected-error.ts | 2 +- test/fixtures/unexpected-error/usedTwice.ts | 8 +++++--- test/jest/system/lib/unexpected-error.spec.ts | 14 +++++++------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/lib/unexpected-error.ts b/src/lib/unexpected-error.ts index 42e696ba8b7..26264ba7ffb 100644 --- a/src/lib/unexpected-error.ts +++ b/src/lib/unexpected-error.ts @@ -20,7 +20,7 @@ export async function callHandlingUnexpectedErrors( * when NodeJS exits, we can't handle unexpected errors for more than one * callable. We'll never know which callable an error came from. */ - if (process.listenerCount('uncaughtException') > 1) { + if (process.listenerCount('uncaughtException') >= 1) { handleUnexpectedError( new Error('Cannot handle unexpected errors for more than one callable.'), ); diff --git a/test/fixtures/unexpected-error/usedTwice.ts b/test/fixtures/unexpected-error/usedTwice.ts index d2660d8e3ac..56c054e7f21 100644 --- a/test/fixtures/unexpected-error/usedTwice.ts +++ b/test/fixtures/unexpected-error/usedTwice.ts @@ -1,9 +1,11 @@ import { callHandlingUnexpectedErrors } from '../../../src/lib/unexpected-error'; callHandlingUnexpectedErrors(async () => { - console.log('Result: firstCall') + return new Promise((resolve, reject) => { + setTimeout(() => reject(new Error('firstCall')), 100) + }) }, 2); callHandlingUnexpectedErrors(async () => { - console.log('Result: secondCall') -}, 2); + Promise.reject(new Error('secondCall')); +}, 4); diff --git a/test/jest/system/lib/unexpected-error.spec.ts b/test/jest/system/lib/unexpected-error.spec.ts index 2d4f4d2dd68..3636ac25169 100644 --- a/test/jest/system/lib/unexpected-error.spec.ts +++ b/test/jest/system/lib/unexpected-error.spec.ts @@ -1,3 +1,4 @@ +import * as path from 'path'; import { runCommand } from '../../util/runCommand'; import { getFixturePath } from '../../util/getFixturePath'; @@ -12,10 +13,9 @@ import { getFixturePath } from '../../util/getFixturePath'; * NodeJS process. */ describe('callHandlingUnexpectedErrors', () => { - async function runScript(file: string) { - return runCommand('npx', ['ts-node', file], { - cwd: getFixturePath('unexpected-error'), - }); + async function runScript(filename: string) { + const file = path.resolve(getFixturePath('unexpected-error'), filename); + return runCommand('node', ['-r', 'ts-node/register', file]); } it('calls the provided callable', async () => { @@ -60,8 +60,8 @@ describe('callHandlingUnexpectedErrors', () => { expect(stderr).toMatch( 'Something unexpected went wrong: Error: Cannot handle unexpected errors for more than one callable.', ); - expect(stderr).toMatch('Exit code: 2'); - expect(stdout).toEqual('Result: firstCall\n'); - expect(code).toEqual(2); + expect(stderr).toMatch('Exit code: 4'); + expect(stdout).toEqual(''); + expect(code).toEqual(4); }); }); From e93572d303429734d3a992bf95fcc88a07d3abfc Mon Sep 17 00:00:00 2001 From: Jahed Ahmed Date: Fri, 31 Dec 2021 19:35:26 +0000 Subject: [PATCH 3/5] chore: remove error handler limit Because of how various tooling may hook into error events, enforcing a limit is too naive and may cause further unexpected failure scenarios. Until such a scenario causes us problems, it's safer not to handle it. --- src/lib/unexpected-error.ts | 11 ----------- test/fixtures/unexpected-error/usedTwice.ts | 11 ----------- test/jest/system/lib/unexpected-error.spec.ts | 10 ---------- 3 files changed, 32 deletions(-) delete mode 100644 test/fixtures/unexpected-error/usedTwice.ts diff --git a/src/lib/unexpected-error.ts b/src/lib/unexpected-error.ts index 26264ba7ffb..250ff094fb0 100644 --- a/src/lib/unexpected-error.ts +++ b/src/lib/unexpected-error.ts @@ -15,17 +15,6 @@ export async function callHandlingUnexpectedErrors( process.exit(exitCode); } - /** - * As the only point we'll know if a given callable has unexpected errors is - * when NodeJS exits, we can't handle unexpected errors for more than one - * callable. We'll never know which callable an error came from. - */ - if (process.listenerCount('uncaughtException') >= 1) { - handleUnexpectedError( - new Error('Cannot handle unexpected errors for more than one callable.'), - ); - } - process.on('uncaughtException', handleUnexpectedError); /** diff --git a/test/fixtures/unexpected-error/usedTwice.ts b/test/fixtures/unexpected-error/usedTwice.ts deleted file mode 100644 index 56c054e7f21..00000000000 --- a/test/fixtures/unexpected-error/usedTwice.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { callHandlingUnexpectedErrors } from '../../../src/lib/unexpected-error'; - -callHandlingUnexpectedErrors(async () => { - return new Promise((resolve, reject) => { - setTimeout(() => reject(new Error('firstCall')), 100) - }) -}, 2); - -callHandlingUnexpectedErrors(async () => { - Promise.reject(new Error('secondCall')); -}, 4); diff --git a/test/jest/system/lib/unexpected-error.spec.ts b/test/jest/system/lib/unexpected-error.spec.ts index 3636ac25169..5d49f89fef7 100644 --- a/test/jest/system/lib/unexpected-error.spec.ts +++ b/test/jest/system/lib/unexpected-error.spec.ts @@ -54,14 +54,4 @@ describe('callHandlingUnexpectedErrors', () => { expect(stdout).toEqual(''); expect(code).toEqual(2); }); - - it('cannot be used twice in a process', async () => { - const { code, stdout, stderr } = await runScript('usedTwice.ts'); - expect(stderr).toMatch( - 'Something unexpected went wrong: Error: Cannot handle unexpected errors for more than one callable.', - ); - expect(stderr).toMatch('Exit code: 4'); - expect(stdout).toEqual(''); - expect(code).toEqual(4); - }); }); From 896844dcf26a1432df7f34897fc1e00157d3569a Mon Sep 17 00:00:00 2001 From: Jahed Ahmed Date: Fri, 31 Dec 2021 18:41:21 +0000 Subject: [PATCH 4/5] feat: build binaries with node@16 Need to also default to node@16 and npm@8 in dev/ci as dependencies may contain native modules (.node) which need to be installed using the same node version for compatibilty in binaries. --- .circleci/config.yml | 23 +- .nvmrc | 2 +- docker-desktop/build.sh | 2 +- package-lock.json | 406 +++++++++++----------- package.json | 2 +- release-scripts/docker-desktop-release.sh | 2 +- release-scripts/make-binaries.sh | 8 +- release-scripts/snyk-mac.sh | 2 +- 8 files changed, 233 insertions(+), 214 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c167018e943..d54af332ec0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,10 @@ defaults: &defaults parameters: node_version: type: string - default: '14.17.5' + default: '16.13.2' + npm_version: + type: string + default: '8.1.2' working_directory: /mnt/ramdisk/snyk commands: @@ -19,7 +22,6 @@ commands: type: string npm_version: type: string - default: '7.21.1' npm_cache_directory: type: string default: /mnt/ramdisk/.npm @@ -158,6 +160,7 @@ jobs: - checkout - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> npm_install: true - persist_to_workspace: root: . @@ -174,19 +177,21 @@ jobs: at: . - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Linting project command: npm run lint build: <<: *defaults docker: - - image: circleci/node:<< parameters.node_version >> + - image: cimg/node:<< parameters.node_version >> steps: - checkout - attach_workspace: at: . - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Building project command: npm run build:prod @@ -208,6 +213,7 @@ jobs: - install_shellspec_dependencies - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Installing test fixture dependencies working_directory: ./test/fixtures/basic-npm @@ -243,10 +249,11 @@ jobs: node_version: << parameters.node_version >> - install_sdks_windows - setup_npm: - npm_cache_directory: ~\AppData\Local\npm-cache node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> npm_global_sudo: false npm_install: true # reinstalling as workspace node_modules is for linux + npm_cache_directory: ~\AppData\Local\npm-cache - run: name: Configuring Snyk CLI command: node ./bin/snyk config set "api=$env:SNYK_API_KEY" @@ -291,6 +298,7 @@ jobs: - install_sdks_linux - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Configuring Snyk CLI command: node ./bin/snyk config set "api=${SNYK_API_KEY}" @@ -327,6 +335,7 @@ jobs: - install_sdks_linux - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Configuring Snyk CLI command: node ./bin/snyk config set "api=${SNYK_API_KEY}" @@ -347,6 +356,7 @@ jobs: - install_release_dependencies - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Updating package versions command: ./release-scripts/update-dev-versions.sh @@ -387,6 +397,7 @@ jobs: - install_release_dependencies - setup_npm: node_version: << parameters.node_version >> + npm_version: << parameters.npm_version >> - run: name: Updating package versions command: | @@ -446,7 +457,7 @@ workflows: ignore: - master - test-windows: - name: Jest Tests (Windows, Node v14.17.5) + name: Jest Tests (Windows) context: nodejs-install requires: - Build @@ -465,7 +476,7 @@ workflows: - master matrix: parameters: - node_version: ['10.24.1', '12.22.5', '14.17.5', '16.13.0'] + node_version: ['10.24.1', '12.22.9', '14.18.2', '16.13.2'] - test-tap: name: Tap Tests context: nodejs-install diff --git a/.nvmrc b/.nvmrc index 8351c19397f..23d9c36a118 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -14 +16.13.2 diff --git a/docker-desktop/build.sh b/docker-desktop/build.sh index 65e4c6f9b0b..dacd39f9351 100755 --- a/docker-desktop/build.sh +++ b/docker-desktop/build.sh @@ -3,7 +3,7 @@ set -euo pipefail platform="${1}" arch="${2}" -node_version="v16.13.1" +node_version="v16.13.2" node_url="https://nodejs.org/dist/${node_version}/node-${node_version}-${platform}-${arch}.tar.gz" build_name="snyk-for-docker-desktop-${platform}-${arch}" build_filename="${build_name}.tar.gz" diff --git a/package-lock.json b/package-lock.json index 0ed75036af7..9ab919649fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -120,7 +120,7 @@ "nock": "^10.0.6", "node-loader": "^2.0.0", "npm-run-all": "^4.1.5", - "pkg": "^5.3.2", + "pkg": "5.5.2", "prettier": "^1.18.2", "proxyquire": "^1.7.4", "sinon": "^4.0.0", @@ -372,9 +372,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -418,9 +418,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -637,12 +637,12 @@ } }, "node_modules/@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -18541,12 +18541,6 @@ "node": ">=0.4.0" } }, - "node_modules/noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "dev": true - }, "node_modules/nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -20073,26 +20067,26 @@ } }, "node_modules/pkg": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.3.2.tgz", - "integrity": "sha512-78X8Tt71TI11XjkZm/r9shTdFRooFiiRcT8nfYeeOou5VKCkCysQauwAAkJKb5yjfrUhk3CBNL4zv22/iLpdnw==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.5.2.tgz", + "integrity": "sha512-pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==", "dev": true, "dependencies": { - "@babel/parser": "7.13.13", - "@babel/types": "7.13.12", - "chalk": "^4.1.0", + "@babel/parser": "7.16.2", + "@babel/types": "7.16.0", + "chalk": "^4.1.2", "escodegen": "^2.0.0", "fs-extra": "^9.1.0", - "globby": "^11.0.3", + "globby": "^11.0.4", "into-stream": "^6.0.0", "minimist": "^1.2.5", "multistream": "^4.1.0", - "pkg-fetch": "3.2.3", - "prebuild-install": "6.0.1", + "pkg-fetch": "3.2.6", + "prebuild-install": "6.1.4", "progress": "^2.0.3", "resolve": "^1.20.0", "stream-meter": "^1.0.4", - "tslib": "2.1.0" + "tslib": "2.3.1" }, "bin": { "pkg": "lib-es5/bin.js" @@ -20119,17 +20113,18 @@ } }, "node_modules/pkg-fetch": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.3.tgz", - "integrity": "sha512-bv9vYANgAZ2Lvxn5Dsq7E0rLqzcqYkV4gnwe2f7oHV9N4SVMfDOIjjFCRuuTltop5EmsOcu7XkQpB5A/pIgC1g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.6.tgz", + "integrity": "sha512-Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==", "dev": true, "dependencies": { - "chalk": "^4.1.0", + "chalk": "^4.1.2", "fs-extra": "^9.1.0", "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.6", "progress": "^2.0.3", "semver": "^7.3.5", + "tar-fs": "^2.1.1", "yargs": "^16.2.0" }, "bin": { @@ -20231,6 +20226,26 @@ "node": ">=10" } }, + "node_modules/pkg-fetch/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/pkg-fetch/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -20258,35 +20273,34 @@ "node": ">=8" } }, - "node_modules/pkg-fetch/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/pkg-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", "dev": true }, - "node_modules/pkg/node_modules/@babel/parser": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", - "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "node_modules/pkg-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true }, - "node_modules/pkg/node_modules/@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", + "node_modules/pkg-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, + "node_modules/pkg-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/pkg/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -20358,9 +20372,9 @@ } }, "node_modules/pkg/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, "node_modules/please-upgrade-node": { @@ -20497,9 +20511,9 @@ "dev": true }, "node_modules/prebuild-install": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz", - "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", + "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", "dev": true, "dependencies": { "detect-libc": "^1.0.3", @@ -20508,15 +20522,13 @@ "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", + "node-abi": "^2.21.0", "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^3.0.3", "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" @@ -26056,12 +26068,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -26933,9 +26939,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { @@ -26967,9 +26973,9 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -27128,12 +27134,12 @@ } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" } }, @@ -41493,12 +41499,6 @@ "is": "^3.2.1" } }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "dev": true - }, "nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -42695,45 +42695,28 @@ } }, "pkg": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.3.2.tgz", - "integrity": "sha512-78X8Tt71TI11XjkZm/r9shTdFRooFiiRcT8nfYeeOou5VKCkCysQauwAAkJKb5yjfrUhk3CBNL4zv22/iLpdnw==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.5.2.tgz", + "integrity": "sha512-pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==", "dev": true, "requires": { - "@babel/parser": "7.13.13", - "@babel/types": "7.13.12", - "chalk": "^4.1.0", + "@babel/parser": "7.16.2", + "@babel/types": "7.16.0", + "chalk": "^4.1.2", "escodegen": "^2.0.0", "fs-extra": "^9.1.0", - "globby": "^11.0.3", + "globby": "^11.0.4", "into-stream": "^6.0.0", "minimist": "^1.2.5", "multistream": "^4.1.0", - "pkg-fetch": "3.2.3", - "prebuild-install": "6.0.1", + "pkg-fetch": "3.2.6", + "prebuild-install": "6.1.4", "progress": "^2.0.3", "resolve": "^1.20.0", "stream-meter": "^1.0.4", - "tslib": "2.1.0" + "tslib": "2.3.1" }, "dependencies": { - "@babel/parser": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", - "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", - "dev": true - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -42784,9 +42767,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true } } @@ -42801,17 +42784,18 @@ } }, "pkg-fetch": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.3.tgz", - "integrity": "sha512-bv9vYANgAZ2Lvxn5Dsq7E0rLqzcqYkV4gnwe2f7oHV9N4SVMfDOIjjFCRuuTltop5EmsOcu7XkQpB5A/pIgC1g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.6.tgz", + "integrity": "sha512-Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==", "dev": true, "requires": { - "chalk": "^4.1.0", + "chalk": "^4.1.2", "fs-extra": "^9.1.0", "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.6", "progress": "^2.0.3", "semver": "^7.3.5", + "tar-fs": "^2.1.1", "yargs": "^16.2.0" }, "dependencies": { @@ -42883,6 +42867,15 @@ "yallist": "^4.0.0" } }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -42901,6 +42894,28 @@ "has-flag": "^4.0.0" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -43004,9 +43019,9 @@ "dev": true }, "prebuild-install": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz", - "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", + "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", "dev": true, "requires": { "detect-libc": "^1.0.3", @@ -43015,15 +43030,13 @@ "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", + "node-abi": "^2.21.0", "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^3.0.3", "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "tunnel-agent": "^0.6.0" } }, "prelude-ls": { @@ -44528,7 +44541,7 @@ "open": "^7.0.3", "ora": "5.4.0", "os-name": "^3.0.0", - "pkg": "^5.3.2", + "pkg": "5.5.2", "prettier": "^1.18.2", "promise-queue": "^2.2.5", "proxy-from-env": "^1.0.0", @@ -44748,9 +44761,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { @@ -44782,9 +44795,9 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -44943,12 +44956,12 @@ } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" } }, @@ -59308,12 +59321,6 @@ "is": "^3.2.1" } }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", - "dev": true - }, "nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -60510,45 +60517,28 @@ } }, "pkg": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.3.2.tgz", - "integrity": "sha512-78X8Tt71TI11XjkZm/r9shTdFRooFiiRcT8nfYeeOou5VKCkCysQauwAAkJKb5yjfrUhk3CBNL4zv22/iLpdnw==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.5.2.tgz", + "integrity": "sha512-pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==", "dev": true, "requires": { - "@babel/parser": "7.13.13", - "@babel/types": "7.13.12", - "chalk": "^4.1.0", + "@babel/parser": "7.16.2", + "@babel/types": "7.16.0", + "chalk": "^4.1.2", "escodegen": "^2.0.0", "fs-extra": "^9.1.0", - "globby": "^11.0.3", + "globby": "^11.0.4", "into-stream": "^6.0.0", "minimist": "^1.2.5", "multistream": "^4.1.0", - "pkg-fetch": "3.2.3", - "prebuild-install": "6.0.1", + "pkg-fetch": "3.2.6", + "prebuild-install": "6.1.4", "progress": "^2.0.3", "resolve": "^1.20.0", "stream-meter": "^1.0.4", - "tslib": "2.1.0" + "tslib": "2.3.1" }, "dependencies": { - "@babel/parser": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", - "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", - "dev": true - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -60599,9 +60589,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true } } @@ -60616,17 +60606,18 @@ } }, "pkg-fetch": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.3.tgz", - "integrity": "sha512-bv9vYANgAZ2Lvxn5Dsq7E0rLqzcqYkV4gnwe2f7oHV9N4SVMfDOIjjFCRuuTltop5EmsOcu7XkQpB5A/pIgC1g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.2.6.tgz", + "integrity": "sha512-Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==", "dev": true, "requires": { - "chalk": "^4.1.0", + "chalk": "^4.1.2", "fs-extra": "^9.1.0", "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.6", "progress": "^2.0.3", "semver": "^7.3.5", + "tar-fs": "^2.1.1", "yargs": "^16.2.0" }, "dependencies": { @@ -60698,6 +60689,15 @@ "yallist": "^4.0.0" } }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -60716,6 +60716,28 @@ "has-flag": "^4.0.0" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -60819,9 +60841,9 @@ "dev": true }, "prebuild-install": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz", - "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", + "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", "dev": true, "requires": { "detect-libc": "^1.0.3", @@ -60830,15 +60852,13 @@ "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", + "node-abi": "^2.21.0", "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^3.0.3", "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "tunnel-agent": "^0.6.0" } }, "prelude-ls": { @@ -65228,12 +65248,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -68616,12 +68630,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index bae56967cab..0d3df6af963 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "nock": "^10.0.6", "node-loader": "^2.0.0", "npm-run-all": "^4.1.5", - "pkg": "^5.3.2", + "pkg": "5.5.2", "prettier": "^1.18.2", "proxyquire": "^1.7.4", "sinon": "^4.0.0", diff --git a/release-scripts/docker-desktop-release.sh b/release-scripts/docker-desktop-release.sh index 4c4f65cf66d..4da6ebef172 100755 --- a/release-scripts/docker-desktop-release.sh +++ b/release-scripts/docker-desktop-release.sh @@ -17,7 +17,7 @@ cp ./release-scripts/snyk-mac.sh ./dist-docker/docker/ cd ./dist-docker/docker/ # Download macOS NodeJS binary, using same as pkg -curl "https://nodejs.org/dist/v12.18.3/node-v12.18.3-darwin-x64.tar.gz" | tar -xz +curl "https://nodejs.org/dist/v12.22.9/node-v12.22.9-darwin-x64.tar.gz" | tar -xz cd .. diff --git a/release-scripts/make-binaries.sh b/release-scripts/make-binaries.sh index f76cf6d2bd0..e6450bb3d83 100755 --- a/release-scripts/make-binaries.sh +++ b/release-scripts/make-binaries.sh @@ -3,10 +3,10 @@ set -euo pipefail mkdir binary-releases -npx pkg . --compress Brotli -t node14-alpine-x64 -o binary-releases/snyk-alpine -npx pkg . --compress Brotli -t node14-linux-x64 -o binary-releases/snyk-linux -npx pkg . --compress Brotli -t node14-macos-x64 -o binary-releases/snyk-macos -npx pkg . --compress Brotli -t node14-win-x64 -o binary-releases/snyk-win-unsigned.exe +npx pkg . --compress Brotli -t node16-alpine-x64 -o binary-releases/snyk-alpine +npx pkg . --compress Brotli -t node16-linux-x64 -o binary-releases/snyk-linux +npx pkg . --compress Brotli -t node16-macos-x64 -o binary-releases/snyk-macos +npx pkg . --compress Brotli -t node16-win-x64 -o binary-releases/snyk-win-unsigned.exe ./docker-desktop/build.sh darwin x64 ./docker-desktop/build.sh darwin arm64 diff --git a/release-scripts/snyk-mac.sh b/release-scripts/snyk-mac.sh index 1cf01e9db38..726eefe53e9 100755 --- a/release-scripts/snyk-mac.sh +++ b/release-scripts/snyk-mac.sh @@ -3,7 +3,7 @@ set -euo pipefail DIRNAME=$(dirname "$0") -NODE="$DIRNAME/node-v12.18.3-darwin-x64/bin/node" +NODE="$DIRNAME/node-v12.22.9-darwin-x64/bin/node" SNYK_CLI="$DIRNAME/dist/cli/index.js" "$NODE" "$SNYK_CLI" "$@" From d2fd76345b5c16b05edd0a741514d4526eebad18 Mon Sep 17 00:00:00 2001 From: Jahed Ahmed Date: Mon, 24 Jan 2022 12:56:59 +0000 Subject: [PATCH 5/5] chore(ci): upgrade action workflows to node@16 --- .github/workflows/check-dependencies.yml | 18 ++++-------------- .github/workflows/cli-alert.yml | 8 ++++---- .github/workflows/danger-zone.yml | 3 +-- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/.github/workflows/check-dependencies.yml b/.github/workflows/check-dependencies.yml index a402dbd4f36..f214591a852 100644 --- a/.github/workflows/check-dependencies.yml +++ b/.github/workflows/check-dependencies.yml @@ -9,19 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - run: npm install -g npm@7 - - - name: npm config get cache - id: npm-cache-dir - run: | - echo "::set-output name=dir::$(npx npm@7 config get cache)" - - uses: actions/cache@v2 - id: npm-cache + - uses: actions/setup-node@v2 with: - path: ${{ steps.npm-cache-dir.outputs.dir }} - key: ${{ runner.os }}-npm-${{ hashFiles('**/package.json') }} - restore-keys: | - ${{ runner.os }}-npm- - - run: npm install + node-version: '16.13.2' + cache: 'npm' + - run: npm ci - run: npx ts-node ./scripts/check-dependencies.ts diff --git a/.github/workflows/cli-alert.yml b/.github/workflows/cli-alert.yml index c5b501ca4c9..c7c327c9091 100644 --- a/.github/workflows/cli-alert.yml +++ b/.github/workflows/cli-alert.yml @@ -12,11 +12,11 @@ jobs: working-directory: ./packages/cli-alert steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: - node-version: 14 - - run: npm install -g npm@7 - - run: npm install + node-version: '16.13.2' + cache: 'npm' + - run: npm ci - run: npm start env: USER_GITHUB_TOKEN: ${{ secrets.USER_GITHUB_TOKEN }} diff --git a/.github/workflows/danger-zone.yml b/.github/workflows/danger-zone.yml index 622bfbf329e..e669b302789 100644 --- a/.github/workflows/danger-zone.yml +++ b/.github/workflows/danger-zone.yml @@ -11,9 +11,8 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '14' + node-version: '16.13.2' cache: 'npm' - - run: npm install -g npm@7 - run: npm ci - run: npx danger ci env: