Ctrl K
ComunidadGuías…

package.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "multiforum",
  "version": "0.2.0",
  "private": true,
  "license": "MIT",
  "type": "module",
  "packageManager": "pnpm@10.28.2",
  "engines": {
    "node": ">=24.13.0 <27"
  },
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev --host localhost --port 3000",
    "dev:mocked": "VITE_E2E_MOCK_MODE=true nuxt dev --host localhost --port 3000",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare",
    "graphql:validate": "node scripts/validate-graphql-operations.mjs",
    "graphql:inventory": "node scripts/validate-graphql-operations.mjs --report-only --report artifacts/graphql/operations.json",
    "graphql:check": "node scripts/validate-graphql-operations.mjs --report artifacts/graphql/operations.json",
    "graphql:test": "node --test scripts/graphql-operations.test.mjs scripts/graphql-typed-operations.test.mjs scripts/typed-operation-consumers.test.mjs scripts/create-issue-contract.test.mjs",
    "schema:check": "node scripts/check-graphql-schema.mjs",
    "schema:update": "node scripts/update-graphql-schema.mjs",
    "schema:test": "node --test scripts/graphql-schema-contract.test.mjs",
    "compile": "node scripts/generate-graphql-types.mjs && pnpm operations:generate",
    "lint": "eslint --cache --cache-location node_modules/.cache/eslint/",
    "lint:a11y": "pnpm exec eslint \"components/**/*.vue\" --quiet --cache --cache-location node_modules/.cache/eslint/",
    "prepare": "husky install",
    "prettier:check": "prettier --check .",
    "start": "nuxt start",
    "test": "playwright test",
    "test:playwright": "playwright test tests/playwright/mocked",
    "test:playwright:mocked": "playwright test tests/playwright/mocked",
    "test:playwright:stateful:admin": "PLAYWRIGHT_STATEFUL=true playwright test tests/playwright/stateful/adminModeration",
    "playwright:neo4j:up": "docker compose -f docker-compose.playwright.yml up -d --wait",
    "playwright:neo4j:down": "docker compose -f docker-compose.playwright.yml down -v",
    "build:playwright:mocked": "NITRO_PRESET=node-server VITE_E2E_MOCK_MODE=true VITE_GRAPHQL_URL=http://127.0.0.1:4100/graphql VITE_SERVER_NAME='Playwright Test Server' VITE_SENTRY_AUTH_TOKEN='' nuxt build",
    "test:playwright:mocked:build": "playwright test --config playwright.build.config.ts",
    "test:unit": "NODE_OPTIONS=--no-experimental-webstorage vitest",
    "test:unit:run": "NODE_OPTIONS=--no-experimental-webstorage vitest run",
    "coverage": "NODE_OPTIONS=--no-experimental-webstorage vitest run --coverage",
    "coverage:ui": "NODE_OPTIONS=--no-experimental-webstorage vitest --coverage --ui",
    "coverage:open": "pnpm run coverage && open coverage/index.html",
    "coverage:e2e:build": "E2E_COVERAGE=true pnpm run build:playwright:mocked",
    "coverage:e2e:collect": "E2E_COVERAGE=true playwright test --config playwright.build.config.ts",
    "coverage:e2e:report": "node --max-old-space-size=6144 tests/playwright/coverage/report.mjs",
    "coverage:audit": "node scripts/coverage-audit.mjs",
    "perf:budget": "node scripts/check-route-budgets.mjs",
    "test:performance-budgets": "node --test scripts/check-route-budgets.test.mjs",
    "knip": "knip",
    "tsc": "vue-tsc --noEmit",
    "verify": "pnpm run tsc && pnpm run test:unit:run",
    "lint-verify": "pnpm run test:unit:run && pnpm run lint:a11y",
    "operations:generate": "node scripts/generate-graphql-operations.mjs",
    "operations:check": "node scripts/generate-graphql-operations.mjs --check && node scripts/typed-operation-consumers.mjs --report artifacts/graphql/typed-consumers.json",
    "schema:types:check": "node scripts/generate-graphql-types.mjs --check",
    "fix:contracts": "pnpm compile && pnpm operations:contract:generate",
    "operations:contract:generate": "node scripts/frontend-operation-contract.mjs --generate",
    "operations:contract:check": "node scripts/frontend-operation-contract.mjs --check",
    "operations:export": "node scripts/frontend-operation-contract.mjs --export",
    "compatibility:test": "node --test scripts/frontend-operation-contract.test.mjs",
    "compatibility:check": "node scripts/check-backend-compatibility.mjs"
  },
  "dependencies": {
    "@apollo/client": "^3.13.5",
    "@auth0/auth0-nuxt": "^1.1.0",
    "@codemirror/lang-yaml": "^6.1.3",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@codemirror/view": "^6.43.8",
    "@floating-ui/vue": "^2.0.1",
    "@fortawesome/fontawesome-free": "^7.3.1",
    "@fortawesome/fontawesome-svg-core": "7.3.1",
    "@fortawesome/free-regular-svg-icons": "7.3.1",
    "@fortawesome/free-solid-svg-icons": "7.3.0",
    "@fortawesome/vue-fontawesome": "^3.3.0",
    "@google/model-viewer": "^4.4.0",
    "@googlemaps/js-api-loader": "^2.1.3",
    "@googlemaps/markerclusterer": "^2.6.2",
    "@graphql-typed-document-node/core": "3.2.0",
    "@headlessui/vue": "^1.7.23",
    "@sentry/nuxt": "^10.62.0",
    "@tailwindcss/forms": "^0.5.11",
    "@tailwindcss/typography": "^0.5.20",
    "@upstash/redis": "^1.38.0",
    "@vue/apollo-composable": "^4.2.2",
    "axios": "^1.20.0",
    "chart.js": "^4.5.1",
    "codemirror": "^6.0.2",
    "crypto-js": "^4.2.0",
    "diff-match-patch": "^1.0.5",
    "dotenv": "^18.0.8",
    "emoji-picker-element": "^1.29.1",
    "graphql": "^16.14.2",
    "graphql-tag": "^2.12.7",
    "h3": "^1.15.11",
    "highlight.js": "^11.12.0",
    "identicon.js": "^2.3.3",
    "js-yaml": "^5.4.2",
    "lucide-vue-next": "^1.0.0",
    "luxon": "^3.6.0",
    "markdown-it": "^14.3.1",
    "md-editor-v3": "^6.5.6",
    "nuxt": "~4.5.1",
    "pinia": "^3.0.2",
    "remove-markdown": "^0.8.0",
    "sanitize-html": "^2.18.1",
    "three": "^0.183.2",
    "tslib": "^2.8.1",
    "unstorage": "^1.17.5",
    "vue": "^3.5.44",
    "vue-chartjs": "^5.3.4",
    "vue-codemirror": "^6.1.1",
    "vue-easy-lightbox": "^1.19.0",
    "vue-router": "^5.3.1",
    "vue3-popper": "^1.5.0",
    "vuedraggable": "^4.1.0"
  },
  "devDependencies": {
    "@axe-core/playwright": "^4.12.1",
    "@graphql-codegen/cli": "7.4.6",
    "@graphql-codegen/client-preset": "^6.2.3",
    "@graphql-codegen/typed-document-node": "7.1.1",
    "@graphql-codegen/typescript": "6.1.2",
    "@graphql-codegen/typescript-operations": "6.1.10",
    "@nuxt/eslint-config": "^1.17.0",
    "@nuxt/image": "^2.1.0",
    "@nuxt/schema": "~4.5.1",
    "@nuxt/types": "^2.18.1",
    "@nuxtjs/apollo": "^5.0.0-alpha.15",
    "@nuxtjs/google-fonts": "^3.2.0",
    "@pinia/testing": "^1.0.1",
    "@playwright/test": "^1.64.1",
    "@tailwindcss/vite": "^4.3.3",
    "@types/crypto-js": "^4.2.2",
    "@types/diff-match-patch": "^1.0.36",
    "@types/google.maps": "^3.66.7",
    "@types/identicon.js": "^2.3.5",
    "@types/luxon": "^3.7.2",
    "@types/markdown-it": "^14.1.2",
    "@types/node": "^26.1.0",
    "@types/sanitize-html": "^2.16.1",
    "@types/webpack-env": "^1.18.8",
    "@vitejs/plugin-vue": "^6.0.10",
    "@vitest/coverage-v8": "^4.1.11",
    "@vitest/ui": "^4.1.11",
    "@vue/test-utils": "^2.4.11",
    "accented": "^1.6.0",
    "eslint": "^10.6.0",
    "eslint-plugin-vuejs-accessibility": "^2.5.0",
    "globals": "^17.13.0",
    "happy-dom": "^20.14.5",
    "husky": "^9.1.7",
    "jsdom": "^30.1.1",
    "knip": "^6.41.0",
    "lint-staged": "^17.2.0",
    "monocart-coverage-reports": "^2.12.12",
    "prettier": "^3.9.10",
    "prettier-plugin-tailwindcss": "^0.8.1",
    "sass": "^1.101.0",
    "tailwindcss": "^4.3.3",
    "typescript": "^6.0.3",
    "vite": "^8.3.4",
    "vitest": "^4.1.11",
    "vue-tsc": "^3.3.11"
  },
  "lint-staged": {
    "*.ts": [
      "eslint --fix --cache --cache-location node_modules/.cache/eslint/"
    ],
    "*.vue": [
      "eslint --fix --cache --cache-location node_modules/.cache/eslint/"
    ]
  }
}