diff --git a/parser-sdk/nodejs/.gitignore b/parser-sdk/nodejs/.gitignore index 2d2da7ae86..0ac983cff2 100644 --- a/parser-sdk/nodejs/.gitignore +++ b/parser-sdk/nodejs/.gitignore @@ -3,3 +3,4 @@ # SPDX-License-Identifier: Apache-2.0 node_modules/ +build/ \ No newline at end of file diff --git a/parser-sdk/nodejs/Dockerfile b/parser-sdk/nodejs/Dockerfile index bd9bae86a6..19e5b1ec55 100644 --- a/parser-sdk/nodejs/Dockerfile +++ b/parser-sdk/nodejs/Dockerfile @@ -2,19 +2,19 @@ # # SPDX-License-Identifier: Apache-2.0 -FROM node:22-alpine AS build -WORKDIR /home/app +FROM oven/bun:1.2 AS build +WORKDIR /home/app/ COPY package.json package-lock.json ./ -RUN npm ci --omit=dev +RUN bun install +COPY *.js ./ +RUN bun run build FROM node:22-alpine ARG NODE_ENV RUN addgroup --system --gid 1001 app && adduser app --system --uid 1001 --ingroup app WORKDIR /home/app/parser-wrapper/ -COPY --from=build --chown=root:root --chmod=755 /home/app/node_modules/ ./node_modules/ -COPY --chown=root:root --chmod=755 ./parser-wrapper.js ./parser-wrapper.js -COPY --chown=root:root --chmod=755 ./parser-utils.js ./parser-utils.js +COPY --from=build --chown=root:root --chmod=755 /home/app/build/ ./ COPY --chown=root:root --chmod=755 ./findings-schema.json ./findings-schema.json USER 1001 ENV NODE_ENV=${NODE_ENV:-production} -ENTRYPOINT ["node", "/home/app/parser-wrapper/parser-wrapper.js"] +ENTRYPOINT ["node", "--enable-source-maps", "/home/app/parser-wrapper/parser-wrapper.js"] diff --git a/parser-sdk/nodejs/package-lock.json b/parser-sdk/nodejs/package-lock.json index 79c255946a..b051d18711 100644 --- a/parser-sdk/nodejs/package-lock.json +++ b/parser-sdk/nodejs/package-lock.json @@ -14,7 +14,8 @@ "ajv-draft-04": "^1.0.0", "ajv-formats": "^3.0.1", "jsonpointer": "^5.0.1" - } + }, + "devDependencies": {} }, "node_modules/@jsep-plugin/assignment": { "version": "1.3.0", diff --git a/parser-sdk/nodejs/package.json b/parser-sdk/nodejs/package.json index 5378db798f..78ea9a283c 100644 --- a/parser-sdk/nodejs/package.json +++ b/parser-sdk/nodejs/package.json @@ -7,11 +7,15 @@ "keywords": [], "author": "iteratec GmbH", "license": "Apache-2.0", + "scripts": { + "build": "bun build --production --target=node --outdir=build/ --external=./parser/parser.js --sourcemap=external --minify ./parser-wrapper.js" + }, "dependencies": { "@kubernetes/client-node": "^1.3.0", "ajv": "^8.17.1", "ajv-draft-04": "^1.0.0", "ajv-formats": "^3.0.1", "jsonpointer": "^5.0.1" - } -} \ No newline at end of file + }, + "devDependencies": {} +}