mirror of
https://github.com/coder/coder.git
synced 2026-09-23 05:43:53 +08:00
Summary: This adds the client-side implementation to match the types introduced in #879 and #844 as well as a card in the Workspaces page to present workspace the data. Details: * Added a convenient line break in the example schedule.Weekly * Added missing `json:""` annotations in codersdk/workspaces.go * Installed cronstrue for displaying human-friendly cron strings * Adjusted/Added client-side types to match codersdk/workspaces.go * Added new component WorkspaceSchedule.tsx Next Steps: The WorkspaceSchedule.tsx card only presents data (on purpose). In order to make it PUT/modify data, a few changes will be made: - a form for updating workspace schedule will be created - the form will wrapped in a dialog or modal - the WorkspaceSchedule card will have a way of opening the modal which will likely be generalized up to WorkspaceSection.tsx Impact: This is user-facing This does not fully resolve either #274 or #275 (I may further decompose that work to reflect reality and keep things in small deliverable increments), but adds significant progress towards both.
107 lines
3.7 KiB
JSON
107 lines
3.7 KiB
JSON
{
|
|
"name": "coder-v2",
|
|
"description": "Coder V2 (Workspaces V2)",
|
|
"repository": "https://github.com/coder/coder",
|
|
"private": true,
|
|
"scripts": {
|
|
"postinstall": "yarn typegen",
|
|
"build": "NODE_ENV=production webpack build --config=webpack.prod.ts",
|
|
"build:analyze": "NODE_ENV=production webpack --profile --progress --json --config=webpack.prod.ts > out/stats.json && webpack-bundle-analyzer out/stats.json out",
|
|
"chromatic": "chromatic",
|
|
"dev": "webpack-dev-server --config=webpack.dev.ts",
|
|
"format:check": "prettier --check '**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'",
|
|
"format:write": "prettier --write '**/*.{css,html,js,json,jsx,md,ts,tsx,yaml,yml}'",
|
|
"lint": "jest --selectProjects lint",
|
|
"lint:fix": "FIX=true yarn lint",
|
|
"playwright:install": "playwright install",
|
|
"playwright:install-deps": "playwright install-deps",
|
|
"playwright:test": "playwright test --config=e2e/playwright.config.ts",
|
|
"storybook": "start-storybook -p 6006",
|
|
"storybook:build": "build-storybook",
|
|
"test": "jest --selectProjects test",
|
|
"test:coverage": "jest --selectProjects test --collectCoverage",
|
|
"test:watch": "jest --selectProjects test --watch",
|
|
"typegen": "xstate typegen 'src/**/*.ts'"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource/fira-code": "4.5.8",
|
|
"@fontsource/inter": "4.5.7",
|
|
"@material-ui/core": "4.9.4",
|
|
"@material-ui/icons": "4.5.1",
|
|
"@material-ui/lab": "4.0.0-alpha.42",
|
|
"@testing-library/react-hooks": "8.0.0",
|
|
"@xstate/inspect": "0.6.5",
|
|
"@xstate/react": "3.0.0",
|
|
"axios": "0.26.1",
|
|
"cronstrue": "2.2.0",
|
|
"formik": "2.2.9",
|
|
"history": "5.3.0",
|
|
"react": "17.0.2",
|
|
"react-dom": "17.0.2",
|
|
"react-router-dom": "6.3.0",
|
|
"swr": "1.2.2",
|
|
"xstate": "4.31.0",
|
|
"yup": "0.32.11"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "1.20.2",
|
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
|
|
"@react-theming/storybook-addon": "1.1.5",
|
|
"@storybook/addon-actions": "6.4.21",
|
|
"@storybook/addon-essentials": "6.4.21",
|
|
"@storybook/addon-links": "6.4.21",
|
|
"@storybook/react": "6.4.21",
|
|
"@testing-library/react": "12.1.4",
|
|
"@testing-library/user-event": "14.1.0",
|
|
"@types/express": "4.17.13",
|
|
"@types/jest": "27.4.1",
|
|
"@types/node": "14.18.12",
|
|
"@types/react": "17.0.44",
|
|
"@types/react-dom": "17.0.15",
|
|
"@types/superagent": "4.1.15",
|
|
"@typescript-eslint/eslint-plugin": "5.19.0",
|
|
"@typescript-eslint/parser": "5.19.0",
|
|
"@xstate/cli": "0.1.6",
|
|
"chromatic": "6.5.4",
|
|
"copy-webpack-plugin": "10.2.4",
|
|
"css-loader": "6.7.1",
|
|
"css-minimizer-webpack-plugin": "3.4.1",
|
|
"eslint": "8.13.0",
|
|
"eslint-config-prettier": "8.5.0",
|
|
"eslint-import-resolver-alias": "1.1.2",
|
|
"eslint-import-resolver-typescript": "2.7.1",
|
|
"eslint-plugin-compat": "4.0.2",
|
|
"eslint-plugin-import": "2.26.0",
|
|
"eslint-plugin-jest": "26.1.4",
|
|
"eslint-plugin-jsx-a11y": "6.5.1",
|
|
"eslint-plugin-no-storage": "1.0.2",
|
|
"eslint-plugin-react": "7.29.4",
|
|
"eslint-plugin-react-hooks": "4.4.0",
|
|
"html-webpack-plugin": "5.5.0",
|
|
"jest": "27.5.1",
|
|
"jest-junit": "13.1.0",
|
|
"jest-runner-eslint": "1.0.0",
|
|
"mini-css-extract-plugin": "2.6.0",
|
|
"msw": "0.39.2",
|
|
"prettier": "2.6.2",
|
|
"prettier-plugin-organize-imports": "2.3.4",
|
|
"react-hot-loader": "4.13.0",
|
|
"sql-formatter": "4.0.2",
|
|
"style-loader": "3.3.1",
|
|
"ts-jest": "27.1.4",
|
|
"ts-loader": "9.2.8",
|
|
"ts-node": "10.7.0",
|
|
"typescript": "4.6.3",
|
|
"webpack": "5.72.0",
|
|
"webpack-bundle-analyzer": "4.5.0",
|
|
"webpack-cli": "4.9.2",
|
|
"webpack-dev-server": "4.8.1"
|
|
},
|
|
"browserslist": [
|
|
"chrome 66",
|
|
"firefox 63",
|
|
"edge 79",
|
|
"safari 13.1"
|
|
]
|
|
}
|