From d5c4d349e5fa586f813408a2035757d8d3a2c101 Mon Sep 17 00:00:00 2001 From: inca Date: Thu, 23 Jan 2025 18:56:20 +0300 Subject: [PATCH] feat: use custom loader, update to Node 22 --- Dockerfile | 11 ++++++++--- package-lock.json | 10 ++++++++++ package.json | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index ef0f3e8..13bda6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20.11-slim as builder +FROM node:22.13-slim as builder WORKDIR /builder COPY . ./ @@ -7,7 +7,7 @@ RUN npm ci && npm run build && rm -rf node_modules ################################################## -FROM node:20.11-slim +FROM node:22.13-slim ENV NODE_ENV production @@ -19,4 +19,9 @@ COPY --from=builder /builder . RUN npm ci --production WORKDIR /app -CMD ["node", "out/bin/run.js"] +CMD [ + "node", + "--import", + "@nodescript/module-loader/register", + "out/bin/run.js" +] diff --git a/package-lock.json b/package-lock.json index 6bed752..77d8b68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@nodescript/logger": "^2.0.6", "@nodescript/metrics": "^1.7.1", "@nodescript/microframework": "^1.15.1", + "@nodescript/module-loader": "^1.0.4", "mesh-config": "^1.2.1", "mesh-ioc": "^4.1.0" }, @@ -344,6 +345,15 @@ "reflect-metadata": "^0.1.13" } }, + "node_modules/@nodescript/module-loader": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@nodescript/module-loader/-/module-loader-1.0.4.tgz", + "integrity": "sha512-MBKB98MFPaGo2pjVq+cZmLJDzC/QJvztAG+TI8CmsXH+GmCJKFShrQUBgNJj7M5tsiSyZGxmJjrs7KdY3U9wEQ==", + "license": "ISC", + "engines": { + "node": ">=20" + } + }, "node_modules/@nodescript/pathmatcher": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@nodescript/pathmatcher/-/pathmatcher-1.3.0.tgz", diff --git a/package.json b/package.json index 1f256f6..bfb67be 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@nodescript/logger": "^2.0.6", "@nodescript/metrics": "^1.7.1", "@nodescript/microframework": "^1.15.1", + "@nodescript/module-loader": "^1.0.4", "mesh-config": "^1.2.1", "mesh-ioc": "^4.1.0" }