All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 40s
commit 579f0878e5240dc17db69be1e0b0c0f5af7ef9fe
Author: Arno Kaimbacher <arno.kaimbacher@geosphere.at>
Date: Tue Jun 9 09:25:44 2026 +0200
feat: Refactor error handling in Dataset Edit form and improve validation messages
- Updated error handling in the Dataset Edit form to use a centralized formatError function for displaying validation messages.
- Enhanced user feedback by ensuring that error messages are displayed consistently across various fields.
- Modified the validation rule for arrayContainsTypes to provide clearer error messages for missing main and translated titles/abstracts.
- Introduced a new ValidationService to manage manual construction of validation errors.
- Updated Vite configuration to streamline asset loading and improve performance.
- Adjusted Inertia setup to utilize dynamic imports for page-specific assets.
- Cleaned up unnecessary comments and code in various files for better readability.
commit 5efddc2a58c0e164fef585cc7344c06155dbc2c1
Author: Arno Kaimbacher <arno.kaimbacher@geosphere.at>
Date: Mon Jan 12 17:02:47 2026 +0100
feat: add dataset change detection and form submission composables
- Implemented `useDatasetChangeDetection` for tracking unsaved changes in dataset forms, including comparisons for licenses, basic properties, files, coverage, and more.
- Added `useDatasetFormSubmission` for handling dataset form submissions with validation, success/error handling, and auto-save functionality.
150 lines
4.7 KiB
JSON
150 lines
4.7 KiB
JSON
{
|
|
"name": "myapp",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"type-check": "tsc --noEmit",
|
|
"dev": "node ace serve",
|
|
"devInspect": "node ace serve --watch --node-args='--inspect'",
|
|
"compress:xslt": "./node_modules/xslt3/xslt3.js -xsl:public/assets2/datasetxml2oai-pmh.xslt -export:public/assets2/datasetxml2oai.sef.json -t -nogo '-ns:##html5'",
|
|
"compress:solr": "./node_modules/xslt3/xslt3.js -xsl:public/assets2/solr.xslt -export:public/assets2/solr.sef.json -t -nogo '-ns:##html5'",
|
|
"compress:doi": "./node_modules/xslt3/xslt3.js -xsl:public/assets2/doi_datacite.xslt -export:public/assets2/doi_datacite.sef.json -t -nogo '-ns:##html5'",
|
|
"build": "node ace build --ignore-ts-errors",
|
|
"start": "node server.js",
|
|
"lint": "eslint . --ext=.ts",
|
|
"format": "prettier --write .",
|
|
"format-check": "prettier --check ./**/*.{ts,js}",
|
|
"test": "node ace test"
|
|
},
|
|
"eslintConfig": {
|
|
"ignorePatterns": [
|
|
"build"
|
|
]
|
|
},
|
|
"alias": {
|
|
"vue": "./node_modules/vue/dist/vue.esm-bundler.js"
|
|
},
|
|
"devDependencies": {
|
|
"@adonisjs/assembler": "^7.1.1",
|
|
"@adonisjs/tsconfig": "^1.4.0",
|
|
"@headlessui/vue": "^1.7.23",
|
|
"@japa/assert": "^4.0.1",
|
|
"@japa/plugin-adonisjs": "^4.0.0",
|
|
"@japa/runner": "^4.2.0",
|
|
"@mdi/js": "^7.1.96",
|
|
"@poppinss/utils": "^6.7.2",
|
|
"@swc/wasm": "^1.10.14",
|
|
"@tailwindcss/forms": "^0.5.2",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/clamscan": "^2.0.4",
|
|
"@types/escape-html": "^1.0.4",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/leaflet": "^1.9.21",
|
|
"@types/luxon": "^3.4.2",
|
|
"@types/node": "^22.10.2",
|
|
"@types/proxy-addr": "^2.0.0",
|
|
"@types/qrcode": "^1.5.5",
|
|
"@types/source-map-support": "^0.5.6",
|
|
"@types/sprintf-js": "^1.1.4",
|
|
"@types/supertest": "^6.0.2",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"autoprefixer": "^10.4.13",
|
|
"babel-preset-typescript-vue3": "^2.0.17",
|
|
"chart.js": "^4.2.0",
|
|
"dotenv-webpack": "^8.0.1",
|
|
"eslint": "^8.57.1",
|
|
"eslint-config-prettier": "^10.0.1",
|
|
"eslint-plugin-adonis": "^2.1.1",
|
|
"eslint-plugin-prettier": "^5.0.0-alpha.2",
|
|
"numeral": "^2.0.6",
|
|
"pinia": "^3.0.2",
|
|
"pino-pretty": "^13.0.0",
|
|
"postcss-loader": "^8.1.1",
|
|
"prettier": "^3.4.2",
|
|
"supertest": "^6.3.3",
|
|
"tailwindcss": "^3.4.17",
|
|
"ts-loader": "^9.4.2",
|
|
"ts-node-maintained": "^10.9.5",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.0.11",
|
|
"vue": "^3.4.26",
|
|
"vue-facing-decorator": "^4.0.1",
|
|
"vue-loader": "^17.0.1",
|
|
"webpack-dev-server": "^5.1.0",
|
|
"xslt3": "^2.5.0"
|
|
},
|
|
"dependencies": {
|
|
"@adonisjs/auth": "^9.2.4",
|
|
"@adonisjs/bodyparser": "^10.0.1",
|
|
"@adonisjs/core": "^6.21.0",
|
|
"@adonisjs/cors": "^2.2.1",
|
|
"@adonisjs/drive": "^3.2.0",
|
|
"@adonisjs/inertia": "^3.1.1",
|
|
"@adonisjs/lucid": "^21.5.1",
|
|
"@adonisjs/mail": "^9.2.2",
|
|
"@adonisjs/redis": "^9.1.0",
|
|
"@adonisjs/session": "^7.5.0",
|
|
"@adonisjs/shield": "^8.1.1",
|
|
"@adonisjs/static": "^1.1.1",
|
|
"@adonisjs/vite": "^4.0.0",
|
|
"@eidellev/adonis-stardust": "^3.0.0",
|
|
"@fontsource/archivo-black": "^5.0.1",
|
|
"@fontsource/inter": "^5.0.1",
|
|
"@inertiajs/inertia": "^0.11.1",
|
|
"@inertiajs/vue3": "^2.3.25",
|
|
"@opensearch-project/opensearch": "^3.2.0",
|
|
"@phc/format": "^1.0.0",
|
|
"@poppinss/manager": "^5.0.2",
|
|
"@vinejs/vine": "^3.0.0",
|
|
"axios": "^1.7.9",
|
|
"bcrypt": "^5.1.1",
|
|
"bcryptjs": "^2.4.3",
|
|
"clamscan": "^2.1.2",
|
|
"dayjs": "^1.11.7",
|
|
"deep-email-validator": "^0.1.21",
|
|
"edge.js": "^6.0.1",
|
|
"escape-html": "^1.0.3",
|
|
"focus-trap": "^7.5.4",
|
|
"fs-extra": "^11.2.0",
|
|
"http-status-codes": "^2.2.0",
|
|
"leaflet": "^1.9.3",
|
|
"luxon": "^3.2.1",
|
|
"mime": "^4.0.4",
|
|
"node-2fa": "^2.0.3",
|
|
"node-exceptions": "^4.0.1",
|
|
"notiwind": "^2.0.0",
|
|
"pg": "^8.9.0",
|
|
"phc-argon2": "^1.1.4",
|
|
"qrcode": "^1.5.3",
|
|
"redis": "^6.0.0",
|
|
"reflect-metadata": "^0.2.1",
|
|
"saxon-js": "^2.5.0",
|
|
"toastify-js": "^1.12.0",
|
|
"vuedraggable": "^4.1.0",
|
|
"xmlbuilder2": "^4.0.3"
|
|
},
|
|
"hotHook": {
|
|
"boundaries": [
|
|
"./app/Controllers/**/*.ts",
|
|
"./app/middleware/*.ts"
|
|
]
|
|
},
|
|
"type": "module",
|
|
"imports": {
|
|
"#controllers/*": "./app/Controllers/*.js",
|
|
"#exceptions/*": "./app/exceptions/*.js",
|
|
"#models/*": "./app/models/*.js",
|
|
"#services/*": "./app/services/*.js",
|
|
"#listeners/*": "./app/listeners/*.js",
|
|
"#events/*": "./app/events/*.js",
|
|
"#middleware/*": "./app/middleware/*.js",
|
|
"#validators/*": "./app/validators/*.js",
|
|
"#start/*": "./start/*.js",
|
|
"#config/*": "./config/*.js",
|
|
"#app/*": "./app/*.js",
|
|
"#database/*": "./database/*.js",
|
|
"#contracts/*": "./contracts/*.js",
|
|
"#providers/*": "./providers/*.js",
|
|
"#library/*": "./app/Library/*.js"
|
|
}
|
|
}
|