{ "name": "coder-v2", "description": "Coder V2 (Workspaces V2)", "repository": "https://github.com/coder/coder", "private": true, "scripts": { "postinstall": "yarn typegen", "build": "NODE_ENV=production yarn vite build", "check:all": "yarn format:check && yarn lint && yarn test", "chromatic": "chromatic", "dev": "vite", "format:check": "prettier --cache --check '../**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'", "format:types": "prettier --write 'src/api/typesGenerated.ts'", "format:write": "prettier --write '../**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'", "format:write:only": "prettier --write", "lint": "jest --selectProjects lint", "lint:fix": "FIX=true yarn lint", "playwright:install": "playwright install --with-deps chromium", "playwright:test": "playwright test --config=e2e/playwright.config.ts", "storybook": "start-storybook -p 6006", "storybook:build": "build-storybook", "test": "jest --selectProjects test", "test:ci": "jest --selectProjects test --silent", "test:coverage": "jest --selectProjects test --collectCoverage", "test:watch": "jest --selectProjects test --watch", "typegen": "xstate typegen 'src/**/*.ts'", "stats": "STATS=true yarn build && npx http-server ./stats -p 8081 -c-1", "deadcode": "ts-prune | grep -v \".stories\\|.typegen\\|.config\\|e2e\\|__mocks__\\|used in module\\|testHelpers\\|typesGenerated\" || echo \"No deadcode found.\"" }, "dependencies": { "@emoji-mart/data": "1.0.5", "@emoji-mart/react": "1.0.1", "@fontsource/ibm-plex-mono": "4.5.10", "@fontsource/inter": "4.5.11", "@material-ui/core": "4.12.1", "@material-ui/icons": "4.5.1", "@material-ui/lab": "4.0.0-alpha.42", "@monaco-editor/react": "4.4.6", "@tanstack/react-query": "4.22.4", "@testing-library/react-hooks": "8.0.1", "@types/color-convert": "2.0.0", "@types/react-color": "3.0.6", "@vitejs/plugin-react": "2.1.0", "@xstate/inspect": "0.6.5", "@xstate/react": "3.0.1", "axios": "0.26.1", "canvas": "2.11.0", "chart.js": "3.9.1", "chartjs-adapter-date-fns": "3.0.0", "color-convert": "2.0.1", "cron-parser": "4.7.0", "cronstrue": "2.21.0", "date-fns": "2.29.3", "dayjs": "1.11.4", "emoji-mart": "5.4.0", "eslint-plugin-testing-library": "^5.10.2", "eventsourcemock": "2.0.0", "formik": "2.2.9", "front-matter": "4.0.2", "history": "5.3.0", "i18next": "21.9.1", "jest-environment-jsdom": "29.5.0", "jest-location-mock": "1.0.9", "just-debounce-it": "3.1.1", "lodash": "4.17.21", "playwright": "1.29.2", "react": "18.2.0", "react-chartjs-2": "4.3.1", "react-color": "2.19.3", "react-dom": "18.2.0", "react-headless-tabs": "6.0.3", "react-helmet-async": "1.3.0", "react-i18next": "12.1.1", "react-markdown": "8.0.3", "react-router-dom": "6.4.1", "react-syntax-highlighter": "15.5.0", "react-virtualized-auto-sizer": "^1.0.7", "react-window": "^1.8.8", "remark-gfm": "3.0.1", "rollup-plugin-visualizer": "5.9.0", "sourcemapped-stacktrace": "1.1.11", "ts-prune": "0.10.3", "tzdata": "1.0.30", "ua-parser-js": "1.0.33", "uuid": "9.0.0", "vite": "3.1.3", "xstate": "4.33.5", "xterm": "4.19.0", "xterm-addon-fit": "0.5.0", "xterm-addon-web-links": "0.6.0", "yup": "0.32.11" }, "devDependencies": { "@playwright/test": "1.29.2", "@storybook/addon-actions": "6.5.9", "@storybook/addon-essentials": "6.5.12", "@storybook/addon-links": "6.5.9", "@storybook/react": "6.5.12", "@swc/core": "1.3.38", "@swc/jest": "0.2.24", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.0.0", "@testing-library/user-event": "14.4.3", "@types/jest": "29.4.0", "@types/node": "14.18.22", "@types/react": "18.0.15", "@types/react-dom": "18.0.6", "@types/react-helmet": "6.1.5", "@types/react-syntax-highlighter": "15.5.5", "@types/react-virtualized-auto-sizer": "^1.0.1", "@types/react-window": "^1.8.5", "@types/semver": "7.3.12", "@types/ua-parser-js": "0.7.36", "@types/uuid": "8.3.4", "@typescript-eslint/eslint-plugin": "5.50.0", "@typescript-eslint/parser": "5.45.1", "@xstate/cli": "0.3.0", "chromatic": "6.15.0", "eslint": "8.35.0", "eslint-config-prettier": "8.5.0", "eslint-import-resolver-typescript": "3.5.0", "eslint-plugin-compat": "4.0.2", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-jest": "27.2.1", "eslint-plugin-jsx-a11y": "6.6.1", "eslint-plugin-react": "7.31.1", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-unicorn": "44.0.0", "jest": "29.5.0", "jest-canvas-mock": "2.4.0", "jest-fetch-mock": "3.0.3", "jest-runner-eslint": "1.1.0", "jest-websocket-mock": "2.4.0", "jest_workaround": "0.1.14", "monaco-editor": "0.34.1", "msw": "1.1.0", "prettier": "2.8.1", "resize-observer": "1.0.4", "semver": "7.3.7", "typescript": "4.8.2" }, "browserslist": [ "chrome 66", "firefox 63", "edge 79", "safari 15.4" ] }