hedgedoc/frontend/package.json
Tilman Vatteroth 4cb332622a feat(frontend): add build script
The build script prepares the package for a production build, builds the app, places every all needed files in a dist directory and cleans it.

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-08-27 12:42:40 +02:00

173 lines
6 KiB
JSON

{
"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 NEXT_PUBLIC_USE_MOCK_API=true ./build.sh --keep-mock-api",
"build:test": "cross-env 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%",
"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.16.0",
"@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.11",
"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.0",
"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.1",
"@types/markdown-it": "13.0.1",
"@types/markdown-it-container": "2.0.6",
"@types/markdown-it-plantuml": "1.4.1",
"@types/node": "20.5.6",
"@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.2",
"@types/ws": "8.5.5",
"@typescript-eslint/eslint-plugin": "6.4.1",
"@typescript-eslint/parser": "6.4.1",
"csstype": "3.1.2",
"cypress": "12.17.4",
"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.2",
"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"
},
"packageManager": "yarn@3.6.3"
}