This is an automated email from the ASF dual-hosted git repository. mgubaidullin pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit f7d610e54d298e34b172cebdb04898f544e23b9d Author: Marat Gubaidullin <[email protected]> AuthorDate: Mon Aug 24 14:13:46 2026 -0400 UI config --- karavan-app/Dockerfile.dockerignore | 21 ----------------- karavan-app/docker-dev.sh | 17 ++++++++++++++ karavan-app/src/main/docker/Dockerfile | 2 +- karavan-app/src/main/webui/.gitignore | 2 +- karavan-app/src/main/webui/eslint.config.mjs | 26 ++++++++++++++++++++- karavan-app/src/main/webui/tsconfig.json | 35 ---------------------------- 6 files changed, 44 insertions(+), 59 deletions(-) diff --git a/karavan-app/Dockerfile.dockerignore b/karavan-app/Dockerfile.dockerignore deleted file mode 100644 index bd129012..00000000 --- a/karavan-app/Dockerfile.dockerignore +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -* -!target/*-runner -!target/*-runner.jar -!target/lib/* -!target/quarkus-app/* -src/* \ No newline at end of file diff --git a/karavan-app/docker-dev.sh b/karavan-app/docker-dev.sh new file mode 100755 index 00000000..c2451646 --- /dev/null +++ b/karavan-app/docker-dev.sh @@ -0,0 +1,17 @@ +docker run -it --rm \ + --name karavan \ + --network karavan \ + -p 8080:8080 \ + -p 5005:5005 \ + -p 5173:5173 \ + -v /m2-cache \ + -v "$(pwd)":/usr/src/app \ + -v /usr/src/app/target \ + -v /usr/src/app/src/main/webui/node_modules \ + -w /usr/src/app \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e QUARKUS_ANALYTICS_DISABLED=true \ + maven:3.9-eclipse-temurin-25 \ + mvn quarkus:dev \ + -Dquarkus.http.host=0.0.0.0 \ + -Dmaven.repo.local=/m2-cache/repository \ No newline at end of file diff --git a/karavan-app/src/main/docker/Dockerfile b/karavan-app/src/main/docker/Dockerfile index d3b97c82..5786a7c7 100644 --- a/karavan-app/src/main/docker/Dockerfile +++ b/karavan-app/src/main/docker/Dockerfile @@ -19,7 +19,7 @@ LABEL "org.opencontainers.image.title"="karavan" LABEL "org.opencontainers.image.description"="Apache Camel Karavan" LABEL "org.opencontainers.image.url"="https://camel.apache.org" LABEL "org.opencontainers.image.licenses"="Apache 2.0" -LABEL "org.opencontainers.image.version"="4.18.1" +LABEL "org.opencontainers.image.version"="4.22.0" LABEL "org.apache.camel.karavan/type"="internal" RUN mkdir /opt/app diff --git a/karavan-app/src/main/webui/.gitignore b/karavan-app/src/main/webui/.gitignore index 431cc305..b2bc7055 100644 --- a/karavan-app/src/main/webui/.gitignore +++ b/karavan-app/src/main/webui/.gitignore @@ -32,7 +32,7 @@ fixtures/dom/public/react.js test/the-files-to-test.generated.js *.log* chrome-user-data -*.sublime-project +*.sublime-projectFolder *.sublime-workspace .idea *.iml diff --git a/karavan-app/src/main/webui/eslint.config.mjs b/karavan-app/src/main/webui/eslint.config.mjs index d0fdedb3..2f151d3c 100644 --- a/karavan-app/src/main/webui/eslint.config.mjs +++ b/karavan-app/src/main/webui/eslint.config.mjs @@ -4,5 +4,29 @@ import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; export default tseslint.config( - eslint.configs.recommended + eslint.configs.recommended, + ...tseslint.configs.recommended, // <-- ADD THIS: Sets up the TS parser and recommended rules + { + files: ['src/**/*.{ts,tsx}'], + ignores: ['src/core/**'], // generated + rules: { + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-unused-vars': ['error', { + args: 'none' + }], + 'no-restricted-imports': ['error', { + paths: [ + {name: 'zustand/traditional', message: 'Legacy store pattern. Use create<T>()'}, + {name: 'axios', message: 'Use AuthApi.getInstance() — CSRF + 401 refresh live there'}, + ], + patterns: [ + {group: ['../../*'], message: 'Use tsconfig path aliases (@stores/…, @api/…)'}, + ], + }], + 'no-restricted-syntax': ['error', { + selector: "ImportSpecifier[imported.name=/^(Text|TextContent)$/]", + message: 'Removed in PatternFly 6 — use Content', + }], + }, + }, ); \ No newline at end of file diff --git a/karavan-app/src/main/webui/tsconfig.json b/karavan-app/src/main/webui/tsconfig.json deleted file mode 100644 index 97861b23..00000000 --- a/karavan-app/src/main/webui/tsconfig.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "lib": ["dom", "dom.iterable", "esnext"], - "module": "ESNext", - "moduleResolution": "bundler", - "allowJs": false, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "strictNullChecks": false, - "noFallthroughCasesInSwitch": true, - "jsx": "react-jsx", - "types": ["vite/client", "vite-plugin-svgr/client"], - "baseUrl": "./", - "paths": { - "@core/*": ["src/core/*"], - "@app/*": ["src/ui/app/*"], - "@api/*": ["src/ui/api/*"], - "@bus/*": ["src/ui/bus/*"], - "@features/*": ["src/ui/features/*"], - "@models/*": ["src/ui/models/*"], - "@services/*": ["src/ui/services/*"], - "@shared/*": ["src/ui/shared/*"], - "@stores/*": ["src/ui/stores/*"], - "@util/*": ["src/ui/util/*"] - } - }, - "include": ["src", "**/*.ts", "**/*.tsx", "**/*.mjs"] -}
