{
	"name": "focalboard",
	"version": "7.12.0",
	"private": true,
	"description": "",
	"scripts": {
		"pack": "cross-env NODE_ENV=production webpack --config webpack.prod.js",
		"packdev": "cross-env NODE_ENV=dev webpack --config webpack.dev.js",
		"watchdev": "cross-env NODE_ENV=dev webpack --watch --progress --config webpack.dev.js",
		"deveditor": "cross-env NODE_ENV=dev webpack server --config webpack.editor.js",
		"test": "jest",
		"updatesnapshot": "jest --updateSnapshot",
		"check": "eslint --ext .tsx,.ts . --quiet --cache && stylelint **/*.scss",
		"fix": "eslint --ext .tsx,.ts . --quiet --fix --cache && stylelint --fix **/*.scss",
		"fix:scss": "prettier --write './src/**/*.scss'",
		"i18n-extract": "formatjs extract \"../mattermost-plugin/webapp/src/**/*.{ts,tsx}\" \"src/**/*.{ts,tsx}\" --ignore \"**/*.d.ts\" \"../**/*.d.ts\" --out-file i18n/tmp.json && formatjs compile i18n/tmp.json --out-file i18n/en.json && npx rimraf i18n/tmp.json",
		"runserver-test": "cd cypress && \"../../bin/focalboard-server\"",
		"cypress:ci": "start-server-and-test runserver-test http://localhost:8088 cypress:run",
		"cypress:debug": "start-server-and-test runserver-test http://localhost:8088 cypress:open",
		"cypress:run": "cypress run",
		"cypress:run:chrome": "cypress run --browser chrome",
		"cypress:run:firefox": "cypress run --browser firefox",
		"cypress:run:edge": "cypress run --browser edge",
		"cypress:run:electron": "cypress run --browser electron",
		"cypress:open": "cypress open"
	},
	"dependencies": {
		"@draft-js-plugins/editor": "^4.1.2",
		"@draft-js-plugins/emoji": "^4.6.0",
		"@draft-js-plugins/mention": "^5.1.2",
		"@fullcalendar/core": "^5.10.1",
		"@fullcalendar/daygrid": "^5.10.1",
		"@fullcalendar/interaction": "^5.10.1",
		"@fullcalendar/react": "^5.10.1",
		"@mattermost/compass-icons": "^0.1.39",
		"@reduxjs/toolkit": "^1.8.0",
		"@tippyjs/react": "4.2.6",
		"color": "^4.2.1",
		"draft-js": "^0.11.7",
		"emoji-mart": "^3.0.1",
		"fstream": "^1.0.12",
		"fullcalendar": "^5.10.2",
		"imagemin-gifsicle": "^7.0.0",
		"imagemin-mozjpeg": "^10.0.0",
		"imagemin-optipng": "^8.0.0",
		"imagemin-pngquant": "^9.0.2",
		"imagemin-svgo": "^10.0.1",
		"imagemin-webp": "^7.0.0",
		"lodash": "^4.17.21",
		"marked": "^4.0.12",
		"mini-create-react-context": "^0.4.1",
		"moment": "^2.29.1",
		"nanoevents": "^5.1.13",
		"react": "17.0.2",
		"react-beautiful-dnd": "^13.1.1",
		"react-day-picker": "^7.4.10",
		"react-dnd": "^14.0.2",
		"react-dnd-html5-backend": "^14.0.0",
		"react-dnd-scrolling": "^1.2.1",
		"react-dnd-touch-backend": "^14.0.0",
		"react-dom": "17.0.2",
		"react-hot-keys": "^2.7.1",
		"react-hotkeys-hook": "^3.4.4",
		"react-intl": "^5.20.0",
		"react-redux": "7.2.4",
		"react-router-dom": "^5.2.0",
		"react-select": "^5.2.2",
		"trim-newlines": "^4.0.2"
	},
	"jest": {
		"moduleNameMapper": {
			"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
			"\\.(scss|css)$": "<rootDir>/__mocks__/styleMock.js"
		},
		"globals": {
			"ts-jest": {
				"tsconfig": "./src/tsconfig.json"
			}
		},
		"transform": {
			"^.+\\.tsx?$": "@swc/jest"
		},
		"transformIgnorePatterns": [
			"/nanoevents/"
		],
		"maxWorkers": "50%",
		"testEnvironment": "jsdom",
		"collectCoverage": true,
		"collectCoverageFrom": [
			"src/**/*.{ts,tsx,js,jsx}",
			"!src/test/**"
		]
	},
	"devDependencies": {
		"@formatjs/cli": "^4.8.2",
		"@formatjs/ts-transformer": "^3.9.2",
		"@swc/jest": "^0.2.20",
		"@testing-library/cypress": "^8.0.2",
		"@testing-library/dom": "^8.11.4",
		"@testing-library/jest-dom": "^5.16.3",
		"@testing-library/react": "^11.2.5",
		"@testing-library/user-event": "^13.5.0",
		"@types/color": "^3.0.3",
		"@types/draft-js": "^0.11.9",
		"@types/emoji-mart": "^3.0.9",
		"@types/jest": "^27.4.1",
		"@types/marked": "^4.0.3",
		"@types/nanoevents": "^1.0.0",
		"@types/react": "^17.0.43",
		"@types/react-beautiful-dnd": "^13.1.2",
		"@types/react-dom": "^17.0.14",
		"@types/react-intl": "^3.0.0",
		"@types/react-redux": "^7.1.23",
		"@types/react-router-dom": "^5.3.3",
		"@types/react-select": "^5.0.0",
		"@types/redux-mock-store": "^1.0.3",
		"@typescript-eslint/eslint-plugin": "^5.16.0",
		"@typescript-eslint/parser": "^5.16.0",
		"copy-webpack-plugin": "^10.2.4",
		"cross-env": "^7.0.3",
		"css-loader": "^6.7.1",
		"cypress": "^9.5.2",
		"cypress-failed-log": "^2.9.5",
		"cypress-real-events": "^1.7.0",
		"eslint": "^8.11.0",
		"eslint-import-resolver-webpack": "0.13.2",
		"eslint-plugin-babel": "^5.3.1",
		"eslint-plugin-cypress": "2.12.1",
		"eslint-plugin-header": "3.1.1",
		"eslint-plugin-import": "2.25.4",
		"eslint-plugin-jquery": "1.5.1",
		"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#23abcf9988f7fa00d26929f11841aab7ccb16b2b",
		"eslint-plugin-no-only-tests": "2.6.0",
		"eslint-plugin-react": "7.29.4",
		"fetch-mock-jest": "^1.5.1",
		"file-loader": "^6.2.0",
		"html-webpack-plugin": "^5.5.0",
		"image-webpack-loader": "^8.1.0",
		"isomorphic-fetch": "^3.0.0",
		"jest": "27.5.1",
		"jest-mock": "27.5.1",
		"prettier": "^2.6.1",
		"redux-mock-store": "^1.5.4",
		"sass": "^1.49.9",
		"sass-loader": "^12.6.0",
		"start-server-and-test": "^1.14.0",
		"style-loader": "^3.3.1",
		"stylelint": "^14.6.1",
		"stylelint-config-sass-guidelines": "^9.0.1",
		"terser-webpack-plugin": "^5.3.1",
		"ts-jest": "^27.1.4",
		"ts-loader": "^9.2.8",
		"typescript": "^4.6.3",
		"webpack": "^5.70.0",
		"webpack-cli": "^4.9.2",
		"webpack-dev-server": "^4.11.1",
		"webpack-merge": "^5.8.0"
	},
	"optionalDependencies": {
		"cypress": "^9.5.2"
	}
}
