All checks were successful
CI / container-job (push) Successful in 41s
- adonisrc.ts: Load official drive_provider and unload custom driver_provider. - packages.json: Add @headlessui/vue dependency for tab components. - AvatarController.ts: Rewrite avatar generation logic to always return the same avatar per user. - auth/UserController.ts: Add profile and profileUpdate methods to support user profile editing. - Submitter/datasetController.ts & app/models/file.ts: Adapt code to use the official drive_provider. - app/models/user.ts: Introduce “isAdmin” getter. - config/drive.ts: Create new configuration for the official drive_provider. - providers/vinejs_provider.ts: Adapt allowedExtensions control to use provided options or database enabled extensions. - resource/js/app.ts: Load default Head and Link components. - resources/js/menu.ts: Add settings-profile.edit menu point. - resources/js/Components/action-message.vue: Add new component for improved user feedback after form submissions. - New avatar-input.vue component: Enable profile picture selection. - Components/CardBox.vue: Alter layout to optionally show HeaderIcon in title bar. - FormControl.vue: Define a readonly prop for textareas. - Improve overall UI with updates to NavBar.vue, UserAvatar.vue, UserAvatarCurrentUser.vue, and add v-model support to password-meter.vue. - Remove profile editing logic from AccountInfo.vue and introduce new profile components (show.vue, update-password-form.vue, update-profile-information.vue). - app.edge: Modify page (add @inertiaHead tag) for better meta management. - routes.ts: Add new routes for editing user profiles. - General npm updates.
149 lines
4.7 KiB
JSON
149 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.3",
|
|
"@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",
|
|
"hot-hook": "^0.4.0",
|
|
"numeral": "^2.0.6",
|
|
"pinia": "^2.0.30",
|
|
"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.7",
|
|
"vite": "^6.0.11",
|
|
"vue": "^3.4.26",
|
|
"vue-facing-decorator": "^3.0.0",
|
|
"vue-loader": "^17.0.1",
|
|
"webpack-dev-server": "^5.1.0",
|
|
"xslt3": "^2.5.0"
|
|
},
|
|
"dependencies": {
|
|
"@adonisjs/auth": "^9.2.4",
|
|
"@adonisjs/core": "^6.17.0",
|
|
"@adonisjs/cors": "^2.2.1",
|
|
"@adonisjs/drive": "^3.2.0",
|
|
"@adonisjs/inertia": "^2.1.3",
|
|
"@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.0.3",
|
|
"@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",
|
|
"qrcode": "^1.5.3",
|
|
"redis": "^4.6.10",
|
|
"reflect-metadata": "^0.2.1",
|
|
"saxon-js": "^2.5.0",
|
|
"toastify-js": "^1.12.0",
|
|
"vuedraggable": "^4.1.0",
|
|
"xmlbuilder2": "^3.1.1"
|
|
},
|
|
"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"
|
|
}
|
|
}
|