{ "name": "@hedgedoc/frontend", "version": "2.0.0-dev", "private": true, "license": "AGPL-3.0", "scripts": { "build": "cross-env NODE_ENV=production ./build.sh", "build:mock": "cross-env BUILD_TIME=true NEXT_PUBLIC_USE_MOCK_API=true ./build.sh --keep-mock-api", "build:test": "cross-env BUILD_TIME=true NODE_ENV=test NEXT_PUBLIC_TEST_MODE=true ./build.sh --keep-mock-api", "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_ENV=test jest --watch", "test:ci": "cross-env NODE_ENV=test jest --ci", "test": "cross-env NODE_ENV=test jest" }, "browserslist": { "production": [ ">0.2%", "Firefox ESR", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "dependencies": { "@codemirror/autocomplete": "6.9.0", "@codemirror/commands": "6.2.5", "@codemirror/lang-markdown": "6.2.0", "@codemirror/language": "6.9.0", "@codemirror/language-data": "6.3.1", "@codemirror/lint": "6.4.1", "@codemirror/state": "6.2.1", "@codemirror/theme-one-dark": "6.1.2", "@codemirror/view": "6.17.1", "@fontsource/source-sans-pro": "5.0.8", "@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", "@react-hook/resize-observer": "1.2.6", "@redux-devtools/core": "3.13.1", "@reduxjs/toolkit": "1.9.5", "@svgr/webpack": "8.1.0", "@types/katex": "0.16.2", "@uiw/react-codemirror": "4.21.13", "abcjs": "6.2.2", "bootstrap": "5.3.1", "copy-webpack-plugin": "11.0.0", "cross-env": "7.0.3", "d3-graphviz": "5.1.0", "d3-selection": "3.0.0", "deepmerge": "4.3.1", "diff": "5.1.0", "dom-serializer": "2.0.0", "domhandler": "5.0.3", "dompurify": "3.0.5", "emoji-picker-element": "1.18.3", "emoji-picker-element-data": "1.4.0", "eventemitter2": "6.4.9", "fast-deep-equal": "3.1.3", "firacode": "6.2.0", "flexsearch-ts": "0.7.35", "flowchart.js": "1.17.1", "highlight.js": "11.8.0", "htmlparser2": "9.0.0", "i18next": "23.4.6", "i18next-browser-languagedetector": "7.1.0", "i18next-resources-to-backend": "1.1.4", "katex": "0.16.8", "luxon": "3.4.2", "markdown-it": "13.0.1", "markdown-it-abbr": "1.0.4", "markdown-it-anchor": "8.6.7", "markdown-it-container": "3.0.0", "markdown-it-deflist": "2.1.0", "markdown-it-emoji": "2.0.2", "markdown-it-footnote": "3.0.3", "markdown-it-ins": "3.0.1", "markdown-it-mark": "3.0.1", "markdown-it-mathjax": "2.0.0", "markdown-it-plantuml": "1.4.1", "markdown-it-regex": "0.2.0", "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "mermaid": "10.4.0", "next": "13.4.19", "react": "18.2.0", "react-bootstrap": "2.8.0", "react-bootstrap-icons": "1.10.3", "react-bootstrap-typeahead": "6.2.3", "react-diff-viewer": "3.1.1", "react-dom": "18.2.0", "react-i18next": "13.2.2", "react-redux": "8.1.2", "react-use": "17.4.0", "redux": "4.2.1", "reveal.js": "4.5.0", "sanitize-filename": "1.6.3", "sass": "1.66.1", "sharp": "0.32.5", "tlds": "1.242.0", "twemoji-colr-font": "14.1.3", "uuid": "9.0.0", "vega": "5.25.0", "vega-embed": "6.22.2", "vega-lite": "5.14.1", "words-count": "2.0.2", "ws": "8.13.0", "yjs": "13.6.7" }, "devDependencies": { "@next/bundle-analyzer": "13.4.19", "@testing-library/cypress": "9.0.0", "@testing-library/dom": "9.3.1", "@testing-library/jest-dom": "6.1.2", "@testing-library/react": "14.0.0", "@testing-library/react-hooks": "8.0.1", "@testing-library/user-event": "14.4.3", "@types/d3-graphviz": "2.6.7", "@types/diff": "5.0.3", "@types/dompurify": "3.0.2", "@types/jest": "29.5.4", "@types/luxon": "3.3.2", "@types/markdown-it": "13.0.1", "@types/markdown-it-container": "2.0.6", "@types/markdown-it-plantuml": "1.4.1", "@types/node": "20.5.9", "@types/react": "18.2.21", "@types/react-dom": "18.2.7", "@types/sass": "1.43.1", "@types/testing-library__jest-dom": "5.14.9", "@types/uuid": "9.0.3", "@types/ws": "8.5.5", "@typescript-eslint/eslint-plugin": "6.5.0", "@typescript-eslint/parser": "6.5.0", "csstype": "3.1.2", "cypress": "13.1.0", "cypress-commands": "3.0.0", "cypress-fill-command": "1.0.2", "eslint": "8.48.0", "eslint-config-next": "13.4.19", "eslint-config-prettier": "9.0.0", "eslint-plugin-chai-friendly": "0.7.2", "eslint-plugin-cypress": "2.14.0", "eslint-plugin-jest": "27.2.3", "eslint-plugin-node": "11.1.0", "eslint-plugin-prettier": "5.0.0", "eslint-plugin-promise": "6.1.1", "eslint-plugin-testing-library": "6.0.1", "jest": "29.6.4", "jest-environment-jsdom": "29.6.4", "prettier": "3.0.3", "react-test-renderer": "18.2.0", "ts-loader": "9.4.4", "ts-mockery": "1.2.0", "ts-node": "10.9.1", "typescript": "5.2.2", "user-agent-data-types": "0.3.1" }, "packageManager": "yarn@3.6.3" }