From 1fa308b2a98ff250f762f0bcf7841c7c9fd7381c Mon Sep 17 00:00:00 2001 From: mifi Date: Tue, 23 May 2023 22:06:09 -0400 Subject: [PATCH] Fixes --- .npmrc | 3 +++ .yarnrc.build.yml | 6 ++++++ Dockerfile | 25 ++++++++++++++++--------- docker-compose.dev.yml | 2 ++ package.json | 6 +++--- yarn.lock | 21 ++++++++++++++------- 6 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 .npmrc create mode 100644 .yarnrc.build.yml diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..7239adf --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +registry=https://registry.npmjs.org +@mifi:registry=https://git.mifi.dev/api/packages/mifi/npm +//git.mifi.dev/api/packages/mifi/npm/:_authToken=${NPM_TOKEN} diff --git a/.yarnrc.build.yml b/.yarnrc.build.yml new file mode 100644 index 0000000..5879910 --- /dev/null +++ b/.yarnrc.build.yml @@ -0,0 +1,6 @@ +nodeLinker: node-modules +npmScopes: + mifi: + npmRegistryServer: https://git.mifi.dev/api/packages/mifi/npm/ + npmAuthToken: e35a182b01581790f91996594bc16e5c6a89c71c # ${NPM_TOKEN} + npmAlwaysAuth: true diff --git a/Dockerfile b/Dockerfile index 279007e..7989e16 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,35 @@ ARG ENV=production ARG MONGO_VERSION=latest ARG PORT=9001 +ARG NPM_TOKEN=not_set +ARG YARN_VERSION=3.5.0 ## mongo build stage FROM mongo:$MONGO_VERSION AS database COPY docker-entrypoint-initdb.d/mongo-init-$MONGO_VERSION.sh ./docker-entrypoint-initdb.d/mongo-init.sh ## stage one, build the service -FROM node:20-alpine AS build +FROM node:20-bullseye-slim AS build +ENV YARN_VERSION $YARN_VERSION ENV NODE_ENV development +ENV NPM_TOKEN $NPM_TOKEN WORKDIR /home/node/app -COPY package*.json ./ -COPY tsconfig.json ./ -COPY lib ./lib -RUN ls -a -RUN yarn install +COPY .npmrc /root +COPY .yarnrc.build.yml /root/.yarnrc.yml +COPY lib package*.json tsconfig.json yarn.lock ./ +RUN yarn set version stable && yarn install RUN yarn build ## this is stage two , where the app actually runs -FROM node:20-alpine AS containerize +FROM node:20-bullseye-slim AS containerize +ENV YARN_VERSION $YARN_VERSION ENV NODE_ENV $ENV +ENV NPM_TOKEN $NPM_TOKEN WORKDIR /home/node/app -COPY package*.json ./ -RUN yarn install --frozen-lockfile --production +COPY .npmrc /root +COPY .yarnrc.build.yml /root/.yarnrc.yml +COPY package*.json yarn.lock ./ +RUN yarn set version stable && yarn install && yarn cache clean COPY --from=build /home/node/app/dist . EXPOSE $PORT CMD ["node","server/index.js"] diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 97429c8..6812f22 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -26,6 +26,8 @@ services: args: - PORT - ENV + - NPM_TOKEN + - YARN_VERSION=3.5.0 container_name: ${CONTAINER_PREFIX}-auth-service ports: - 9001:9001 diff --git a/package.json b/package.json index 1fb84ef..7213b4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mifi/auth-service", - "version": "1.0.1", + "version": "1.0.2", "author": "mifi (Mike Fitzpatrick)", "license": "MIT", "scripts": { @@ -56,8 +56,8 @@ "typescript": "^4.9.5" }, "dependencies": { - "@mifi/auth-db": "^1.0.0", - "@mifi/services-common": "^1.0.0", + "@mifi/auth-db": "^1.x.x", + "@mifi/services-common": "^1.x.x", "@simplewebauthn/server": "^7.2.0", "dotenv": "^16.0.3", "http-status-codes": "^2.2.0", diff --git a/yarn.lock b/yarn.lock index b722f94..1043262 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2697,15 +2697,15 @@ __metadata: languageName: node linkType: hard -"@mifi/auth-db@npm:^1.0.0": - version: 1.0.0 - resolution: "@mifi/auth-db@npm:1.0.0::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fauth-db%2F-%2F1.0.0%2Fauth-db-1.0.0.tgz" +"@mifi/auth-db@npm:^1.x.x": + version: 1.0.2 + resolution: "@mifi/auth-db@npm:1.0.2::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fauth-db%2F-%2F1.0.2%2Fauth-db-1.0.2.tgz" dependencies: "@mifi/services-common": 1.0.0 dotenv: ^16.0.3 jsonwebtoken: ^9.0.0 mongoose: ^6.9.2 - checksum: cd3165c207b54995e7049db6a763e475eef2fffbc083e3d6a8e309022cc5bbf43789ab935787a3dcbfc69e9b41c94c5e6d6e0a98b81309d74ff6a6fb8c1b6e3d + checksum: 4d0c725bffb0da608fe47813a18b4c6a4707c9b196f820c59794f3ab8543ae6da9879726e868a988bfe9cc8a4479c868c9ae472b9f7c3d9fffb63ea632270500 languageName: node linkType: hard @@ -2716,8 +2716,8 @@ __metadata: "@babel/core": ^7.21.8 "@babel/preset-env": ^7.21.5 "@babel/preset-typescript": ^7.21.5 - "@mifi/auth-db": ^1.0.0 - "@mifi/services-common": ^1.0.0 + "@mifi/auth-db": ^1.x.x + "@mifi/services-common": ^1.x.x "@simplewebauthn/server": ^7.2.0 "@tsconfig/node16": ^1.0.4 "@types/jest": ^29.5.1 @@ -2774,13 +2774,20 @@ __metadata: languageName: unknown linkType: soft -"@mifi/services-common@npm:1.0.0, @mifi/services-common@npm:^1.0.0": +"@mifi/services-common@npm:1.0.0": version: 1.0.0 resolution: "@mifi/services-common@npm:1.0.0::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fservices-common%2F-%2F1.0.0%2Fservices-common-1.0.0.tgz" checksum: 1ab1c697e603df26363a3b6ae77fc35ac19c34a4c43d874ec0fc113a87b2ae62a8ddc64c7d40fb7e38f69c42b0eb9a93df40905eb7fecc92c3665ef18f245bc0 languageName: node linkType: hard +"@mifi/services-common@npm:^1.x.x": + version: 1.0.1 + resolution: "@mifi/services-common@npm:1.0.1::__archiveUrl=https%3A%2F%2Fgit.mifi.dev%2Fapi%2Fpackages%2Fmifi%2Fnpm%2F%2540mifi%252Fservices-common%2F-%2F1.0.1%2Fservices-common-1.0.1.tgz" + checksum: b8ba60584616826615bf4600dc45a0fbe390a2ff5c1a8238e0f9e016fd2ff069e4c6fd96d4d02af7eb41671436a58ab69e6017301a509a175aeff08d7b056fc2 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5"