2014-01-13 16:23:38 +01:00
|
|
|
{
|
2014-11-28 21:23:58 +01:00
|
|
|
"name": "openproject-frontend",
|
2018-10-30 14:10:59 +01:00
|
|
|
"repository": "https://github.com/opf/openproject",
|
|
|
|
|
"license": "GPLv3",
|
2014-01-13 16:23:38 +01:00
|
|
|
"version": "0.1.0",
|
2018-12-04 10:03:17 +01:00
|
|
|
"private": true,
|
2014-01-13 16:23:38 +01:00
|
|
|
"devDependencies": {
|
2026-06-10 12:20:34 +01:00
|
|
|
"@angular-builders/custom-esbuild": "^22.0.0",
|
2026-06-07 14:56:33 +01:00
|
|
|
"@angular/language-service": "22.0.0",
|
2026-06-01 20:23:27 +02:00
|
|
|
"@eslint/js": "^10.0.1",
|
2026-06-08 05:45:35 +00:00
|
|
|
"@html-eslint/eslint-plugin": "^0.61.0",
|
|
|
|
|
"@html-eslint/parser": "^0.61.0",
|
2026-05-28 11:59:32 +02:00
|
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
2026-05-13 21:21:02 +02:00
|
|
|
"@testing-library/dom": "^10.4.1",
|
2026-05-23 00:29:30 +02:00
|
|
|
"@testing-library/jest-dom": "^6.9.1",
|
2026-05-13 21:21:02 +02:00
|
|
|
"@testing-library/react": "^16.3.2",
|
2026-05-28 17:07:37 +02:00
|
|
|
"@types/codemirror": "5.60.17",
|
2026-03-20 10:27:21 +00:00
|
|
|
"@types/dom-navigation": "^1.0.7",
|
2025-06-23 12:26:19 +01:00
|
|
|
"@types/dragula": "^3.7.5",
|
2025-08-13 17:07:39 +01:00
|
|
|
"@types/flot": "^0.0.36",
|
2021-07-15 19:04:33 +00:00
|
|
|
"@types/hammerjs": "^2.0.36",
|
2026-05-25 13:35:18 +02:00
|
|
|
"@types/hotwired__turbo": "^8.0.10",
|
2026-06-11 05:35:20 +00:00
|
|
|
"@types/jquery": "^4.0.1",
|
2026-05-25 15:13:11 +00:00
|
|
|
"@types/jquery-migrate": "^3.3.3",
|
2026-05-27 14:02:02 +02:00
|
|
|
"@types/lodash": "^4.17.24",
|
2021-07-15 19:04:33 +00:00
|
|
|
"@types/mousetrap": "^1.6.3",
|
2026-06-12 05:35:15 +00:00
|
|
|
"@types/node": "^25.9.1",
|
2025-09-09 05:05:23 +00:00
|
|
|
"@types/pako": "^2.0.4",
|
2025-08-13 17:47:38 +01:00
|
|
|
"@types/rails__request.js": "^0.0.1",
|
2026-06-11 05:34:41 +00:00
|
|
|
"@types/react": "^19.2.17",
|
2025-11-18 05:05:20 +00:00
|
|
|
"@types/react-dom": "^19.2.3",
|
2021-07-15 19:04:33 +00:00
|
|
|
"@types/resize-observer-browser": "^0.1.4",
|
2025-10-24 08:40:04 +01:00
|
|
|
"@types/urijs": "^1.19.26",
|
2021-07-15 19:04:33 +00:00
|
|
|
"@types/webpack-env": "^1.16.0",
|
2026-06-10 14:53:09 +01:00
|
|
|
"@typescript-eslint/eslint-plugin": "8.60.1",
|
|
|
|
|
"@typescript-eslint/parser": "8.60.1",
|
2026-05-28 12:32:15 +02:00
|
|
|
"@vitest/browser-playwright": "^4.1.7",
|
|
|
|
|
"@vitest/coverage-v8": "^4.1.7",
|
2026-05-29 10:50:34 +02:00
|
|
|
"@vitest/eslint-plugin": "^1.6.18",
|
2026-06-07 22:31:15 +01:00
|
|
|
"angular-eslint": "^22.0.0",
|
2025-12-29 05:04:41 +00:00
|
|
|
"browserslist": "^4.28.1",
|
2026-06-01 20:23:27 +02:00
|
|
|
"eslint": "^10.3.0",
|
2025-07-23 21:13:02 +01:00
|
|
|
"eslint-plugin-import": "^2.32.0",
|
|
|
|
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
|
|
|
"eslint-plugin-react": "^7.37.5",
|
2026-06-01 20:23:27 +02:00
|
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
|
|
|
"globals": "^17.6.0",
|
2026-05-02 16:03:13 +02:00
|
|
|
"jsdom": "^29.1.1",
|
2026-06-07 18:23:22 +01:00
|
|
|
"patch-package": "^8.0.1",
|
2026-05-04 20:44:31 +01:00
|
|
|
"playwright": "^1.59.1",
|
2021-07-15 19:04:33 +00:00
|
|
|
"source-map-explorer": "^2.5.2",
|
2025-09-09 05:05:05 +00:00
|
|
|
"ts-node": "~10.9.2",
|
2026-06-07 14:56:33 +01:00
|
|
|
"typescript": "^6.0.3",
|
2026-05-28 13:18:30 +02:00
|
|
|
"typescript-eslint": "^8.59.4",
|
2026-05-28 12:32:15 +02:00
|
|
|
"vitest": "^4.1.7",
|
2025-07-28 09:57:56 +02:00
|
|
|
"wscat": "^6.1.0"
|
2014-04-08 18:58:36 +02:00
|
|
|
},
|
2014-07-31 12:54:51 +00:00
|
|
|
"dependencies": {
|
2026-06-07 14:56:33 +01:00
|
|
|
"@angular/animations": "^22.0.0",
|
2026-06-07 20:58:19 +01:00
|
|
|
"@angular/cdk": "^22.0.0",
|
2026-06-07 14:56:33 +01:00
|
|
|
"@angular/cli": "^22.0.0",
|
|
|
|
|
"@angular/common": "^22.0.0",
|
|
|
|
|
"@angular/compiler": "^22.0.0",
|
|
|
|
|
"@angular/compiler-cli": "^22.0.0",
|
|
|
|
|
"@angular/core": "^22.0.0",
|
|
|
|
|
"@angular/elements": "^22.0.0",
|
|
|
|
|
"@angular/forms": "^22.0.0",
|
|
|
|
|
"@angular/platform-browser": "^22.0.0",
|
|
|
|
|
"@angular/platform-browser-dynamic": "^22.0.0",
|
|
|
|
|
"@angular/router": "^22.0.0",
|
2025-10-01 09:28:13 +02:00
|
|
|
"@appsignal/javascript": "^1.6.1",
|
|
|
|
|
"@appsignal/plugin-breadcrumbs-console": "^1.1.37",
|
|
|
|
|
"@appsignal/plugin-breadcrumbs-network": "^1.1.24",
|
2026-06-08 05:44:24 +00:00
|
|
|
"@blocknote/core": "^0.51.4",
|
|
|
|
|
"@blocknote/mantine": "^0.51.4",
|
2026-06-01 17:21:10 +02:00
|
|
|
"@blocknote/react": "^0.51.3",
|
2026-06-01 21:15:59 +02:00
|
|
|
"@braintree/sanitize-url": "^7.1.2",
|
2023-04-18 07:47:37 +00:00
|
|
|
"@datorama/akita": "^8.0.1",
|
2023-02-14 11:30:36 +01:00
|
|
|
"@floating-ui/dom": "^1.2.1",
|
2025-12-25 17:57:28 -03:00
|
|
|
"@fullcalendar/angular": "^6.1.20",
|
2023-05-31 13:36:12 +02:00
|
|
|
"@fullcalendar/common": "^5.11.5",
|
2025-12-25 17:57:28 -03:00
|
|
|
"@fullcalendar/core": "^6.1.20",
|
|
|
|
|
"@fullcalendar/daygrid": "^6.1.20",
|
|
|
|
|
"@fullcalendar/interaction": "^6.1.20",
|
|
|
|
|
"@fullcalendar/list": "^6.1.20",
|
|
|
|
|
"@fullcalendar/moment": "^6.1.20",
|
|
|
|
|
"@fullcalendar/moment-timezone": "^6.1.20",
|
2026-05-02 16:03:13 +02:00
|
|
|
"@fullcalendar/multimonth": "^6.1.20",
|
2025-12-25 17:57:28 -03:00
|
|
|
"@fullcalendar/resource": "^6.1.20",
|
2023-05-31 13:36:12 +02:00
|
|
|
"@fullcalendar/resource-common": "^5.11.5",
|
2025-12-25 17:57:28 -03:00
|
|
|
"@fullcalendar/resource-timeline": "^6.1.20",
|
|
|
|
|
"@fullcalendar/timegrid": "^6.1.20",
|
2023-06-28 09:44:19 +02:00
|
|
|
"@github/webauthn-json": "^2.1.1",
|
2026-01-28 05:36:40 +00:00
|
|
|
"@hocuspocus/provider": "^3.4.4",
|
2024-04-15 21:12:46 +02:00
|
|
|
"@hotwired/stimulus": "^3.2.2",
|
2026-05-25 13:35:18 +02:00
|
|
|
"@hotwired/turbo": "^8.0.23",
|
2026-05-25 13:35:18 +02:00
|
|
|
"@hotwired/turbo-rails": "^8.0.23",
|
2026-06-11 05:35:56 +00:00
|
|
|
"@knowledgecode/delegate": "^0.10.4",
|
2023-06-12 11:19:07 +02:00
|
|
|
"@kolkov/ngx-gallery": "^2.0.1",
|
2026-05-25 23:48:44 +02:00
|
|
|
"@mantine/core": "^9.0.1",
|
2026-06-03 11:31:05 +03:00
|
|
|
"@mantine/hooks": "^9.3.0",
|
2025-10-15 14:22:38 +02:00
|
|
|
"@mantine/utils": "^6.0.22",
|
2026-06-07 21:21:19 +01:00
|
|
|
"@ng-select/ng-option-highlight": "^23.0.0",
|
|
|
|
|
"@ng-select/ng-select": "^23.0.0",
|
2023-06-12 12:06:35 +02:00
|
|
|
"@ngneat/content-loader": "^7.0.0",
|
2026-05-14 17:29:18 +02:00
|
|
|
"@openproject/octicons-angular": "^19.35.0",
|
2026-06-01 08:04:21 +02:00
|
|
|
"@openproject/primer-view-components": "^0.86.2",
|
2023-04-18 11:58:53 +02:00
|
|
|
"@openproject/reactivestates": "^3.0.1",
|
2026-01-13 07:16:09 +00:00
|
|
|
"@primer/css": "^22.1.0",
|
2025-05-21 13:08:21 +02:00
|
|
|
"@primer/live-region-element": "^0.8.0",
|
2026-03-23 15:37:10 +01:00
|
|
|
"@primer/primitives": "^11.5.1",
|
2026-06-01 08:04:21 +02:00
|
|
|
"@primer/view-components": "npm:@openproject/primer-view-components@^0.86.2",
|
2025-12-15 05:04:48 +00:00
|
|
|
"@rails/request.js": "^0.0.13",
|
2025-04-20 22:33:35 +01:00
|
|
|
"@stimulus-components/auto-submit": "^6.0.0",
|
2025-11-02 22:28:35 +00:00
|
|
|
"@stimulus-components/reveal": "^5.0.0",
|
2026-06-05 16:15:14 +02:00
|
|
|
"@tiptap/extensions": "^3.23.6",
|
2026-05-28 10:21:47 +00:00
|
|
|
"@uirouter/angular": "^21.0.0",
|
2026-05-04 10:16:18 +00:00
|
|
|
"@uirouter/core": "^6.1.2",
|
2023-01-03 16:35:39 +01:00
|
|
|
"@uirouter/rx": "^1.0.0",
|
2020-03-12 10:08:33 +01:00
|
|
|
"@w11k/ngx-componentdestroyed": "^5.0.2",
|
2025-10-06 05:09:43 +00:00
|
|
|
"@xeokit/xeokit-bim-viewer": "2.7.1",
|
2026-06-03 22:31:47 +00:00
|
|
|
"autoprefixer": "^10.5.0",
|
2021-06-01 08:46:32 +02:00
|
|
|
"byte-base64": "^1.1.0",
|
2025-10-21 05:05:48 +00:00
|
|
|
"chart.js": "4.5.1",
|
2026-01-14 19:28:05 -03:00
|
|
|
"chartjs-adapter-luxon": "^1.3.1",
|
2023-06-12 12:06:35 +02:00
|
|
|
"chartjs-plugin-datalabels": "^2.2.0",
|
2026-05-28 17:07:37 +02:00
|
|
|
"codemirror": "^5.65.21",
|
2025-10-01 14:39:09 +00:00
|
|
|
"copy-text-to-clipboard": "^3.2.2",
|
2026-05-06 05:36:06 +00:00
|
|
|
"core-js": "^3.49.0",
|
2017-01-29 21:40:14 +01:00
|
|
|
"crossvent": "^1.5.4",
|
2017-03-27 14:12:30 +02:00
|
|
|
"dom-autoscroller": "^2.2.8",
|
2019-04-12 11:25:15 +02:00
|
|
|
"dom-plane": "^1.0.2",
|
2024-04-15 21:14:18 +02:00
|
|
|
"dragula": "^3.7.3",
|
2025-06-30 18:15:56 +01:00
|
|
|
"es6-slide-up-down": "^1.0.0",
|
2022-05-11 14:51:06 +02:00
|
|
|
"flatpickr": "^4.6.13",
|
2026-06-05 09:20:44 +02:00
|
|
|
"glob": "^13.0.6",
|
2019-04-17 13:51:10 +02:00
|
|
|
"hammerjs": "^2.0.8",
|
2023-07-18 21:39:33 +02:00
|
|
|
"i18n-js": "^4.3.0",
|
2025-10-03 05:08:47 +00:00
|
|
|
"idiomorph": "^0.7.4",
|
2026-05-25 15:13:10 +00:00
|
|
|
"jquery": "^4.0.0",
|
2026-05-25 15:13:11 +00:00
|
|
|
"jquery-migrate": "^4.0.2",
|
2022-12-30 14:54:06 +00:00
|
|
|
"json5": "^2.2.2",
|
2026-06-07 23:43:26 +01:00
|
|
|
"lit-html": "^3.3.3",
|
2026-04-06 19:10:17 +00:00
|
|
|
"lodash": "^4.18.1",
|
2026-01-14 19:28:05 -03:00
|
|
|
"luxon": "^3.7.2",
|
2023-04-20 14:20:48 +00:00
|
|
|
"mdx-embed": "^1.1.2",
|
2025-09-16 05:04:14 +00:00
|
|
|
"mime": "^4.1.0",
|
2024-04-15 21:13:52 +02:00
|
|
|
"moment": "^2.30.1",
|
2026-06-01 20:22:42 +02:00
|
|
|
"moment-timezone": "^0.6.2",
|
2019-08-20 09:28:12 +02:00
|
|
|
"mousetrap": "~1.6.3",
|
2023-06-12 11:19:07 +02:00
|
|
|
"ng-dynamic-component": "^10.7.0",
|
2026-04-30 05:35:48 +00:00
|
|
|
"ng2-charts": "^10.0.0",
|
2025-09-15 11:38:51 +01:00
|
|
|
"ng2-dragula": "^6.0.0",
|
2026-06-07 22:34:24 +01:00
|
|
|
"ngx-cookie-service": "^21.3.1",
|
2016-06-09 17:43:40 +02:00
|
|
|
"observable-array": "0.0.4",
|
2026-06-09 14:47:59 +02:00
|
|
|
"op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.2/op-blocknote-extensions-0.1.2.tgz",
|
2026-06-03 22:32:04 +00:00
|
|
|
"openapi-explorer": "^2.4.799",
|
2021-06-01 08:46:32 +02:00
|
|
|
"pako": "^2.0.3",
|
2022-05-30 22:12:33 +02:00
|
|
|
"qr-creator": "^1.0.0",
|
2026-05-27 13:41:08 +02:00
|
|
|
"react": "^19.2.6",
|
|
|
|
|
"react-dom": "^19.2.6",
|
2025-09-05 10:06:54 +01:00
|
|
|
"reflect-metadata": "^0.2.2",
|
2023-04-18 11:35:07 +02:00
|
|
|
"rxjs": "^7.8.0",
|
2025-09-12 20:51:03 +02:00
|
|
|
"screenfull": "^6.0.2",
|
2024-04-15 21:14:47 +02:00
|
|
|
"stimulus-use": "^0.52.2",
|
2020-07-09 11:02:43 +02:00
|
|
|
"tablesorter": "^2.31.3",
|
2025-07-04 15:31:06 +01:00
|
|
|
"tiny-invariant": "^1.3.3",
|
2021-09-01 08:03:56 +02:00
|
|
|
"ts-action": "^11.0.0",
|
2021-09-02 12:42:58 +02:00
|
|
|
"ts-action-operators": "^9.1.2",
|
2025-09-10 07:11:47 +00:00
|
|
|
"turbo_power": "^0.7.1",
|
2020-03-05 15:19:43 +01:00
|
|
|
"typedjson": "^1.5.1",
|
2022-04-13 00:17:10 +00:00
|
|
|
"urijs": "^1.19.11",
|
2026-04-23 11:18:29 +02:00
|
|
|
"uuid": "^14.0.0"
|
2014-07-31 12:54:51 +00:00
|
|
|
},
|
2022-11-03 15:47:33 +02:00
|
|
|
"optionalDependencies": {
|
|
|
|
|
"fsevents": "*"
|
|
|
|
|
},
|
2025-10-10 15:03:28 +02:00
|
|
|
"browser": {
|
|
|
|
|
"fs": false,
|
|
|
|
|
"path": false,
|
|
|
|
|
"os": false
|
|
|
|
|
},
|
2014-04-08 18:58:36 +02:00
|
|
|
"scripts": {
|
2025-12-09 10:23:05 -03:00
|
|
|
"analyze": "ng build --configuration production --stats-json && npx esbuild-visualizer --metadata ../public/assets/frontend/stats.json",
|
2022-05-19 21:17:10 +02:00
|
|
|
"build": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production --named-chunks --source-map",
|
|
|
|
|
"build:watch": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --watch --named-chunks",
|
2025-01-22 20:36:22 -03:00
|
|
|
"ci:plugins:register_frontend": "node ci-plugins-generator.js",
|
2025-12-16 20:04:20 +01:00
|
|
|
"serve": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng serve --host ${FE_HOST:-localhost} --port ${FE_PORT:-4200} --serve-path ${RAILS_RELATIVE_URL_ROOT}/assets/frontend",
|
2018-10-25 11:42:23 +02:00
|
|
|
"test": "ng test --watch=false",
|
2021-07-19 12:32:05 +00:00
|
|
|
"test:watch": "ng test --watch=true",
|
2025-08-12 16:56:47 +01:00
|
|
|
"lint": "ng lint",
|
|
|
|
|
"lint:fix": "ng lint --fix",
|
2026-06-07 18:23:22 +01:00
|
|
|
"generate-typings": "tsc -d -p tsconfig.app.json",
|
|
|
|
|
"postinstall": "patch-package"
|
2020-11-12 15:05:03 +01:00
|
|
|
}
|
2025-06-23 19:19:34 +01:00
|
|
|
}
|