123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- {
- "private": true,
- "scripts": {
- "generate-graphql-api": "bundle exec rails generate zammad:graphql_introspection > app/graphql/graphql_introspection.json && pnpm exec graphql-codegen -c .graphql_code_generator.js",
- "generate-setting-types": "bundle exec rails generate zammad:setting_types",
- "dev": "RAILS_ENV=development forego start -f Procfile.dev",
- "dev:https": "VITE_RUBY_HOST=0.0.0.0 VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
- "i18n": "rails generate zammad:translation_catalog",
- "lint": "pnpm lint:ts && pnpm lint:js && pnpm lint:css",
- "lint:fix": "pnpm lint:ts && pnpm lint:js:fix && pnpm lint:css:fix",
- "lint:ts": "vue-tsc --noEmit",
- "lint:js": "pnpm lint:js:cmd app/frontend/ .eslint-plugin-zammad/",
- "lint:js:cmd": "eslint --cache --cache-location ./tmp/eslintcache.js --cache-strategy content -c .eslintrc.js --ext .js,.ts,.vue",
- "lint:js:fix": "pnpm lint:js --fix",
- "lint:css": "pnpm lint:css:cmd **/*.{css,vue,scss}",
- "lint:css:cmd": "stylelint",
- "lint:css:fix": "pnpm lint:css --fix",
- "test": "VTL_SKIP_AUTO_CLEANUP=true TZ=utc vitest",
- "test:ct": "cd .dev/cypress; CY_OPEN=true pnpm cypress open --component --project ../../ --config-file .dev/cypress/cypress.config.mjs",
- "test:ci:ct": "cd .dev/cypress; CI=true pnpm cypress run --component --project ../../ --config-file .dev/cypress/cypress.config.mjs --browser electron",
- "cypress:snapshots": "sh .dev/cypress/visual-regression/snapshots.sh",
- "cypress:install": "pnpm --dir ./.dev/cypress install",
- "analyse:vite-bundle": "pnpm exec vite-bundle-visualizer",
- "generate:component": "cd .dev/hygen; pnpm exec hygen component new"
- },
- "engines": {
- "node": ">=18.12.0",
- "pnpm": ">=9"
- },
- "packageManager": "pnpm@9.12.2",
- "devDependencies": {
- "@faker-js/faker": "^9.1.0",
- "@graphql-codegen/cli": "^5.0.3",
- "@graphql-codegen/introspection": "^4.0.3",
- "@graphql-codegen/near-operation-file-preset": "^3.0.0",
- "@graphql-codegen/typescript": "^4.1.0",
- "@graphql-codegen/typescript-operations": "^4.3.0",
- "@graphql-codegen/typescript-vue-apollo": "^4.1.1",
- "@pinia/testing": "^0.1.6",
- "@tailwindcss/container-queries": "^0.1.1",
- "@testing-library/jest-dom": "^6.6.2",
- "@testing-library/user-event": "^14.5.2",
- "@testing-library/vue": "^8.1.0",
- "@types/lodash-es": "^4.17.12",
- "@types/qrcode": "^1.5.5",
- "@types/rails__actioncable": "^6.1.11",
- "@types/sinonjs__fake-timers": "^8.1.5",
- "@types/ua-parser-js": "^0.7.39",
- "@types/uuid": "^10.0.0",
- "@typescript-eslint/eslint-plugin": "^8.11.0",
- "@typescript-eslint/parser": "^8.11.0",
- "@vitejs/plugin-vue": "^5.1.4",
- "@vue/compiler-dom": "^3.5.12",
- "@vue/eslint-config-prettier": "^9.0.0",
- "@vue/eslint-config-typescript": "^13.0.0",
- "@vue/server-renderer": "^3.5.12",
- "@vue/test-utils": "^2.4.6",
- "autoprefixer": "^10.4.20",
- "eslint": "^8.57.1",
- "eslint-config-airbnb-base": "^15.0.0",
- "eslint-config-prettier": "^9.1.0",
- "eslint-import-resolver-alias": "^1.1.2",
- "eslint-import-resolver-typescript": "^3.6.3",
- "eslint-plugin-import": "^2.31.0",
- "eslint-plugin-prettier": "^5.2.1",
- "eslint-plugin-prettier-vue": "^5.0.0",
- "eslint-plugin-security": "^2.1.1",
- "eslint-plugin-sonarjs": "^0.25.1",
- "eslint-plugin-vue": "^9.29.1",
- "eslint-plugin-vuejs-accessibility": "^2.4.1",
- "eslint-plugin-zammad": "file:.eslint-plugin-zammad",
- "jsdom": "^25.0.1",
- "minimatch": "^10.0.1",
- "mock-apollo-client": "^1.3.1",
- "postcss": "^8.4.47",
- "postcss-html": "^1.7.0",
- "prettier": "3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.8",
- "regenerator-runtime": "^0.14.1",
- "sass": "^1.80.4",
- "stylelint": "^16.10.0",
- "stylelint-config-prettier": "^9.0.5",
- "stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-standard": "^36.0.1",
- "stylelint-config-standard-scss": "^13.1.0",
- "stylelint-prettier": "^5.0.2",
- "stylelint-scss": "^6.8.1",
- "svg-baker": "^1.7.0",
- "svgo": "^3.3.2",
- "tailwindcss": "^3.4.14",
- "tailwindcss-unimportant": "^2.1.1",
- "timezone-mock": "^1.3.6",
- "type-fest": "^4.26.1",
- "typescript": "^5.6.3",
- "vite": "^5.4.10",
- "vite-plugin-pwa": "^0.20.5",
- "vite-plugin-ruby": "^5.1.0",
- "vitest": "^2.1.3",
- "vitest-axe": "^0.1.0",
- "vue-tsc": "^2.1.8"
- },
- "dependencies": {
- "@apollo/client": "^3.11.8",
- "@formkit/core": "^1.6.7",
- "@formkit/dev": "^1.6.7",
- "@formkit/drag-and-drop": "^0.1.6",
- "@formkit/i18n": "^1.6.7",
- "@formkit/inputs": "^1.6.7",
- "@formkit/rules": "^1.6.7",
- "@formkit/tailwindcss": "^1.6.7",
- "@formkit/themes": "^1.6.7",
- "@formkit/utils": "^1.6.7",
- "@formkit/validation": "^1.6.7",
- "@formkit/vue": "^1.6.7",
- "@github/webauthn-json": "^2.1.1",
- "@rails/actioncable": "^7.2.102",
- "@sinonjs/fake-timers": "^13.0.4",
- "@tiptap/core": "^2.9.1",
- "@tiptap/extension-blockquote": "^2.9.1",
- "@tiptap/extension-bold": "^2.9.1",
- "@tiptap/extension-bullet-list": "^2.9.1",
- "@tiptap/extension-character-count": "^2.9.1",
- "@tiptap/extension-code": "^2.9.1",
- "@tiptap/extension-code-block": "^2.9.1",
- "@tiptap/extension-code-block-lowlight": "^2.9.1",
- "@tiptap/extension-color": "^2.9.1",
- "@tiptap/extension-document": "^2.9.1",
- "@tiptap/extension-hard-break": "^2.9.1",
- "@tiptap/extension-heading": "^2.9.1",
- "@tiptap/extension-image": "^2.9.1",
- "@tiptap/extension-italic": "^2.9.1",
- "@tiptap/extension-link": "^2.9.1",
- "@tiptap/extension-list-item": "^2.9.1",
- "@tiptap/extension-mention": "^2.9.1",
- "@tiptap/extension-ordered-list": "^2.9.1",
- "@tiptap/extension-paragraph": "^2.9.1",
- "@tiptap/extension-strike": "^2.9.1",
- "@tiptap/extension-table": "^2.9.1",
- "@tiptap/extension-table-cell": "^2.9.1",
- "@tiptap/extension-table-header": "^2.9.1",
- "@tiptap/extension-table-row": "^2.9.1",
- "@tiptap/extension-text": "^2.9.1",
- "@tiptap/extension-text-style": "^2.9.1",
- "@tiptap/extension-underline": "^2.9.1",
- "@tiptap/pm": "^2.9.1",
- "@tiptap/starter-kit": "^2.9.1",
- "@tiptap/suggestion": "^2.9.1",
- "@tiptap/vue-3": "^2.9.1",
- "@vue/apollo-composable": "^4.2.1",
- "@vue/runtime-core": "^3.5.12",
- "@vuepic/vue-datepicker": "^9.0.3",
- "@vueuse/core": "^11.1.0",
- "@vueuse/router": "^11.1.0",
- "@vueuse/shared": "^11.1.0",
- "async-mutex": "^0.5.0",
- "graphql": "^16.9.0",
- "graphql-ruby-client": "^1.14.1",
- "graphql-tag": "^2.12.6",
- "linkify-string": "^4.1.3",
- "linkifyjs": "^4.1.3",
- "lodash-es": "^4.17.21",
- "loglevel": "^1.9.2",
- "lowlight": "^3.1.0",
- "mitt": "^3.0.1",
- "pinia": "^2.2.4",
- "qrcode": "^1.5.4",
- "tippy.js": "^6.3.7",
- "tiptap-text-direction": "^0.3.1",
- "ts-essentials": "^10.0.2",
- "tslib": "^2.8.0",
- "ua-parser-js": "^1.0.39",
- "uuid": "^11.0.1",
- "vite-bundle-visualizer": "^1.2.1",
- "vue": "^3.5.12",
- "vue-advanced-cropper": "^2.8.9",
- "vue-easy-lightbox": "1.19.0",
- "vue-router": "^4.4.5",
- "vue3-draggable-resizable": "^1.6.5",
- "workbox-core": "^7.1.0",
- "workbox-precaching": "^7.1.0",
- "workbox-window": "^7.1.0"
- },
- "resolutions": {
- "loader-utils": "^3.3.1",
- "postcss": "^8.4.47",
- "stylelint-config-recommended": "^14.0.1"
- }
- }
|