diff --git a/keyserver/.nvmrc b/keyserver/.nvmrc deleted file mode 100644 --- a/keyserver/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -16.9.0 diff --git a/keyserver/Dockerfile b/keyserver/Dockerfile --- a/keyserver/Dockerfile +++ b/keyserver/Dockerfile @@ -70,23 +70,7 @@ RUN mkdir /home/comm/backups #------------------------------------------------------------------------------- -# STEP 4: SET UP NVM -# We use nvm to make sure we're running the right Node version -#------------------------------------------------------------------------------- - -# First we install nvm -ENV NVM_DIR /home/comm/.nvm -RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh \ - | bash - -# Then we use nvm to install the right version of Node. We call this early so -# Docker build caching saves us from re-downloading Node when any file changes -COPY --chown=comm keyserver/.nvmrc keyserver/ -COPY --chown=comm keyserver/bash/source-nvm.sh keyserver/bash/ -RUN cd keyserver && . bash/source-nvm.sh - -#------------------------------------------------------------------------------- -# STEP 5: YARN CLEANINSTALL +# STEP 4: YARN CLEANINSTALL # We run yarn cleaninstall before copying most of the files in for build caching #------------------------------------------------------------------------------- @@ -107,7 +91,7 @@ RUN yarn cleaninstall #------------------------------------------------------------------------------- -# STEP 6: WEBPACK BUILD +# STEP 5: WEBPACK BUILD # We do this first so Docker doesn't rebuild when only keyserver files change #------------------------------------------------------------------------------- @@ -119,14 +103,14 @@ RUN yarn workspace web prod #------------------------------------------------------------------------------- -# STEP 7: COPY IN SOURCE FILES +# STEP 6: COPY IN SOURCE FILES # We run this later so the above layers are cached if only source files change #------------------------------------------------------------------------------- COPY --chown=comm . . #------------------------------------------------------------------------------- -# STEP 8: RUN BUILD SCRIPTS +# STEP 7: RUN BUILD SCRIPTS # We need to populate keyserver/dist, among other things #------------------------------------------------------------------------------- @@ -134,7 +118,7 @@ RUN yarn workspace keyserver prod-build #------------------------------------------------------------------------------- -# STEP 9: RUN THE SERVER +# STEP 8: RUN THE SERVER # Actually run the Node.js keyserver using nvm #------------------------------------------------------------------------------- diff --git a/keyserver/bash/source-nvm.sh b/keyserver/bash/source-nvm.sh deleted file mode 100644 --- a/keyserver/bash/source-nvm.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env sh - -# source as: logged in user -# source from: package.json (via npm/yarn scripts) - -unset PREFIX - -# Nix controls the version of node within the development shell -[ -n "$IN_NIX_SHELL" ] && return 0 - -# Intel Mac -# shellcheck source=/dev/null -[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" -# ARM-based Mac -# shellcheck source=/dev/null -[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" -# Ubuntu -# shellcheck source=/dev/null -[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" -nvm install --no-progress diff --git a/keyserver/package.json b/keyserver/package.json --- a/keyserver/package.json +++ b/keyserver/package.json @@ -7,14 +7,14 @@ "main": "dist/keyserver", "scripts": { "clean": "rm -rf dist/ && rm -rf node_modules/ && mkdir dist", - "babel-build": ". bash/source-nvm.sh && yarn --silent babel src/ --out-dir dist/ --config-file ./babel.config.cjs --verbose --ignore 'src/landing/flow-typed','src/landing/node_modules','src/landing/package.json','src/lib/flow-typed','src/lib/node_modules','src/lib/package.json','src/web/flow-typed','src/web/node_modules','src/web/package.json','src/web/dist','src/web/webpack.config.js','src/web/account-bar.react.js','src/web/app.react.js','src/web/calendar','src/web/chat','src/web/flow','src/web/loading-indicator.react.js','src/web/modals','src/web/root.js','src/web/router-history.js','src/web/script.js','src/web/selectors/chat-selectors.js','src/web/selectors/entry-selectors.js','src/web/splash','src/web/vector-utils.js','src/web/vectors.react.js'", + "babel-build": "yarn --silent babel src/ --out-dir dist/ --config-file ./babel.config.cjs --verbose --ignore 'src/landing/flow-typed','src/landing/node_modules','src/landing/package.json','src/lib/flow-typed','src/lib/node_modules','src/lib/package.json','src/web/flow-typed','src/web/node_modules','src/web/package.json','src/web/dist','src/web/webpack.config.js','src/web/account-bar.react.js','src/web/app.react.js','src/web/calendar','src/web/chat','src/web/flow','src/web/loading-indicator.react.js','src/web/modals','src/web/root.js','src/web/router-history.js','src/web/script.js','src/web/selectors/chat-selectors.js','src/web/selectors/entry-selectors.js','src/web/splash','src/web/vector-utils.js','src/web/vectors.react.js'", "rsync": "rsync -rLpmuv --exclude '*/package.json' --exclude '*/node_modules/*' --include '*.json' --include '*.cjs' --exclude '*.*' src/ dist/", "prod-build": "yarn babel-build && yarn rsync && yarn update-geoip", "update-geoip": "yarn script dist/scripts/update-geoip.js", "prod": "node --trace-warnings --experimental-json-modules --loader=./loader.mjs --experimental-specifier-resolution=node dist/keyserver", "dev-rsync": "yarn --silent chokidar --initial --silent -s 'src/**/*.json' 'src/**/*.cjs' -c 'yarn rsync > /dev/null 2>&1'", - "dev": "yarn concurrently --names=\"BABEL,RSYNC,NODEM\" -c \"bgBlue.bold,bgMagenta.bold,bgGreen.bold\" \"yarn babel-build --watch\" \"yarn dev-rsync\" \". bash/source-nvm.sh && NODE_ENV=development nodemon -e js,json,cjs --watch dist --experimental-json-modules --loader=./loader.mjs --experimental-specifier-resolution=node dist/keyserver\"", - "script": ". bash/source-nvm.sh && NODE_ENV=development node --experimental-json-modules --loader=./loader.mjs --experimental-specifier-resolution=node", + "dev": "yarn concurrently --names=\"BABEL,RSYNC,NODEM\" -c \"bgBlue.bold,bgMagenta.bold,bgGreen.bold\" \"yarn babel-build --watch\" \"yarn dev-rsync\" \"NODE_ENV=development nodemon -e js,json,cjs --watch dist --experimental-json-modules --loader=./loader.mjs --experimental-specifier-resolution=node dist/keyserver\"", + "script": "NODE_ENV=development node --experimental-json-modules --loader=./loader.mjs --experimental-specifier-resolution=node", "test": "jest" }, "devDependencies": {