{
  "type": "module",
  "engines": {
    "node": ">= 20.0.0"
  },
  "dependencies": {
    "@citation-js/core": "0.7.18",
    "@citation-js/plugin-bibtex": "0.7.18",
    "@citation-js/plugin-csl": "0.7.18",
    "@citation-js/plugin-software-formats": "0.6.1",
    "@github/markdown-toolbar-element": "2.2.3",
    "@github/relative-time-element": "4.4.8",
    "@github/text-expander-element": "2.9.2",
    "@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
    "@primer/octicons": "19.15.2",
    "@silverwind/vue3-calendar-heatmap": "2.0.6",
    "add-asset-webpack-plugin": "3.0.0",
    "ansi_up": "6.0.6",
    "asciinema-player": "3.10.0",
    "chart.js": "4.4.9",
    "chartjs-adapter-dayjs-4": "1.0.4",
    "chartjs-plugin-zoom": "2.2.0",
    "clippie": "4.1.7",
    "cropperjs": "1.6.2",
    "css-loader": "7.1.2",
    "dayjs": "1.11.13",
    "dropzone": "6.0.0-beta.2",
    "easymde": "2.20.0",
    "esbuild-loader": "4.3.0",
    "escape-goat": "4.0.0",
    "fast-glob": "3.3.3",
    "htmx.org": "2.0.5",
    "idiomorph": "0.7.3",
    "jquery": "3.7.1",
    "katex": "0.16.22",
    "license-checker-webpack-plugin": "0.2.1",
    "mermaid": "11.6.0",
    "mini-css-extract-plugin": "2.9.2",
    "minimatch": "10.0.2",
    "monaco-editor": "0.52.2",
    "monaco-editor-webpack-plugin": "7.1.0",
    "pdfobject": "2.3.1",
    "perfect-debounce": "1.0.0",
    "postcss": "8.5.5",
    "postcss-loader": "8.1.1",
    "postcss-nesting": "13.0.2",
    "sortablejs": "1.15.6",
    "swagger-ui-dist": "5.24.1",
    "tailwindcss": "3.4.17",
    "throttle-debounce": "5.0.2",
    "tinycolor2": "1.6.0",
    "tippy.js": "6.3.7",
    "toastify-js": "1.12.0",
    "tributejs": "5.1.3",
    "typescript": "5.8.3",
    "uint8-to-base64": "0.2.0",
    "vanilla-colorful": "0.7.2",
    "vue": "3.5.16",
    "vue-bar-graph": "2.2.0",
    "vue-chartjs": "5.3.2",
    "vue-loader": "17.4.2",
    "webpack": "5.99.9",
    "webpack-cli": "6.0.1",
    "wrap-ansi": "9.0.0"
  },
  "devDependencies": {
    "@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
    "@playwright/test": "1.53.0",
    "@stoplight/spectral-cli": "6.15.0",
    "@stylistic/eslint-plugin-js": "3.1.0",
    "@stylistic/stylelint-plugin": "3.1.2",
    "@types/dropzone": "5.7.9",
    "@types/jquery": "3.5.32",
    "@types/katex": "0.16.7",
    "@types/license-checker-webpack-plugin": "0.2.4",
    "@types/pdfobject": "2.2.5",
    "@types/sortablejs": "1.15.8",
    "@types/swagger-ui-dist": "3.30.5",
    "@types/throttle-debounce": "5.0.2",
    "@types/tinycolor2": "1.4.6",
    "@types/toastify-js": "1.12.4",
    "@typescript-eslint/eslint-plugin": "8.34.0",
    "@typescript-eslint/parser": "8.34.0",
    "@vitejs/plugin-vue": "5.2.4",
    "@vitest/eslint-plugin": "1.2.2",
    "eslint": "8.57.0",
    "eslint-import-resolver-typescript": "4.4.3",
    "eslint-plugin-array-func": "4.0.0",
    "eslint-plugin-github": "5.0.2",
    "eslint-plugin-import-x": "4.15.2",
    "eslint-plugin-no-jquery": "3.1.1",
    "eslint-plugin-no-use-extend-native": "0.5.0",
    "eslint-plugin-playwright": "2.2.0",
    "eslint-plugin-regexp": "2.9.0",
    "eslint-plugin-sonarjs": "3.0.2",
    "eslint-plugin-unicorn": "56.0.1",
    "eslint-plugin-vue": "10.2.0",
    "eslint-plugin-vue-scoped-css": "2.10.0",
    "eslint-plugin-wc": "3.0.1",
    "happy-dom": "18.0.1",
    "markdownlint-cli": "0.45.0",
    "material-icon-theme": "5.23.0",
    "nolyfill": "1.0.44",
    "postcss-html": "1.8.0",
    "stylelint": "16.20.0",
    "stylelint-config-recommended": "16.0.0",
    "stylelint-declaration-block-no-ignored-properties": "2.8.0",
    "stylelint-declaration-strict-value": "1.10.11",
    "stylelint-define-config": "16.19.0",
    "stylelint-value-no-unknown-custom-properties": "6.0.1",
    "svgo": "3.3.2",
    "type-fest": "4.41.0",
    "updates": "16.4.2",
    "vite-string-plugin": "1.4.4",
    "vitest": "3.2.3",
    "vue-tsc": "2.2.10"
  },
  "browserslist": [
    "defaults"
  ],
  "overrides": {
    "array-includes": "npm:@nolyfill/array-includes@^1",
    "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@^1",
    "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@^1",
    "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@^1",
    "deep-equal": "npm:@nolyfill/deep-equal@^1",
    "es-aggregate-error": "npm:@nolyfill/es-aggregate-error@^1",
    "es-iterator-helpers": "npm:@nolyfill/es-iterator-helpers@^1",
    "hasown": "npm:@nolyfill/hasown@^1",
    "object.assign": "npm:@nolyfill/object.assign@^1",
    "object.entries": "npm:@nolyfill/object.entries@^1",
    "object.fromentries": "npm:@nolyfill/object.fromentries@^1",
    "object.groupby": "npm:@nolyfill/object.groupby@^1",
    "object.values": "npm:@nolyfill/object.values@^1",
    "safe-regex-test": "npm:@nolyfill/safe-regex-test@^1",
    "string.prototype.includes": "npm:@nolyfill/string.prototype.includes@^1",
    "is-core-module": "npm:@nolyfill/is-core-module@^1",
    "array.prototype.findlast": "npm:@nolyfill/array.prototype.findlast@^1",
    "array.prototype.tosorted": "npm:@nolyfill/array.prototype.tosorted@^1",
    "string.prototype.matchall": "npm:@nolyfill/string.prototype.matchall@^1",
    "string.prototype.repeat": "npm:@nolyfill/string.prototype.repeat@^1",
    "safe-buffer": "npm:@nolyfill/safe-buffer@^1",
    "safer-buffer": "npm:@nolyfill/safer-buffer@^1",
    "string.prototype.trimend": "npm:@nolyfill/string.prototype.trimend@^1"
  }
}
