Skip to content

Commit

Permalink
chore(NODE-3848)!: update dependencies (#142)
Browse files Browse the repository at this point in the history
  • Loading branch information
nbbeeken authored Feb 18, 2022
1 parent 2d307a3 commit 8c06728
Show file tree
Hide file tree
Showing 22 changed files with 3,443 additions and 1,998 deletions.
30 changes: 0 additions & 30 deletions .eslintrc

This file was deleted.

71 changes: 71 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"root": true,
"extends": [
"eslint:recommended",
"plugin:prettier/recommended"
],
"env": {
"node": true,
"mocha": true,
"es6": true
},
"parserOptions": {
"ecmaVersion": 2019
},
"plugins": [
"prettier"
],
"rules": {
"no-restricted-properties": [
"error",
{
"object": "describe",
"property": "only"
},
{
"object": "it",
"property": "only"
},
{
"object": "context",
"property": "only"
}
],
"prettier/prettier": "error",
"no-console": "error",
"valid-typeof": "error",
"eqeqeq": ["error", "always", {"null": "ignore"}],
"strict": ["error", "global"],
"no-restricted-syntax": [
"error",
{
"selector": "TSEnumDeclaration",
"message": "Do not declare enums"
},
{
"selector": "BinaryExpression[operator=/[=!]==/] Identifier[name='undefined']",
"message": "Do not strictly check undefined"
},
{
"selector": "BinaryExpression[operator=/[=!]==/] Literal[raw='null']",
"message": "Do not strictly check null"
},
{
"selector": "BinaryExpression[operator=/[=!]==?/] Literal[value='undefined']",
"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)"
}
]
},
"overrides": [
{
// Settings for javascript test files
"files": [
"test/**/*.js"
],
"rules": {
"no-console": "off",
"no-restricted-syntax": "off"
}
}
]
}
83 changes: 48 additions & 35 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ stepback: true
command_type: system

# Limit maximum test running time.
exec_timeout_secs: 900 # 15 minutes
exec_timeout_secs: 900 # 15 minutes

# What to do when evergreen hits the timeout
timeout:
Expand Down Expand Up @@ -49,38 +49,47 @@ functions:
params:
file: src/expansion.yml
run tests:
- command: shell.exec
- command: subprocess.exec
type: test
params:
working_dir: src
script: >
${PREPARE_SHELL}
${PROJECT_DIRECTORY}/.evergreen/run-tests.sh
binary: bash
args:
- '.evergreen/run-tests.sh'
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
run tests ubuntu:
- command: shell.exec
- command: subprocess.exec
type: test
params:
binary: docker
working_dir: src
script: >
${PREPARE_SHELL}
docker run -i \
-v ${PROJECT_DIRECTORY}:/app \
-w /app \
-e NODE_VERSION=$NODE_VERSION \
-e KERBEROS_USERNAME=administrator \
-e KERBEROS_PASSWORD=Password01 \
-e KERBEROS_REALM=example.com \
-e KERBEROS_PORT=80 \
ubuntu:16.04 \
/bin/bash /app/.evergreen/run-tests-ubuntu.sh
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
PROJECT: ${project}
args:
- run
- '--interactive'
- '--volume'
- ${PROJECT_DIRECTORY}:/app
- '--workdir'
- /app
- '--env'
- PROJECT_DIRECTORY=/app
- 'ubuntu:16.04'
- /bin/bash
- /app/.evergreen/run-tests-ubuntu.sh
run prebuild:
- command: shell.exec
- command: subprocess.exec
type: test
params:
working_dir: src
script: >
${PREPARE_SHELL}
NODE_GITHUB_TOKEN=${github_token} ${PROJECT_DIRECTORY}/.evergreen/run-prebuild.sh
binary: bash
args:
- '.evergreen/run-prebuild.sh'
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
NODE_GITHUB_TOKEN: ${github_token}
run prebuild and force publish:
- command: shell.exec
type: test
Expand All @@ -90,13 +99,15 @@ functions:
${PREPARE_SHELL}
NODE_FORCE_PUBLISH=1 NODE_GITHUB_TOKEN=${github_token} ${PROJECT_DIRECTORY}/.evergreen/run-prebuild.sh
install dependencies:
- command: shell.exec
- command: subprocess.exec
type: setup
params:
working_dir: src
script: |
${PREPARE_SHELL}
NODE_VERSION=${node_version} bash ${PROJECT_DIRECTORY}/.evergreen/install-dependencies.sh
binary: bash
args:
- .evergreen/install-dependencies.sh
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}

pre:
- func: fetch source
Expand All @@ -120,32 +131,35 @@ tasks:

buildvariants:
- name: macos
display_name: "macOS 10.14"
display_name: 'macOS 10.14'
run_on: macos-1014
tasks:
# - run-tests
- run-prebuild
- run-prebuild-force-publish
- name: macos-m1
display_name: MacOS M1
run_on: macos-1100-arm64
tasks:
- run-prebuild
- run-prebuild-force-publish
- name: windows-x64
display_name: "Windows 2016"
display_name: 'Windows 2016'
run_on: windows-64-vs2017-test
tasks:
# - run-tests
- run-prebuild
- run-prebuild-force-publish
- name: suse12-s390x
display_name: "SLES 12 s390x"
display_name: 'SLES 12 s390x'
run_on: suse12-zseries-test
expansions:
has_packages: true
packager_distro: suse12
packager_arch: s390x
tasks:
# - run-tests
- run-prebuild
- run-prebuild-force-publish
- name: ubuntu1804-64
display_name: "Ubuntu 18.04 64-bit"
display_name: 'Ubuntu 18.04 64-bit'
run_on: ubuntu1804-test
expansions:
has_packages: true
Expand All @@ -156,13 +170,12 @@ buildvariants:
- run-prebuild
- run-prebuild-force-publish
- name: ubuntu1804-arm64
display_name: "Ubuntu 18.04 arm64"
display_name: 'Ubuntu 18.04 arm64'
run_on: ubuntu1804-arm64-build
expansions:
has_packages: true
packager_distro: ubuntu1804
packager_arch: arm64
tasks:
# - run-tests
- run-prebuild
- run-prebuild-force-publish
22 changes: 22 additions & 0 deletions .evergreen/init-nvm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#! /usr/bin/env bash

export PATH="/opt/mongodbtoolchain/v2/bin:$PATH"
NODE_BINDINGS_PATH="${PROJECT_DIRECTORY}/bindings/node"
NODE_ARTIFACTS_PATH="${NODE_BINDINGS_PATH}/node-artifacts"
export NVM_DIR="${NODE_ARTIFACTS_PATH}/nvm"

if [[ "$OS" == "Windows_NT" ]]; then
NVM_HOME=$(cygpath -w "$NVM_DIR")
export NVM_HOME
NVM_SYMLINK=$(cygpath -w "$NODE_ARTIFACTS_PATH/bin")
export NVM_SYMLINK
NVM_ARTIFACTS_PATH=$(cygpath -w "$NODE_ARTIFACTS_PATH/bin")
export NVM_ARTIFACTS_PATH
PATH=$(cygpath $NVM_SYMLINK):$(cygpath $NVM_HOME):$PATH
export PATH
echo "updated path on windows PATH=$PATH"
nvm use lts
else
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
nvm use --lts
fi
50 changes: 34 additions & 16 deletions .evergreen/install-dependencies.sh
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
#!/bin/bash
# set -o xtrace # Write all commands first to stderr
#!/usr/bin/env bash

set -o xtrace # Write all commands first to stderr
set -o errexit # Exit the script with error if any of the commands fail

NODE_VERSION=${NODE_VERSION:-14}
NODE_ARTIFACTS_PATH="${PROJECT_DIRECTORY}/node-artifacts"
NODE_BINDINGS_PATH="${PROJECT_DIRECTORY}/bindings/node"
NODE_ARTIFACTS_PATH="${NODE_BINDINGS_PATH}/node-artifacts"
NPM_CACHE_DIR="${NODE_ARTIFACTS_PATH}/npm"
NPM_TMP_DIR="${NODE_ARTIFACTS_PATH}/tmp"
BIN_DIR="$(pwd)/bin"

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

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

# create node artifacts path if needed
mkdir -p ${NVM_DIR}
mkdir -p ${NPM_CACHE_DIR}
mkdir -p "${NODE_ARTIFACTS_PATH}"
mkdir -p "${NPM_CACHE_DIR}"
mkdir -p "${NPM_TMP_DIR}"
mkdir -p "${BIN_DIR}"

export NVM_DIR="${NODE_ARTIFACTS_PATH}/nvm"
mkdir -p "${NVM_DIR}"

# install Node.js
echo "Installing Node ${NODE_VERSION}"
if [ "$OS" == "Windows_NT" ]; then
set +o xtrace

export NVM_HOME=`cygpath -w "$NVM_DIR"`
export NVM_SYMLINK=`cygpath -w "$NODE_ARTIFACTS_PATH/bin"`
export PATH=`cygpath $NVM_SYMLINK`:`cygpath $NVM_HOME`:$PATH
Expand All @@ -39,23 +45,35 @@ root: $NVM_HOME
path: $NVM_SYMLINK
EOT

nvm install ${NODE_VERSION}
echo "Running: nvm install lts"
nvm install lts
echo "Running: nvm use lts"
nvm use lts
echo "Running: npm install -g [email protected]"
npm install -g [email protected] # https://github.com/npm/cli/issues/4341
set -o xtrace
else
set +o xtrace

echo " Downloading nvm"
curl -o- $NVM_URL | bash
[ -s "${NVM_DIR}/nvm.sh" ] && \. "${NVM_DIR}/nvm.sh"
[ -s "${NVM_DIR}/nvm.sh" ] && source "${NVM_DIR}/nvm.sh"

echo "Running: nvm install --lts --latest-npm"
nvm install --lts --latest-npm
echo "Running: nvm use --lts"
nvm use --lts

nvm install --no-progress ${NODE_VERSION}
set -o xtrace
fi
nvm use ${NODE_VERSION}

# setup npm cache in a local directory
cat <<EOT > .npmrc
devdir=${NPM_CACHE_DIR}/.node-gyp
init-module=${NPM_CACHE_DIR}/.npm-init.js
cache=${NPM_CACHE_DIR}
tmp=${NPM_TMP_DIR}
registry=https://registry.npmjs.org
EOT

# install node dependencies
npm install --unsafe-perm
npm install
Loading

0 comments on commit 8c06728

Please sign in to comment.