{
	"name": "coder-v2",
	"description": "Coder V2 (Workspaces V2)",
	"repository": "https://github.com/coder/coder",
	"private": true,
	"license": "AGPL-3.0",
	"scripts": {
		"build": "NODE_ENV=production pnpm vite build",
		"check": "biome check --error-on-warnings e2e/ src/",
		"check:fix": "biome check --error-on-warnings --fix e2e/ src/",
		"check:all": "pnpm check && pnpm test",
		"chromatic": "chromatic",
		"dev": "vite",
		"format": "biome format --write e2e/ src/",
		"format:check": "biome format e2e/ src/",
		"lint": "pnpm run lint:check && pnpm run lint:types",
		"lint:check": " biome lint --error-on-warnings e2e/ src/",
		"lint:fix": " biome lint --error-on-warnings --write e2e/ src/",
		"lint:types": "tsc -p .",
		"playwright:install": "playwright install --with-deps chromium",
		"playwright:test": "playwright test --config=e2e/playwright.config.ts",
		"playwright:test-ui": "playwright test --config=e2e/playwright.config.ts --ui $([[ \"$CODER\" == \"true\" ]] && echo --ui-port=7500 --ui-host=0.0.0.0)",
		"gen:provisioner": "protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=./e2e/ --ts_proto_opt=outputJsonMethods=false,outputEncodeMethods=encode-no-creation,outputClientImpl=false,nestJs=false,outputPartialMethods=false,fileSuffix=Generated,suffix=hey -I ../provisionersdk/proto ../provisionersdk/proto/provisioner.proto && pnpm exec prettier --ignore-path '/dev/null' --cache --write './e2e/provisionerGenerated.ts'",
		"storybook": "STORYBOOK=true storybook dev -p 6006",
		"storybook:build": "storybook build",
		"storybook:ci": "storybook build --test",
		"test": "jest --selectProjects test",
		"test:ci": "jest --selectProjects test --silent",
		"test:coverage": "jest --selectProjects test --collectCoverage",
		"test:watch": "jest --selectProjects test --watch",
		"test:storybook": "test-storybook",
		"stats": "STATS=true pnpm build && npx http-server ./stats -p 8081 -c-1",
		"deadcode": "ts-prune | grep -v \".stories\\|.config\\|e2e\\|__mocks__\\|used in module\\|testHelpers\\|typesGenerated\" || echo \"No deadcode found.\""
	},
	"dependencies": {
		"@alwaysmeticulous/recorder-loader": "2.137.0",
		"@emoji-mart/data": "1.2.1",
		"@emoji-mart/react": "1.1.1",
		"@emotion/css": "11.13.0",
		"@emotion/react": "11.13.3",
		"@emotion/styled": "11.13.0",
		"@fastly/performance-observer-polyfill": "2.0.0",
		"@fontsource-variable/inter": "5.0.15",
		"@fontsource/ibm-plex-mono": "5.0.5",
		"@monaco-editor/react": "4.6.0",
		"@mui/icons-material": "5.16.7",
		"@mui/lab": "5.0.0-alpha.173",
		"@mui/material": "5.16.7",
		"@mui/system": "5.16.7",
		"@mui/utils": "5.16.6",
		"@mui/x-tree-view": "7.13.0",
		"@tanstack/react-query-devtools": "4.35.3",
		"@xterm/addon-canvas": "0.7.0",
		"@xterm/addon-fit": "0.10.0",
		"@xterm/addon-unicode11": "0.8.0",
		"@xterm/addon-web-links": "0.11.0",
		"@xterm/addon-webgl": "0.18.0",
		"@xterm/xterm": "5.5.0",
		"ansi-to-html": "0.7.2",
		"axios": "1.7.4",
		"canvas": "3.0.0-rc2",
		"chart.js": "4.4.0",
		"chartjs-adapter-date-fns": "3.0.0",
		"chartjs-plugin-annotation": "3.0.1",
		"chroma-js": "2.4.2",
		"color-convert": "2.0.1",
		"cron-parser": "4.9.0",
		"cronstrue": "2.50.0",
		"date-fns": "2.30.0",
		"dayjs": "1.11.4",
		"emoji-mart": "5.6.0",
		"file-saver": "2.0.5",
		"formik": "2.4.6",
		"front-matter": "4.0.2",
		"jszip": "3.10.1",
		"lodash": "4.17.21",
		"monaco-editor": "0.50.0",
		"pretty-bytes": "6.1.1",
		"react": "18.3.1",
		"react-chartjs-2": "5.2.0",
		"react-color": "2.19.3",
		"react-confetti": "6.1.0",
		"react-date-range": "1.4.0",
		"react-dom": "18.3.1",
		"react-helmet-async": "2.0.5",
		"react-markdown": "9.0.1",
		"react-query": "npm:@tanstack/react-query@4.35.3",
		"react-router-dom": "6.24.0",
		"react-syntax-highlighter": "15.5.0",
		"react-virtualized-auto-sizer": "1.0.24",
		"react-window": "1.8.10",
		"remark-gfm": "4.0.0",
		"rollup-plugin-visualizer": "5.12.0",
		"semver": "7.6.2",
		"tzdata": "1.0.40",
		"ua-parser-js": "1.0.33",
		"ufuzzy": "npm:@leeoniya/ufuzzy@1.0.10",
		"undici": "6.19.7",
		"unique-names-generator": "4.7.1",
		"uuid": "9.0.0",
		"yup": "1.4.0"
	},
	"devDependencies": {
		"@biomejs/biome": "1.8.3",
		"@chromatic-com/storybook": "1.6.0",
		"@octokit/types": "12.3.0",
		"@playwright/test": "1.40.1",
		"@storybook/addon-actions": "8.1.11",
		"@storybook/addon-essentials": "8.1.11",
		"@storybook/addon-interactions": "8.1.11",
		"@storybook/addon-links": "8.1.11",
		"@storybook/addon-mdx-gfm": "8.1.11",
		"@storybook/addon-themes": "8.1.11",
		"@storybook/preview-api": "8.1.11",
		"@storybook/react": "8.1.11",
		"@storybook/react-vite": "8.1.11",
		"@storybook/test": "8.1.11",
		"@swc/core": "1.3.38",
		"@swc/jest": "0.2.24",
		"@testing-library/jest-dom": "6.4.6",
		"@testing-library/react": "14.1.0",
		"@testing-library/react-hooks": "8.0.1",
		"@testing-library/user-event": "14.5.1",
		"@types/chroma-js": "2.4.0",
		"@types/color-convert": "2.0.0",
		"@types/express": "4.17.17",
		"@types/file-saver": "2.0.7",
		"@types/jest": "29.5.12",
		"@types/lodash": "4.17.6",
		"@types/node": "20.14.8",
		"@types/react": "18.2.6",
		"@types/react-color": "3.0.6",
		"@types/react-date-range": "1.4.4",
		"@types/react-dom": "18.2.4",
		"@types/react-syntax-highlighter": "15.5.13",
		"@types/react-virtualized-auto-sizer": "1.0.4",
		"@types/react-window": "1.8.8",
		"@types/semver": "7.5.8",
		"@types/ssh2": "1.15.0",
		"@types/ua-parser-js": "0.7.36",
		"@types/uuid": "9.0.2",
		"@vitejs/plugin-react": "4.3.1",
		"chromatic": "11.3.0",
		"eventsourcemock": "2.0.0",
		"express": "4.20.0",
		"jest": "29.7.0",
		"jest-canvas-mock": "2.5.2",
		"jest-environment-jsdom": "29.5.0",
		"jest-location-mock": "2.0.0",
		"jest-websocket-mock": "2.5.0",
		"jest_workaround": "0.1.14",
		"msw": "2.3.5",
		"prettier": "3.3.3",
		"protobufjs": "7.2.5",
		"rxjs": "7.8.1",
		"ssh2": "1.15.0",
		"storybook": "8.1.11",
		"storybook-addon-remix-react-router": "3.0.0",
		"storybook-react-context": "0.6.0",
		"ts-node": "10.9.1",
		"ts-proto": "1.164.0",
		"ts-prune": "0.10.3",
		"typescript": "5.5.4",
		"vite": "5.4.1",
		"vite-plugin-checker": "0.7.2",
		"vite-plugin-turbosnap": "1.0.3"
	},
	"browserslist": ["chrome 110", "firefox 111", "safari 16.0"],
	"resolutions": {
		"optionator": "0.9.3",
		"semver": "7.6.2"
	},
	"engines": {
		"npm": ">=9.0.0 <10.0.0",
		"node": ">=18.0.0 <21.0.0"
	}
}
