{ "name": "@hedgedoc/frontend", "version": "2.0.0-alpha.3", "private": true, "license": "AGPL-3.0", "scripts": { "build": "dotenv -v NODE_ENV=production -c production -- ./build.sh", "build:mock": "dotenv -v NEXT_PUBLIC_USE_MOCK_API=true -- ./build.sh", "build:test": "dotenv -v NODE_ENV=test -v NEXT_PUBLIC_TEST_MODE=true -c test -- ./build.sh", "analyze": "cross-env ANALYZE=true yarn build --profile", "format": "prettier -c \"src/**/*.{ts,tsx,js}\" \"cypress/**/*.{ts,tsx}\"", "format:fix": "prettier -w \"src/**/*.{ts,tsx,js}\" \"cypress/**/*.{ts,tsx}\"", "lint": "eslint --max-warnings=0 --ext .ts,.tsx src", "lint:fix": "eslint --fix --ext .ts,.tsx src", "start": "cross-env PORT=${HD_FRONTEND_PORT:-3001} node dist/frontend/server.js", "start:dev": "cross-env PORT=${HD_FRONTEND_PORT:-3001} next dev", "start:dev:mock": "cross-env PORT=${HD_FRONTEND_PORT:-3001} NEXT_PUBLIC_USE_MOCK_API=true HD_BASE_URL=\"http://localhost:3001/\" HD_RENDERER_BASE_URL=\"http://127.0.0.1:3001/\" next dev", "start:dev:test": "cross-env PORT=${HD_FRONTEND_PORT:-3001} NODE_ENV=test NEXT_PUBLIC_TEST_MODE=true next dev", "test:e2e:open": "cypress open", "test:e2e": "cypress run --browser chrome", "test:e2e:ci": "cypress run --browser chrome --record true --parallel --group \"chrome\"", "test:watch": "cross-env NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" NODE_ENV=test jest --watch", "test:ci": "cross-env NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" NODE_ENV=test jest --coverage", "test": "cross-env NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" NODE_ENV=test jest" }, "browserslist": [ "Chrome 118", ">0.2%", "Firefox ESR", "not dead", "not op_mini all" ], "dependencies": { "@codemirror/autocomplete": "6.18.1", "@codemirror/commands": "6.7.1", "@codemirror/lang-markdown": "6.3.0", "@codemirror/language": "6.10.3", "@codemirror/language-data": "6.5.1", "@codemirror/lint": "6.8.2", "@codemirror/state": "6.4.1", "@codemirror/theme-one-dark": "6.1.2", "@codemirror/view": "6.34.1", "@dicebear/core": "9.2.2", "@dicebear/identicon": "9.2.2", "@fontsource/source-sans-pro": "5.1.0", "@hedgedoc/commons": "workspace:commons", "@hedgedoc/html-to-react": "workspace:html-to-react", "@hedgedoc/markdown-it-plugins": "workspace:markdown-it-plugins", "@mrdrogdrog/optional": "1.2.1", "@orama/orama": "2.0.23", "@react-hook/resize-observer": "2.0.2", "@redux-devtools/core": "4.0.0", "@reduxjs/toolkit": "2.3.0", "@svgr/webpack": "8.1.0", "@uiw/react-codemirror": "4.23.5", "abcjs": "6.4.3", "bootstrap": "5.3.3", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "d3-graphviz": "5.6.0", "d3-selection": "3.0.0", "deepmerge": "4.3.1", "diff": "7.0.0", "dom-serializer": "2.0.0", "domhandler": "5.0.3", "dompurify": "3.1.6", "emoji-picker-element": "1.22.8", "emoji-picker-element-data": "1.6.1", "eventemitter2": "6.4.9", "fast-deep-equal": "3.1.3", "firacode": "6.2.0", "flowchart.js": "1.18.0", "highlight.js": "11.10.0", "htmlparser2": "9.1.0", "i18next": "23.16.2", "i18next-browser-languagedetector": "8.0.0", "i18next-resources-to-backend": "1.2.1", "katex": "0.16.11", "luxon": "3.5.0", "markdown-it": "13.0.2", "markdown-it-abbr": "2.0.0", "markdown-it-anchor": "9.2.0", "markdown-it-container": "4.0.0", "markdown-it-deflist": "3.0.0", "markdown-it-emoji": "3.0.0", "markdown-it-footnote": "4.0.0", "markdown-it-ins": "4.0.0", "markdown-it-mark": "4.0.0", "markdown-it-mathjax": "2.0.0", "markdown-it-plantuml": "1.4.1", "markdown-it-regex": "0.2.0", "markdown-it-sub": "2.0.0", "markdown-it-sup": "2.0.0", "mermaid": "11.3.0", "next": "14.2.10", "picocolors": "1.1.1", "react": "18.3.1", "react-bootstrap": "2.10.5", "react-bootstrap-icons": "1.11.4", "react-bootstrap-typeahead": "6.3.2", "react-diff-viewer": "3.1.1", "react-dom": "18.3.1", "react-i18next": "15.1.0", "react-redux": "9.1.2", "react-use": "17.5.1", "redux": "5.0.1", "reveal.js": "5.1.0", "sanitize-filename": "1.6.3", "sass": "1.80.3", "sharp": "0.33.5", "tlds": "1.255.0", "twemoji-colr-font": "15.0.3", "uuid": "11.0.3", "vega": "5.30.0", "vega-embed": "6.26.0", "vega-lite": "5.21.0", "words-count": "2.0.2", "ws": "8.18.0", "yjs": "13.6.20" }, "devDependencies": { "@next/bundle-analyzer": "14.2.7", "@testing-library/cypress": "10.0.2", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.2", "@testing-library/react": "16.0.1", "@testing-library/react-hooks": "8.0.1", "@testing-library/user-event": "14.5.2", "@types/d3-graphviz": "2.6.10", "@types/diff": "6.0.0", "@types/dompurify": "3.0.5", "@types/jest": "29.5.13", "@types/katex": "0.16.7", "@types/luxon": "3.4.2", "@types/markdown-it": "13.0.7", "@types/markdown-it-container": "2.0.9", "@types/markdown-it-plantuml": "1.4.4", "@types/node": "20.16.2", "@types/react": "18.3.5", "@types/react-dom": "18.3.1", "@types/ws": "8.5.12", "@typescript-eslint/eslint-plugin": "8.11.0", "@typescript-eslint/parser": "8.11.0", "csstype": "3.1.3", "cypress": "13.15.2", "cypress-commands": "3.0.0", "cypress-fill-command": "1.0.2", "dotenv-cli": "7.4.2", "eslint": "8.57.0", "eslint-config-next": "14.2.7", "eslint-config-prettier": "9.1.0", "eslint-plugin-chai-friendly": "1.0.1", "eslint-plugin-cypress": "4.0.0", "eslint-plugin-jest": "28.8.3", "eslint-plugin-n": "17.11.1", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-promise": "7.1.0", "eslint-plugin-testing-library": "6.4.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "prettier": "3.3.3", "react-test-renderer": "18.3.1", "ts-loader": "9.5.1", "ts-mockery": "1.2.0", "ts-node": "11.0.0-beta.1", "typescript": "5.6.3", "user-agent-data-types": "0.4.2" }, "packageManager": "yarn@4.4.1" }