From b668114c334a7d0d28577a01ce92db15e6a2a3fe Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 07:50:16 -0700 Subject: [PATCH 1/8] Fix multistage docker build --- packages/api/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index 2727fd217..9403f8cfd 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -2,7 +2,7 @@ FROM node:14.18-alpine as builder WORKDIR /app -ENV NODE_ENV production +ENV NODE_ENV development ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true COPY package.json . @@ -14,7 +14,7 @@ COPY .eslintrc . COPY /packages/readabilityjs/package.json ./packages/readabilityjs/package.json COPY /packages/api/package.json ./packages/api/package.json -RUN yarn install --pure-lockfile --production +RUN yarn install --pure-lockfile ADD /packages/readabilityjs ./packages/readabilityjs ADD /packages/api ./packages/api From 87077be85e5c9875c608eaab4a7041597292713b Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:11:06 -0700 Subject: [PATCH 2/8] First stage of build is development --- packages/api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index 9403f8cfd..075958b7a 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -14,7 +14,7 @@ COPY .eslintrc . COPY /packages/readabilityjs/package.json ./packages/readabilityjs/package.json COPY /packages/api/package.json ./packages/api/package.json -RUN yarn install --pure-lockfile +RUN yarn install --pure-lockfile --development ADD /packages/readabilityjs ./packages/readabilityjs ADD /packages/api ./packages/api From c8ec7d636efaeb819eb37425bb8af21731e94e95 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:11:26 -0700 Subject: [PATCH 3/8] Use require to import address parser function --- packages/api/src/services/newsletters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/src/services/newsletters.ts b/packages/api/src/services/newsletters.ts index 21fe94180..16b8c8810 100644 --- a/packages/api/src/services/newsletters.ts +++ b/packages/api/src/services/newsletters.ts @@ -4,7 +4,7 @@ import { nanoid } from 'nanoid' import { User } from '../entity/user' import { CreateNewsletterEmailErrorCode } from '../generated/graphql' import { env } from '../env' -import addressparser from 'nodemailer/lib/addressparser' +import addressparser = require('nodemailer/lib/addressparser'); const parsedAddress = (emailAddress: string): string | undefined => { const res = addressparser(emailAddress, { flatten: true }) From b8b471d3695e9f5785eda31e2a8a3aa44adb789a Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:17:00 -0700 Subject: [PATCH 4/8] Move @types into dev --- packages/api/package.json | 40 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/packages/api/package.json b/packages/api/package.json index 8fa9a30fd..913cf7f88 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -36,26 +36,6 @@ "@sentry/integrations": "^6.19.1", "@sentry/node": "^5.26.0", "@sentry/tracing": "^5.26.0", - "@types/analytics-node": "^3.1.7", - "@types/bcryptjs": "^2.4.2", - "@types/chai": "^4.2.18", - "@types/chai-string": "^1.4.2", - "@types/cookie": "^0.4.0", - "@types/cookie-parser": "^1.4.2", - "@types/dompurify": "^2.0.4", - "@types/express": "^4.17.7", - "@types/highlightjs": "^9.12.2", - "@types/intercom-client": "^2.11.8", - "@types/jsdom": "^16.2.3", - "@types/jsonwebtoken": "^8.5.0", - "@types/luxon": "^1.25.0", - "@types/mocha": "^8.2.2", - "@types/oauth": "^0.9.1", - "@types/sanitize-html": "^1.27.1", - "@types/supertest": "^2.0.11", - "@types/urlsafe-base64": "^1.0.28", - "@types/uuid": "^8.3.0", - "@types/voca": "^1.4.0", "analytics-node": "^6.0.0", "apollo-datasource": "^3.3.1", "apollo-server-express": "^3.6.3", @@ -105,11 +85,29 @@ "devDependencies": { "@babel/register": "^7.14.5", "@istanbuljs/nyc-config-typescript": "^1.0.2", - "@types/analytics-node": "^3.1.7", "@types/highlightjs": "^9.12.2", "@types/nanoid": "^3.0.0", "@types/nodemailer": "^6.4.4", "@types/private-ip": "^1.0.0", + "@types/analytics-node": "^3.1.7", + "@types/bcryptjs": "^2.4.2", + "@types/chai": "^4.2.18", + "@types/chai-string": "^1.4.2", + "@types/cookie": "^0.4.0", + "@types/cookie-parser": "^1.4.2", + "@types/dompurify": "^2.0.4", + "@types/express": "^4.17.7", + "@types/intercom-client": "^2.11.8", + "@types/jsdom": "^16.2.3", + "@types/jsonwebtoken": "^8.5.0", + "@types/luxon": "^1.25.0", + "@types/mocha": "^8.2.2", + "@types/oauth": "^0.9.1", + "@types/sanitize-html": "^1.27.1", + "@types/supertest": "^2.0.11", + "@types/urlsafe-base64": "^1.0.28", + "@types/uuid": "^8.3.0", + "@types/voca": "^1.4.0", "chai": "^4.3.4", "chai-string": "^1.5.0", "circular-dependency-plugin": "^5.2.0", From 9845a49040a40596a8bcd2774282c43383d931d6 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:17:46 -0700 Subject: [PATCH 5/8] Remove semicolon --- packages/api/src/services/newsletters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/api/src/services/newsletters.ts b/packages/api/src/services/newsletters.ts index 16b8c8810..99937bc4a 100644 --- a/packages/api/src/services/newsletters.ts +++ b/packages/api/src/services/newsletters.ts @@ -4,7 +4,7 @@ import { nanoid } from 'nanoid' import { User } from '../entity/user' import { CreateNewsletterEmailErrorCode } from '../generated/graphql' import { env } from '../env' -import addressparser = require('nodemailer/lib/addressparser'); +import addressparser = require('nodemailer/lib/addressparser') const parsedAddress = (emailAddress: string): string | undefined => { const res = addressparser(emailAddress, { flatten: true }) From bc7767bec176ebe784a3a2b332bff3bc26726d04 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:42:32 -0700 Subject: [PATCH 6/8] Build docker images in GitHub --- .github/workflows/run-tests.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index baba3253f..432c04b8c 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -69,7 +69,6 @@ jobs: yarn build yarn lint yarn test - env: PG_HOST: localhost PG_PORT: ${{ job.services.postgres.ports[5432] }} @@ -78,3 +77,12 @@ jobs: PG_DB: omnivore_test PG_POOL_MAX: 10 ELASTIC_URL: http://localhost:${{ job.services.elastic.ports[9200] }}/ + build-docker-images: + name: Build docker images + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Build the API docker image + run: 'docker build -F packages/api .' \ No newline at end of file From b9300d3f3047a21f2806c821907f1c2a19405f57 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:44:00 -0700 Subject: [PATCH 7/8] Avoid shorthand flag syntax in build scripts --- .github/workflows/run-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index 432c04b8c..f85a8153a 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -85,4 +85,4 @@ jobs: with: fetch-depth: 0 - name: Build the API docker image - run: 'docker build -F packages/api .' \ No newline at end of file + run: 'docker build --file packages/api .' \ No newline at end of file From 1489ca52310a2496a323cc88019afa40286c6c3e Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 4 Apr 2022 08:45:16 -0700 Subject: [PATCH 8/8] Specify file --- .github/workflows/run-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index f85a8153a..16aab9ebb 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -85,4 +85,4 @@ jobs: with: fetch-depth: 0 - name: Build the API docker image - run: 'docker build --file packages/api .' \ No newline at end of file + run: 'docker build --file packages/api/Dockerfile .' \ No newline at end of file