diff --git a/README.md b/README.md index 3edc7aff..5e4d15f5 100644 --- a/README.md +++ b/README.md @@ -129,11 +129,16 @@ $ make stop language=node #### Pre-requisites -- The language you intend to use is installed on your machine and available at your command line. - This repo should generally work with active LTS versions of each language such as node >= 14, - python >= 3.8, ruby >= 2.6, etc. +- The backend language you intend to use is installed on your machine and available at your command line. + This repo should generally work with the latest active LTS versions of each language, and language version + files such as `.nvmrc`, `.python-version`, etc are included in each directory for use with popular version management utilities. + - Node 14, npm 6 + - Python 3.8 + - Ruby 2.7 + - Java 16 + - Go 1.16 +- [Node 14](https://nodejs.org/en/download/) with the default `npm` version 6 (for running the frontend). - Your environment variables populated in `.env` -- [npm](https://www.npmjs.com/get-npm) - If using Windows, a command line utility capable of running basic Unix shell commands #### 1. Running the backend diff --git a/frontend/.npmrc b/frontend/.npmrc index 19dd2939..8684cd60 100644 --- a/frontend/.npmrc +++ b/frontend/.npmrc @@ -1 +1,2 @@ registry=https://registry.npmjs.com +engine-strict=true diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 5ee1bd0c..4e61e809 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,5 +1,5 @@ # pull official base image -FROM node:lts-alpine +FROM node:14-alpine # set working directory WORKDIR /app diff --git a/frontend/package.json b/frontend/package.json index 90d69fa8..6087ed01 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,5 +1,9 @@ { "name": "plaid_react_quickstart", + "engines": { + "node": "^14", + "npm": "^6" + }, "version": "0.1.0", "dependencies": { "@testing-library/jest-dom": "^5.11.4", diff --git a/go/Dockerfile b/go/Dockerfile index 1edca997..0f5bb222 100644 --- a/go/Dockerfile +++ b/go/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.12 AS build +FROM golang:1.16 AS build WORKDIR /opt/src COPY . . diff --git a/node/.npmrc b/node/.npmrc index 19dd2939..8684cd60 100644 --- a/node/.npmrc +++ b/node/.npmrc @@ -1 +1,2 @@ registry=https://registry.npmjs.com +engine-strict=true diff --git a/node/Dockerfile b/node/Dockerfile index c114dc88..71061dc4 100644 --- a/node/Dockerfile +++ b/node/Dockerfile @@ -1,4 +1,4 @@ -FROM node:alpine +FROM node:14-alpine WORKDIR /opt/app RUN chown -R node:node /opt/app @@ -11,4 +11,4 @@ COPY --chown=node:node ./node/index.js ./ EXPOSE 8000 ENTRYPOINT ["node"] -CMD ["index.js"] \ No newline at end of file +CMD ["index.js"] diff --git a/node/package.json b/node/package.json index dd33cdab..39ac3665 100644 --- a/node/package.json +++ b/node/package.json @@ -1,5 +1,9 @@ { "name": "plaid-node-walkthrough", + "engines": { + "node": "^14", + "npm": "^6" + }, "version": "0.1.0", "description": "A sample app and accompanying walkthrough for the Plaid API.", "main": "index.js", diff --git a/python/.python-version b/python/.python-version new file mode 100644 index 00000000..d20cc2bf --- /dev/null +++ b/python/.python-version @@ -0,0 +1 @@ +3.8.10 diff --git a/python/Dockerfile b/python/Dockerfile index 54cded1b..97a55338 100644 --- a/python/Dockerfile +++ b/python/Dockerfile @@ -1,4 +1,4 @@ -FROM python:alpine +FROM python:3.8-alpine WORKDIR /opt/app COPY . . diff --git a/ruby/Dockerfile b/ruby/Dockerfile index be66ebb6..abd99f4a 100644 --- a/ruby/Dockerfile +++ b/ruby/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2-alpine +FROM ruby:2.7-alpine WORKDIR /opt/app COPY . . diff --git a/ruby/Gemfile b/ruby/Gemfile index 9d0ef17d..31eac17e 100644 --- a/ruby/Gemfile +++ b/ruby/Gemfile @@ -1,4 +1,5 @@ source 'https://rubygems.org' +ruby '~> 2.7' gem 'sinatra'