diff --git a/src/@shared/scripts/merge.js b/src/@shared/scripts/merge.js deleted file mode 100644 index 5eec55e..0000000 --- a/src/@shared/scripts/merge.js +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env node - -import fs from 'node:fs/promises' - -const merge_json = (prev, cur) => { - const keys = ["dependencies", "devDependencies"]; - const out = {}; - - for (let k of keys) - out[k] = Object.assign(prev[k] ?? {}, cur[k] ?? {}); - return out; -}; - -const promises = process.argv.slice(2).map(f => fs.readFile(f, { encoding: "utf8" })); -const jsons = (await Promise.all(promises)).map(JSON.parse); -const deps = jsons.reduce(merge_json, {}); - -const out = Object.assign(deps, { - private: true, - name: "stub", -}); - -console.log(JSON.stringify(out)); diff --git a/src/Dockerfile b/src/Dockerfile index 732b80c..35a734a 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -1,23 +1,25 @@ -FROM guergeiro/pnpm:22-10-slim as builder +FROM guergeiro/pnpm:22-10-alpine as builder ARG SERVICE WORKDIR /build -COPY ./@shared/package.json /build/@shared/package.json -COPY ./${SERVICE}/package.json /build/service/package.json -COPY ./${SERVICE}/package.json /build/package.json -COPY ./tsconfig.base.json /build/tsconfig.base.json -COPY ./pnpm-workspace.yaml /build/pnpm-workspace.yaml +COPY @shared/package.json /build/@shared/ +COPY ${SERVICE}/package.json /build/service/ +COPY tsconfig.base.json pnpm-workspace.yaml package.json /build/ -RUN pnpm install; +RUN pnpm install; -COPY ./@shared/ /build/@shared/ -COPY ./${SERVICE}/ /build/service/ +COPY @shared/ /build/@shared/ +COPY ${SERVICE}/ /build/service/ -RUN cd /build/service && \ - pnpm run build:prod && \ - node /build/@shared/scripts/merge.js /build/*/package.json >/dist/package.json && \ - cp /build/pnpm-workspace.yaml /dist/pnpm-workspace.yaml; +RUN cd /build/service && \ + pnpm run build:prod && \ + mkdir -p /dist/@shared /dist/service && \ + cp /build/pnpm-workspace.yaml /dist/pnpm-workspace.yaml && \ + cp /build/@shared/package.json /dist/@shared/ && \ + cp /build/service/package.json /dist/service/ && \ + cp /build/package.json /dist/ && \ + cp /build/pnpm-lock.yaml /dist/; FROM guergeiro/pnpm:22-10-alpine @@ -26,6 +28,6 @@ WORKDIR /src COPY --from=builder /dist /src -RUN pnpm install --prod; +RUN pnpm install --prod --frozen-lockfile; CMD ["node", "/src/run.cjs"] diff --git a/src/pnpm-workspace.yaml b/src/pnpm-workspace.yaml index 14297f8..e485db3 100644 --- a/src/pnpm-workspace.yaml +++ b/src/pnpm-workspace.yaml @@ -1,4 +1,4 @@ -pacakges: +packages: - ./* nodeLinker: hoisted