Skip to content

Commit 8c06728

Browse files
authored
chore(NODE-3848)!: update dependencies (#142)
1 parent 2d307a3 commit 8c06728

22 files changed

+3443
-1998
lines changed

.eslintrc

Lines changed: 0 additions & 30 deletions
This file was deleted.

.eslintrc.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"root": true,
3+
"extends": [
4+
"eslint:recommended",
5+
"plugin:prettier/recommended"
6+
],
7+
"env": {
8+
"node": true,
9+
"mocha": true,
10+
"es6": true
11+
},
12+
"parserOptions": {
13+
"ecmaVersion": 2019
14+
},
15+
"plugins": [
16+
"prettier"
17+
],
18+
"rules": {
19+
"no-restricted-properties": [
20+
"error",
21+
{
22+
"object": "describe",
23+
"property": "only"
24+
},
25+
{
26+
"object": "it",
27+
"property": "only"
28+
},
29+
{
30+
"object": "context",
31+
"property": "only"
32+
}
33+
],
34+
"prettier/prettier": "error",
35+
"no-console": "error",
36+
"valid-typeof": "error",
37+
"eqeqeq": ["error", "always", {"null": "ignore"}],
38+
"strict": ["error", "global"],
39+
"no-restricted-syntax": [
40+
"error",
41+
{
42+
"selector": "TSEnumDeclaration",
43+
"message": "Do not declare enums"
44+
},
45+
{
46+
"selector": "BinaryExpression[operator=/[=!]==/] Identifier[name='undefined']",
47+
"message": "Do not strictly check undefined"
48+
},
49+
{
50+
"selector": "BinaryExpression[operator=/[=!]==/] Literal[raw='null']",
51+
"message": "Do not strictly check null"
52+
},
53+
{
54+
"selector": "BinaryExpression[operator=/[=!]==?/] Literal[value='undefined']",
55+
"message": "Do not strictly check typeof undefined (NOTE: currently this rule only detects the usage of 'undefined' string literal so this could be a misfire)"
56+
}
57+
]
58+
},
59+
"overrides": [
60+
{
61+
// Settings for javascript test files
62+
"files": [
63+
"test/**/*.js"
64+
],
65+
"rules": {
66+
"no-console": "off",
67+
"no-restricted-syntax": "off"
68+
}
69+
}
70+
]
71+
}

.evergreen/config.yml

Lines changed: 48 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ stepback: true
55
command_type: system
66

77
# Limit maximum test running time.
8-
exec_timeout_secs: 900 # 15 minutes
8+
exec_timeout_secs: 900 # 15 minutes
99

1010
# What to do when evergreen hits the timeout
1111
timeout:
@@ -49,38 +49,47 @@ functions:
4949
params:
5050
file: src/expansion.yml
5151
run tests:
52-
- command: shell.exec
52+
- command: subprocess.exec
5353
type: test
5454
params:
5555
working_dir: src
56-
script: >
57-
${PREPARE_SHELL}
58-
${PROJECT_DIRECTORY}/.evergreen/run-tests.sh
56+
binary: bash
57+
args:
58+
- '.evergreen/run-tests.sh'
59+
env:
60+
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
5961
run tests ubuntu:
60-
- command: shell.exec
62+
- command: subprocess.exec
6163
type: test
6264
params:
65+
binary: docker
6366
working_dir: src
64-
script: >
65-
${PREPARE_SHELL}
66-
docker run -i \
67-
-v ${PROJECT_DIRECTORY}:/app \
68-
-w /app \
69-
-e NODE_VERSION=$NODE_VERSION \
70-
-e KERBEROS_USERNAME=administrator \
71-
-e KERBEROS_PASSWORD=Password01 \
72-
-e KERBEROS_REALM=example.com \
73-
-e KERBEROS_PORT=80 \
74-
ubuntu:16.04 \
75-
/bin/bash /app/.evergreen/run-tests-ubuntu.sh
67+
env:
68+
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
69+
PROJECT: ${project}
70+
args:
71+
- run
72+
- '--interactive'
73+
- '--volume'
74+
- ${PROJECT_DIRECTORY}:/app
75+
- '--workdir'
76+
- /app
77+
- '--env'
78+
- PROJECT_DIRECTORY=/app
79+
- 'ubuntu:16.04'
80+
- /bin/bash
81+
- /app/.evergreen/run-tests-ubuntu.sh
7682
run prebuild:
77-
- command: shell.exec
83+
- command: subprocess.exec
7884
type: test
7985
params:
8086
working_dir: src
81-
script: >
82-
${PREPARE_SHELL}
83-
NODE_GITHUB_TOKEN=${github_token} ${PROJECT_DIRECTORY}/.evergreen/run-prebuild.sh
87+
binary: bash
88+
args:
89+
- '.evergreen/run-prebuild.sh'
90+
env:
91+
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
92+
NODE_GITHUB_TOKEN: ${github_token}
8493
run prebuild and force publish:
8594
- command: shell.exec
8695
type: test
@@ -90,13 +99,15 @@ functions:
9099
${PREPARE_SHELL}
91100
NODE_FORCE_PUBLISH=1 NODE_GITHUB_TOKEN=${github_token} ${PROJECT_DIRECTORY}/.evergreen/run-prebuild.sh
92101
install dependencies:
93-
- command: shell.exec
102+
- command: subprocess.exec
94103
type: setup
95104
params:
96105
working_dir: src
97-
script: |
98-
${PREPARE_SHELL}
99-
NODE_VERSION=${node_version} bash ${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh
106+
binary: bash
107+
args:
108+
- .evergreen/install-dependencies.sh
109+
env:
110+
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
100111

101112
pre:
102113
- func: fetch source
@@ -120,32 +131,35 @@ tasks:
120131

121132
buildvariants:
122133
- name: macos
123-
display_name: "macOS 10.14"
134+
display_name: 'macOS 10.14'
124135
run_on: macos-1014
125136
tasks:
126-
# - run-tests
137+
- run-prebuild
138+
- run-prebuild-force-publish
139+
- name: macos-m1
140+
display_name: MacOS M1
141+
run_on: macos-1100-arm64
142+
tasks:
127143
- run-prebuild
128144
- run-prebuild-force-publish
129145
- name: windows-x64
130-
display_name: "Windows 2016"
146+
display_name: 'Windows 2016'
131147
run_on: windows-64-vs2017-test
132148
tasks:
133-
# - run-tests
134149
- run-prebuild
135150
- run-prebuild-force-publish
136151
- name: suse12-s390x
137-
display_name: "SLES 12 s390x"
152+
display_name: 'SLES 12 s390x'
138153
run_on: suse12-zseries-test
139154
expansions:
140155
has_packages: true
141156
packager_distro: suse12
142157
packager_arch: s390x
143158
tasks:
144-
# - run-tests
145159
- run-prebuild
146160
- run-prebuild-force-publish
147161
- name: ubuntu1804-64
148-
display_name: "Ubuntu 18.04 64-bit"
162+
display_name: 'Ubuntu 18.04 64-bit'
149163
run_on: ubuntu1804-test
150164
expansions:
151165
has_packages: true
@@ -156,13 +170,12 @@ buildvariants:
156170
- run-prebuild
157171
- run-prebuild-force-publish
158172
- name: ubuntu1804-arm64
159-
display_name: "Ubuntu 18.04 arm64"
173+
display_name: 'Ubuntu 18.04 arm64'
160174
run_on: ubuntu1804-arm64-build
161175
expansions:
162176
has_packages: true
163177
packager_distro: ubuntu1804
164178
packager_arch: arm64
165179
tasks:
166-
# - run-tests
167180
- run-prebuild
168181
- run-prebuild-force-publish

.evergreen/init-nvm.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#! /usr/bin/env bash
2+
3+
export PATH="/opt/mongodbtoolchain/v2/bin:$PATH"
4+
NODE_BINDINGS_PATH="${PROJECT_DIRECTORY}/bindings/node"
5+
NODE_ARTIFACTS_PATH="${NODE_BINDINGS_PATH}/node-artifacts"
6+
export NVM_DIR="${NODE_ARTIFACTS_PATH}/nvm"
7+
8+
if [[ "$OS" == "Windows_NT" ]]; then
9+
NVM_HOME=$(cygpath -w "$NVM_DIR")
10+
export NVM_HOME
11+
NVM_SYMLINK=$(cygpath -w "$NODE_ARTIFACTS_PATH/bin")
12+
export NVM_SYMLINK
13+
NVM_ARTIFACTS_PATH=$(cygpath -w "$NODE_ARTIFACTS_PATH/bin")
14+
export NVM_ARTIFACTS_PATH
15+
PATH=$(cygpath $NVM_SYMLINK):$(cygpath $NVM_HOME):$PATH
16+
export PATH
17+
echo "updated path on windows PATH=$PATH"
18+
nvm use lts
19+
else
20+
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
21+
nvm use --lts
22+
fi

.evergreen/install-dependencies.sh

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
1-
#!/bin/bash
2-
# set -o xtrace # Write all commands first to stderr
1+
#!/usr/bin/env bash
2+
3+
set -o xtrace # Write all commands first to stderr
34
set -o errexit # Exit the script with error if any of the commands fail
45

5-
NODE_VERSION=${NODE_VERSION:-14}
6-
NODE_ARTIFACTS_PATH="${PROJECT_DIRECTORY}/node-artifacts"
6+
NODE_BINDINGS_PATH="${PROJECT_DIRECTORY}/bindings/node"
7+
NODE_ARTIFACTS_PATH="${NODE_BINDINGS_PATH}/node-artifacts"
78
NPM_CACHE_DIR="${NODE_ARTIFACTS_PATH}/npm"
89
NPM_TMP_DIR="${NODE_ARTIFACTS_PATH}/tmp"
10+
BIN_DIR="$(pwd)/bin"
911

10-
NVM_WINDOWS_URL="https://github.com/coreybutler/nvm-windows/releases/download/1.1.7/nvm-noinstall.zip"
11-
NVM_URL="https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh"
12+
NVM_WINDOWS_URL="https://github.com/coreybutler/nvm-windows/releases/download/1.1.9/nvm-noinstall.zip"
13+
NVM_URL="https://raw.githubusercontent.com/creationix/nvm/v0.38.0/install.sh"
1214

1315
# this needs to be explicitly exported for the nvm install below
1416
export NVM_DIR="${NODE_ARTIFACTS_PATH}/nvm"
15-
export XDG_CONFIG_HOME=${NODE_ARTIFACTS_PATH}
1617

1718
# create node artifacts path if needed
18-
mkdir -p ${NVM_DIR}
19-
mkdir -p ${NPM_CACHE_DIR}
19+
mkdir -p "${NODE_ARTIFACTS_PATH}"
20+
mkdir -p "${NPM_CACHE_DIR}"
2021
mkdir -p "${NPM_TMP_DIR}"
22+
mkdir -p "${BIN_DIR}"
23+
24+
export NVM_DIR="${NODE_ARTIFACTS_PATH}/nvm"
25+
mkdir -p "${NVM_DIR}"
2126

2227
# install Node.js
23-
echo "Installing Node ${NODE_VERSION}"
2428
if [ "$OS" == "Windows_NT" ]; then
29+
set +o xtrace
30+
2531
export NVM_HOME=`cygpath -w "$NVM_DIR"`
2632
export NVM_SYMLINK=`cygpath -w "$NODE_ARTIFACTS_PATH/bin"`
2733
export PATH=`cygpath $NVM_SYMLINK`:`cygpath $NVM_HOME`:$PATH
@@ -39,23 +45,35 @@ root: $NVM_HOME
3945
path: $NVM_SYMLINK
4046
EOT
4147

42-
nvm install ${NODE_VERSION}
48+
echo "Running: nvm install lts"
49+
nvm install lts
50+
echo "Running: nvm use lts"
51+
nvm use lts
52+
echo "Running: npm install -g [email protected]"
53+
npm install -g [email protected] # https://github.com/npm/cli/issues/4341
54+
set -o xtrace
4355
else
56+
set +o xtrace
57+
58+
echo " Downloading nvm"
4459
curl -o- $NVM_URL | bash
45-
[ -s "${NVM_DIR}/nvm.sh" ] && \. "${NVM_DIR}/nvm.sh"
60+
[ -s "${NVM_DIR}/nvm.sh" ] && source "${NVM_DIR}/nvm.sh"
61+
62+
echo "Running: nvm install --lts --latest-npm"
63+
nvm install --lts --latest-npm
64+
echo "Running: nvm use --lts"
65+
nvm use --lts
4666

47-
nvm install --no-progress ${NODE_VERSION}
67+
set -o xtrace
4868
fi
49-
nvm use ${NODE_VERSION}
5069

5170
# setup npm cache in a local directory
5271
cat <<EOT > .npmrc
5372
devdir=${NPM_CACHE_DIR}/.node-gyp
5473
init-module=${NPM_CACHE_DIR}/.npm-init.js
5574
cache=${NPM_CACHE_DIR}
5675
tmp=${NPM_TMP_DIR}
57-
registry=https://registry.npmjs.org
5876
EOT
5977

6078
# install node dependencies
61-
npm install --unsafe-perm
79+
npm install

0 commit comments

Comments
 (0)