chore: node version update (#6359)

* update: node version

* fix: lint issues

* add: missing dependency in ci for faiss

* fix: pin pnpm version

* fix: more dependency issues

* fix: even more dependency issues

* update: pnpm overrides

* revert: experimental changes
This commit is contained in:
Ilango
2026-06-02 20:43:23 +05:30
committed by GitHub
parent b2550f7ffe
commit ba6a089d2b
11 changed files with 45 additions and 72 deletions
+3 -3
View File
@@ -7,9 +7,9 @@ on:
description: 'Node.js version to build this image with.'
type: choice
required: true
default: '20'
default: '24'
options:
- '20'
- '24'
tag_version:
description: 'Tag version of the image to be pushed.'
type: string
@@ -23,7 +23,7 @@ jobs:
- name: Set default values
id: defaults
run: |
echo "node_version=${{ github.event.inputs.node_version || '20' }}" >> $GITHUB_OUTPUT
echo "node_version=${{ github.event.inputs.node_version || '24' }}" >> $GITHUB_OUTPUT
echo "tag_version=${{ github.event.inputs.tag_version || 'latest' }}" >> $GITHUB_OUTPUT
- name: Checkout
+3 -3
View File
@@ -15,9 +15,9 @@ on:
description: 'Node.js version to build this image with.'
type: choice
required: true
default: '20'
default: '24'
options:
- '20'
- '24'
tag_version:
description: 'Tag version of the image to be pushed.'
type: string
@@ -36,7 +36,7 @@ jobs:
- name: Set default values
id: defaults
run: |
echo "node_version=${{ github.event.inputs.node_version || '20' }}" >> $GITHUB_OUTPUT
echo "node_version=${{ github.event.inputs.node_version || '24' }}" >> $GITHUB_OUTPUT
echo "tag_version=${{ github.event.inputs.tag_version || 'latest' }}" >> $GITHUB_OUTPUT
- name: Checkout
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
strategy:
matrix:
platform: [ubuntu-latest]
node-version: [20.20.2]
node-version: [24.15.0]
runs-on: ${{ matrix.platform }}
env:
PUPPETEER_SKIP_DOWNLOAD: true
+1 -1
View File
@@ -1 +1 @@
v20.20.2
v24.15.0
+12 -12
View File
@@ -4,21 +4,21 @@
# Run image
# docker run -d -p 3000:3000 flowise
FROM node:20-alpine
FROM node:24-alpine
# Install system dependencies and build tools
RUN apk update && \
apk add --no-cache \
libc6-compat \
python3 \
make \
g++ \
build-base \
cairo-dev \
pango-dev \
chromium \
curl && \
npm install -g pnpm
libc6-compat \
python3 \
make \
g++ \
build-base \
cairo-dev \
pango-dev \
chromium \
curl && \
npm install -g pnpm@10.26.0
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
@@ -42,4 +42,4 @@ USER node
EXPOSE 3000
CMD [ "pnpm", "start" ]
CMD [ "pnpm", "start" ]
+2 -2
View File
@@ -1,5 +1,5 @@
# Stage 1: Build stage
FROM node:20-alpine AS build
FROM node:24-alpine AS build
USER root
@@ -10,7 +10,7 @@ ENV PUPPETEER_SKIP_DOWNLOAD=true
RUN npm install -g flowise
# Stage 2: Runtime stage
FROM node:20-alpine
FROM node:${NODE_VERSION}-alpine
# Install runtime dependencies
RUN apk add --no-cache chromium git python3 py3-pip make g++ build-base cairo-dev pango-dev curl
+2 -2
View File
@@ -1,4 +1,4 @@
FROM node:20-alpine
FROM node:24-alpine
RUN apk add --update libc6-compat python3 make g++
# needed for pdfjs-dist
@@ -8,7 +8,7 @@ RUN apk add --no-cache build-base cairo-dev pango-dev
RUN apk add --no-cache chromium curl
#install PNPM globally
RUN npm install -g pnpm
RUN npm install -g pnpm@10.26.0
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
+2 -1
View File
@@ -71,6 +71,7 @@
"sqlite3"
],
"overrides": {
"prebuild-install": "7.1.3",
"axios": "1.15.0",
"body-parser": "2.0.2",
"braces": "3.0.3",
@@ -96,7 +97,7 @@
}
},
"engines": {
"node": "^20",
"node": "^24",
"pnpm": "^10.26.0"
},
"resolutions": {
+1 -1
View File
@@ -58,7 +58,7 @@
"email": "[email protected]"
},
"engines": {
"node": "^20"
"node": "^24"
},
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
@@ -8,7 +8,7 @@ import { Workspace } from '../database/entities/workspace.entity'
import { LoggedInUser } from '../Interface.Enterprise'
const mockReadOrganizationUserByOrganizationIdUserId = jest.fn() as jest.MockedFunction<
(organizationId: string, userId: string, queryRunner: QueryRunner) => Promise<{ organizationUser: unknown }>
(_organizationId: string, _userId: string, _queryRunner: QueryRunner) => Promise<{ organizationUser: unknown }>
>
jest.mock('../services/organization-user.service', () => ({
@@ -49,7 +49,7 @@ function makeRequest(user: Partial<LoggedInUser> | undefined): Request {
return { user } as unknown as Request
}
function makeQueryRunner(findOneByImpl?: jest.MockedFunction<(entity: unknown, where: { id: string }) => Promise<unknown>>): QueryRunner {
function makeQueryRunner(findOneByImpl?: jest.MockedFunction<(_entity: unknown, _where: { id: string }) => Promise<unknown>>): QueryRunner {
const findOneBy = findOneByImpl ?? jest.fn()
return {
manager: { findOneBy }
@@ -184,7 +184,7 @@ describe('tenantRequestGuards', () => {
it('org admin: resolves when workspace belongs to active organization', async () => {
const findOneBy = jest
.fn<(entity: unknown, where: { id: string }) => Promise<unknown>>()
.fn<(_entity: unknown, _where: { id: string }) => Promise<unknown>>()
.mockResolvedValue({ id: 'ws-remote', organizationId: 'org-1' })
const user = makeLoggedInUser({
activeWorkspaceId: 'ws-active',
@@ -197,7 +197,7 @@ describe('tenantRequestGuards', () => {
})
it('org admin: throws when workspace is not found', async () => {
const findOneBy = jest.fn<(entity: unknown, where: { id: string }) => Promise<unknown>>().mockResolvedValue(null)
const findOneBy = jest.fn<(_entity: unknown, _where: { id: string }) => Promise<unknown>>().mockResolvedValue(null)
const user = makeLoggedInUser({ isOrganizationAdmin: true, activeOrganizationId: 'org-1' })
await expect(assertWorkspaceIdAccessibleToUser(user, 'missing-ws', makeQueryRunner(findOneBy))).rejects.toMatchObject({
statusCode: StatusCodes.FORBIDDEN,
@@ -207,7 +207,7 @@ describe('tenantRequestGuards', () => {
it('org admin: throws when workspace is in another organization', async () => {
const findOneBy = jest
.fn<(entity: unknown, where: { id: string }) => Promise<unknown>>()
.fn<(_entity: unknown, _where: { id: string }) => Promise<unknown>>()
.mockResolvedValue({ id: 'ws-remote', organizationId: 'org-other' })
const user = makeLoggedInUser({ isOrganizationAdmin: true, activeOrganizationId: 'org-1' })
await expect(assertWorkspaceIdAccessibleToUser(user, 'ws-remote', makeQueryRunner(findOneBy))).rejects.toMatchObject({
+13 -41
View File
@@ -13,6 +13,7 @@ overrides:
openai: 6.19.0
protobufjs: 7.4.0
uuid: ^10.0.0
prebuild-install: 7.1.3
axios: 1.15.0
body-parser: 2.0.2
braces: 3.0.3
@@ -10387,9 +10388,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
[email protected]:
resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==}
[email protected]:
resolution: {integrity: sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==}
@@ -11888,10 +11886,6 @@ packages:
resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==}
engines: {node: '>=12.20'}
[email protected]:
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
engines: {node: '>=8'}
[email protected]:
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
engines: {node: '>=8'}
@@ -16162,8 +16156,8 @@ packages:
resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
engines: {node: '>=0.10.0'}
napi-build-utils@1.0.2:
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
napi-build-utils@2.0.0:
resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
[email protected]:
resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
@@ -17550,8 +17544,8 @@ packages:
resolution: {integrity: sha512-JB+ei0LkwE+rKHyW5z79Nd1jUaGxU6TvkfjFqY9vQaHxU5aU8dRl0UUaEmZdZbHwjp3WmXCBQQRNyimwbNQfCw==}
engines: {node: '>=15.0.0'}
[email protected].2:
resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==}
[email protected].3:
resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
engines: {node: '>=10'}
deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
hasBin: true
@@ -17873,9 +17867,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
[email protected]:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
[email protected]:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
@@ -19146,9 +19137,6 @@ packages:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
[email protected]:
resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==}
[email protected]:
resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==}
@@ -33697,9 +33685,6 @@ snapshots:
[email protected]: {}
[email protected]:
optional: true
[email protected]:
optional: true
@@ -35322,8 +35307,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
@@ -36638,7 +36621,7 @@ snapshots:
dependencies:
bindings: 1.5.0
node-addon-api: 6.1.0
prebuild-install: 7.1.2
prebuild-install: 7.1.3
transitivePeerDependencies:
- bare-buffer
@@ -41525,7 +41508,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
napi-build-utils@1.0.2: {}
napi-build-utils@2.0.0: {}
[email protected]: {}
@@ -42978,14 +42961,14 @@ snapshots:
transitivePeerDependencies:
- debug
[email protected].2:
[email protected].3:
dependencies:
detect-libc: 2.0.2
detect-libc: 2.0.3
expand-template: 2.0.3
github-from-package: 0.0.0
minimist: 1.2.8
mkdirp-classic: 0.5.3
napi-build-utils: 1.0.2
napi-build-utils: 2.0.0
node-abi: 3.56.0
pump: 3.0.0
rc: 1.2.8
@@ -43386,8 +43369,6 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
@@ -44686,7 +44667,7 @@ snapshots:
color: 4.2.3
detect-libc: 2.0.3
node-addon-api: 6.1.0
prebuild-install: 7.1.2
prebuild-install: 7.1.3
semver: 7.7.1
simple-get: 4.0.1
tar-fs: 3.1.0
@@ -45024,7 +45005,7 @@ snapshots:
dependencies:
bindings: 1.5.0
node-addon-api: 7.1.0
prebuild-install: 7.1.2
prebuild-install: 7.1.3
tar: 6.2.0
optionalDependencies:
node-gyp: 8.4.1
@@ -45137,20 +45118,12 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
fast-fifo: 1.3.2
queue-tick: 1.0.1
optionalDependencies:
bare-events: 2.2.1
[email protected]:
dependencies:
fast-fifo: 1.3.2
text-decoder: 1.2.3
optionalDependencies:
bare-events: 2.6.0
optional: true
[email protected]: {}
@@ -45585,7 +45558,7 @@ snapshots:
dependencies:
b4a: 1.6.6
fast-fifo: 1.3.2
streamx: 2.16.1
streamx: 2.22.1
[email protected]:
dependencies:
@@ -45654,7 +45627,6 @@ snapshots:
[email protected]:
dependencies:
b4a: 1.6.6
optional: true
[email protected]: {}