mirror of
https://github.com/FlowiseAI/Flowise.git
synced 2026-10-12 02:02:17 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+12
-12
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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": {
|
||||
|
||||
@@ -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({
|
||||
|
||||
Generated
+13
-41
@@ -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]: {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user