Update Hilla version

Fix production build
This commit is contained in:
grimsi
2025-04-01 23:19:29 +02:00
parent a02fae883c
commit cdfa2a25a4
22 changed files with 1827 additions and 1603 deletions
+2 -1
View File
@@ -4,12 +4,13 @@
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="-P hilla.productionMode=true" />
<option name="scriptParameters" value="-Pvaadin.productionMode=true" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="clean" />
<option value="build" />
</list>
</option>
+2 -2
View File
@@ -23,8 +23,8 @@ subprojects {
tasks.withType<KotlinJvmCompile> {
compilerOptions {
languageVersion = KotlinVersion.KOTLIN_2_0
apiVersion = KotlinVersion.KOTLIN_2_0
languageVersion = KotlinVersion.KOTLIN_2_1
apiVersion = KotlinVersion.KOTLIN_2_1
jvmTarget = JvmTarget.JVM_21
progressiveMode = true
freeCompilerArgs.add("-Xjsr305=strict")
+1 -1
View File
@@ -1,5 +1,5 @@
group = "de.grimsi"
val appMainClass = "de.grimsi.gameyfin.GameyfinApplication"
val appMainClass = "de.grimsi.gameyfin.GameyfinApplicationKt"
plugins {
id("org.springframework.boot")
+1725 -1515
View File
File diff suppressed because it is too large Load Diff
+60 -58
View File
@@ -9,22 +9,22 @@
"@polymer/polymer": "3.5.2",
"@react-stately/data": "^3.12.2",
"@react-types/shared": "^3.28.0",
"@vaadin/bundles": "24.6.6",
"@vaadin/bundles": "24.7.1",
"@vaadin/common-frontend": "0.0.19",
"@vaadin/hilla-file-router": "24.6.6",
"@vaadin/hilla-frontend": "24.6.6",
"@vaadin/hilla-lit-form": "24.6.6",
"@vaadin/hilla-react-auth": "24.6.6",
"@vaadin/hilla-react-crud": "24.6.6",
"@vaadin/hilla-react-form": "24.6.6",
"@vaadin/hilla-react-i18n": "24.6.6",
"@vaadin/hilla-react-signals": "24.6.6",
"@vaadin/polymer-legacy-adapter": "24.6.6",
"@vaadin/react-components": "24.6.6",
"@vaadin/hilla-file-router": "24.7.1",
"@vaadin/hilla-frontend": "24.7.1",
"@vaadin/hilla-lit-form": "24.7.1",
"@vaadin/hilla-react-auth": "24.7.1",
"@vaadin/hilla-react-crud": "24.7.1",
"@vaadin/hilla-react-form": "24.7.1",
"@vaadin/hilla-react-i18n": "24.7.1",
"@vaadin/hilla-react-signals": "24.7.1",
"@vaadin/polymer-legacy-adapter": "24.7.1",
"@vaadin/react-components": "24.7.1",
"@vaadin/vaadin-development-mode-detector": "2.0.7",
"@vaadin/vaadin-lumo-styles": "24.6.6",
"@vaadin/vaadin-material-styles": "24.6.6",
"@vaadin/vaadin-themable-mixin": "24.6.6",
"@vaadin/vaadin-lumo-styles": "24.7.1",
"@vaadin/vaadin-material-styles": "24.7.1",
"@vaadin/vaadin-themable-mixin": "24.7.1",
"@vaadin/vaadin-usage-statistics": "2.1.3",
"classnames": "^2.5.1",
"construct-style-sheets-polyfill": "3.1.0",
@@ -43,7 +43,7 @@
"react-aria-components": "^1.7.1",
"react-confetti-boom": "^1.0.0",
"react-dom": "18.3.1",
"react-router-dom": "6.29.0",
"react-router": "7.2.0",
"yup": "^1.6.1"
},
"devDependencies": {
@@ -55,21 +55,22 @@
"@types/node": "^22.4.0",
"@types/react": "18.3.18",
"@types/react-dom": "18.3.5",
"@vaadin/hilla-generator-cli": "24.6.6",
"@vaadin/hilla-generator-core": "24.6.6",
"@vaadin/hilla-generator-plugin-backbone": "24.6.6",
"@vaadin/hilla-generator-plugin-barrel": "24.6.6",
"@vaadin/hilla-generator-plugin-client": "24.6.6",
"@vaadin/hilla-generator-plugin-model": "24.6.6",
"@vaadin/hilla-generator-plugin-push": "24.6.6",
"@vaadin/hilla-generator-plugin-signals": "24.6.6",
"@vaadin/hilla-generator-plugin-subtypes": "24.6.6",
"@vaadin/hilla-generator-utils": "24.6.6",
"@vaadin/hilla-generator-cli": "24.7.1",
"@vaadin/hilla-generator-core": "24.7.1",
"@vaadin/hilla-generator-plugin-backbone": "24.7.1",
"@vaadin/hilla-generator-plugin-barrel": "24.7.1",
"@vaadin/hilla-generator-plugin-client": "24.7.1",
"@vaadin/hilla-generator-plugin-model": "24.7.1",
"@vaadin/hilla-generator-plugin-push": "24.7.1",
"@vaadin/hilla-generator-plugin-signals": "24.7.1",
"@vaadin/hilla-generator-plugin-subtypes": "24.7.1",
"@vaadin/hilla-generator-plugin-transfertypes": "24.7.1",
"@vaadin/hilla-generator-utils": "24.7.1",
"@vitejs/plugin-react": "4.3.4",
"@vitejs/plugin-react-swc": "^3.7.0",
"async": "3.2.6",
"autoprefixer": "^10.4.20",
"glob": "10.4.5",
"glob": "11.0.1",
"postcss": "^8.4.41",
"postcss-import": "^16.1.0",
"rollup-plugin-brotli": "3.1.0",
@@ -78,7 +79,7 @@
"tailwindcss": "^3.4.13",
"transform-ast": "2.4.4",
"typescript": "5.7.3",
"vite": "6.0.11",
"vite": "6.2.3",
"vite-plugin-checker": "0.8.0",
"workbox-build": "7.3.0",
"workbox-core": "7.3.0",
@@ -89,7 +90,6 @@
"classnames": "$classnames",
"react": "$react",
"react-dom": "$react-dom",
"react-router-dom": "$react-router-dom",
"@vaadin/bundles": "$@vaadin/bundles",
"@vaadin/common-frontend": "$@vaadin/common-frontend",
"construct-style-sheets-polyfill": "$construct-style-sheets-polyfill",
@@ -127,34 +127,35 @@
"@react-stately/data": "$@react-stately/data",
"react-aria-components": "$react-aria-components",
"react-accessible-treeview": "$react-accessible-treeview",
"rand-seed": "$rand-seed"
"rand-seed": "$rand-seed",
"react-router": "$react-router"
},
"vaadin": {
"dependencies": {
"@polymer/polymer": "3.5.2",
"@vaadin/bundles": "24.6.6",
"@vaadin/bundles": "24.7.1",
"@vaadin/common-frontend": "0.0.19",
"@vaadin/hilla-file-router": "24.6.6",
"@vaadin/hilla-frontend": "24.6.6",
"@vaadin/hilla-lit-form": "24.6.6",
"@vaadin/hilla-react-auth": "24.6.6",
"@vaadin/hilla-react-crud": "24.6.6",
"@vaadin/hilla-react-form": "24.6.6",
"@vaadin/hilla-react-i18n": "24.6.6",
"@vaadin/hilla-react-signals": "24.6.6",
"@vaadin/polymer-legacy-adapter": "24.6.6",
"@vaadin/react-components": "24.6.6",
"@vaadin/hilla-file-router": "24.7.1",
"@vaadin/hilla-frontend": "24.7.1",
"@vaadin/hilla-lit-form": "24.7.1",
"@vaadin/hilla-react-auth": "24.7.1",
"@vaadin/hilla-react-crud": "24.7.1",
"@vaadin/hilla-react-form": "24.7.1",
"@vaadin/hilla-react-i18n": "24.7.1",
"@vaadin/hilla-react-signals": "24.7.1",
"@vaadin/polymer-legacy-adapter": "24.7.1",
"@vaadin/react-components": "24.7.1",
"@vaadin/vaadin-development-mode-detector": "2.0.7",
"@vaadin/vaadin-lumo-styles": "24.6.6",
"@vaadin/vaadin-material-styles": "24.6.6",
"@vaadin/vaadin-themable-mixin": "24.6.6",
"@vaadin/vaadin-lumo-styles": "24.7.1",
"@vaadin/vaadin-material-styles": "24.7.1",
"@vaadin/vaadin-themable-mixin": "24.7.1",
"@vaadin/vaadin-usage-statistics": "2.1.3",
"construct-style-sheets-polyfill": "3.1.0",
"date-fns": "2.29.3",
"lit": "3.2.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.29.0"
"react-router": "7.2.0"
},
"devDependencies": {
"@babel/preset-react": "7.26.3",
@@ -163,30 +164,31 @@
"@rollup/pluginutils": "5.1.4",
"@types/react": "18.3.18",
"@types/react-dom": "18.3.5",
"@vaadin/hilla-generator-cli": "24.6.6",
"@vaadin/hilla-generator-core": "24.6.6",
"@vaadin/hilla-generator-plugin-backbone": "24.6.6",
"@vaadin/hilla-generator-plugin-barrel": "24.6.6",
"@vaadin/hilla-generator-plugin-client": "24.6.6",
"@vaadin/hilla-generator-plugin-model": "24.6.6",
"@vaadin/hilla-generator-plugin-push": "24.6.6",
"@vaadin/hilla-generator-plugin-signals": "24.6.6",
"@vaadin/hilla-generator-plugin-subtypes": "24.6.6",
"@vaadin/hilla-generator-utils": "24.6.6",
"@vaadin/hilla-generator-cli": "24.7.1",
"@vaadin/hilla-generator-core": "24.7.1",
"@vaadin/hilla-generator-plugin-backbone": "24.7.1",
"@vaadin/hilla-generator-plugin-barrel": "24.7.1",
"@vaadin/hilla-generator-plugin-client": "24.7.1",
"@vaadin/hilla-generator-plugin-model": "24.7.1",
"@vaadin/hilla-generator-plugin-push": "24.7.1",
"@vaadin/hilla-generator-plugin-signals": "24.7.1",
"@vaadin/hilla-generator-plugin-subtypes": "24.7.1",
"@vaadin/hilla-generator-plugin-transfertypes": "24.7.1",
"@vaadin/hilla-generator-utils": "24.7.1",
"@vitejs/plugin-react": "4.3.4",
"async": "3.2.6",
"glob": "10.4.5",
"glob": "11.0.1",
"rollup-plugin-brotli": "3.1.0",
"rollup-plugin-visualizer": "5.14.0",
"strip-css-comments": "5.0.0",
"transform-ast": "2.4.4",
"typescript": "5.7.3",
"vite": "6.0.11",
"vite": "6.2.3",
"vite-plugin-checker": "0.8.0",
"workbox-build": "7.3.0",
"workbox-core": "7.3.0",
"workbox-precaching": "7.3.0"
},
"hash": "a951d6d827dd2a43a7d0fa6330d5030cc19c1077490488a24cfd7908bd43aac3"
"hash": "26d6e466339c0b4c7dfffb8fe616e725dd60e800bba0169742bfabede9023961"
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
import {Outlet, useHref, useNavigate} from 'react-router-dom';
import {Outlet, useHref, useNavigate} from 'react-router';
import "./main.css";
import "Frontend/util/custom-validators";
import {HeroUIProvider} from "@heroui/react";
@@ -1,7 +1,7 @@
import {useAuth} from "Frontend/util/auth";
import {GearFine, Question, SignOut, User} from "@phosphor-icons/react";
import {Dropdown, DropdownItem, DropdownMenu, DropdownTrigger} from "@heroui/react";
import {useNavigate} from "react-router-dom";
import {useNavigate} from "react-router";
import {ConfigEndpoint} from "Frontend/generated/endpoints";
import Avatar from "Frontend/components/general/Avatar";
import {CollectionElement} from "@react-types/shared";
@@ -1,4 +1,4 @@
import {Outlet} from "react-router-dom";
import {Outlet} from "react-router";
import {Icon} from "@phosphor-icons/react";
import {Listbox, ListboxItem} from "@heroui/react";
import {ReactElement, useState} from "react";
+1 -1
View File
@@ -1,6 +1,6 @@
import {createRoot} from 'react-dom/client';
import {StrictMode} from "react";
import {RouterProvider} from "react-router-dom";
import {RouterProvider} from "react-router";
import router from "./routes";
const container = document.getElementById('outlet')!;
+1 -1
View File
@@ -1,5 +1,5 @@
import {protectRoutes} from '@vaadin/hilla-react-auth';
import {createBrowserRouter, RouteObject} from 'react-router-dom';
import {createBrowserRouter, RouteObject} from 'react-router';
import LoginView from "Frontend/views/LoginView";
import MainLayout from "Frontend/views/MainLayout";
import TestView from "Frontend/views/TestView";
+5 -5
View File
@@ -1,7 +1,7 @@
import { useMatches } from 'react-router-dom';
import {useMatches} from 'react-router';
type RouteMetadata = {
[key: string]: any;
[key: string]: any;
};
/**
@@ -9,7 +9,7 @@ type RouteMetadata = {
* or undefined if the route does not have defined a handle.
*/
export function useRouteMetadata(): RouteMetadata | undefined {
const matches = useMatches();
const match = matches[matches.length - 1];
return match?.handle as RouteMetadata | undefined;
const matches = useMatches();
const match = matches[matches.length - 1];
return match?.handle as RouteMetadata | undefined;
}
@@ -1,5 +1,5 @@
import {Card, CardBody, CardHeader} from "@heroui/react";
import {useNavigate, useSearchParams} from "react-router-dom";
import {useNavigate, useSearchParams} from "react-router";
import React, {useEffect, useState} from "react";
import {CheckCircle, Warning, WarningCircle} from "@phosphor-icons/react";
import TokenValidationResult from "Frontend/generated/de/grimsi/gameyfin/shared/token/TokenValidationResult";
@@ -1,5 +1,5 @@
import {addToast, Button, Card, CardBody, CardHeader} from "@heroui/react";
import {useNavigate, useSearchParams} from "react-router-dom";
import {useNavigate, useSearchParams} from "react-router";
import {Form, Formik} from "formik";
import Input from "Frontend/components/general/input/Input";
import * as Yup from "yup";
@@ -1,7 +1,7 @@
import {useAuth} from "Frontend/util/auth";
import {useEffect, useState} from "react";
import {Button, Card, CardBody, CardHeader, Link, useDisclosure} from "@heroui/react";
import {useNavigate} from "react-router-dom";
import {useNavigate} from "react-router";
import {Form, Formik} from "formik";
import Input from "Frontend/components/general/input/Input";
import PasswordResetModal from "Frontend/components/general/modals/PasswordResetModal";
@@ -4,7 +4,7 @@ import ProfileMenu from "Frontend/components/ProfileMenu";
import {Divider, Link, Navbar, NavbarBrand, NavbarContent, NavbarItem} from "@heroui/react";
import GameyfinLogo from "Frontend/components/theming/GameyfinLogo";
import * as PackageJson from "../../../../package.json";
import {Outlet, useNavigate} from "react-router-dom";
import {Outlet, useNavigate} from "react-router";
import {useAuth} from "Frontend/util/auth";
import {Heart} from "@phosphor-icons/react";
import Confetti, {ConfettiProps} from "react-confetti-boom";
@@ -1,5 +1,5 @@
import {addToast, Button, Card, CardBody, CardHeader} from "@heroui/react";
import {useNavigate, useSearchParams} from "react-router-dom";
import {useNavigate, useSearchParams} from "react-router";
import {Form, Formik} from "formik";
import Input from "Frontend/components/general/input/Input";
import * as Yup from "yup";
@@ -7,7 +7,7 @@ import {HandWaving, Palette, User} from "@phosphor-icons/react";
import {addToast, Card} from "@heroui/react";
import {SetupEndpoint} from "Frontend/generated/endpoints";
import {ThemeSelector} from "Frontend/components/theming/ThemeSelector";
import {useNavigate} from "react-router-dom";
import {useNavigate} from "react-router";
function WelcomeStep() {
return (
@@ -1,4 +1,4 @@
import {Link} from "react-router-dom";
import {Link} from "react-router";
import {addToast, Button, Input} from "@heroui/react";
import {LibraryEndpoint, SystemEndpoint} from "Frontend/generated/endpoints";
import {useState} from "react";
+1 -1
View File
@@ -10,7 +10,7 @@
"jsx": "react-jsx",
"inlineSources": true,
"module": "esNext",
"target": "es2020",
"target": "es2022",
"moduleResolution": "bundler",
"strict": true,
"skipLibCheck": true,
+13 -2
View File
@@ -142,6 +142,7 @@ function buildSWPlugin(opts: { devMode: boolean }): PluginOption {
sourcemap: viteConfig.command === 'serve' || viteConfig.build.sourcemap,
emptyOutDir: false,
modulePreload: false,
target: ['safari15', 'es2022'],
rollupOptions: {
input: {
sw: settings.clientServiceWorkerSource
@@ -273,7 +274,7 @@ function statsExtracterPlugin(): PluginOption {
const frontendFiles: Record<string, string> = {};
frontendFiles['index.html'] = createHash('sha256').update(customIndexData.replace(/\r\n/g, '\n'), 'utf8').digest('hex');
const projectFileExtensions = ['.js', '.js.map', '.ts', '.ts.map', '.tsx', '.tsx.map', '.css', '.css.map', '.'];
const projectFileExtensions = ['.js', '.js.map', '.ts', '.ts.map', '.tsx', '.tsx.map', '.css', '.css.map'];
const isThemeComponentsResource = (id: string) =>
id.startsWith(themeOptions.frontendGeneratedFolder.replace(/\\/g, '/'))
@@ -697,6 +698,7 @@ export const vaadinConfig: UserConfigFn = (env) => {
outDir: buildOutputFolder,
emptyOutDir: devBundle,
assetsDir: 'VAADIN/build',
target: ['safari15', 'es2022'],
rollupOptions: {
input: {
indexhtml: projectIndexHtml,
@@ -755,7 +757,16 @@ export const vaadinConfig: UserConfigFn = (env) => {
babel: {
// We need to use babel to provide the source information for it to be correct
// (otherwise Babel will slightly rewrite the source file and esbuild generate source info for the modified file)
presets: [['@babel/preset-react', { runtime: 'automatic', development: !productionMode }]],
presets: [
[
'@babel/preset-react',
{
runtime: 'automatic',
importSource: productionMode ? 'react' : 'Frontend/generated/jsx-dev-transform',
development: !productionMode
}
]
],
// React writes the source location for where components are used, this writes for where they are defined
plugins: [
!productionMode && addFunctionComponentSourceLocationBabel(),
+5 -5
View File
@@ -1,13 +1,13 @@
# Plugin versions
kotlinVersion=2.1.10
kspVersion=2.1.10-1.0.31
vaadinVersion=24.6.6
springBootVersion=3.4.3
kotlinVersion=2.1.20
kspVersion=2.1.20-1.0.32
vaadinVersion=24.7.1
springBootVersion=3.4.4
springCloudVersion=2024.0.0
springDependencyManagementVersion=1.1.7
# Dependency versions
pf4jVersion=3.13.0
pf4jKspVersion=2.1.10-1.0.2
pf4jKspVersion=2.1.20-1.0.2
# Annotation processor settings
kapt.use.k2=true
ksp.useKSP2=true
@@ -12,7 +12,7 @@ import java.net.URI
class Mapper {
companion object {
private val log = LoggerFactory.getLogger(javaClass)
private val log = LoggerFactory.getLogger(Mapper::class.java)
fun genre(genre: proto.Genre): Genre {
return when (genre.slug) {