{ "name": "webview-ui", "version": "0.1.0", "private": true, "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "preview": "vite preview", "lint": "eslint src --ext ts,tsx --quiet", "test": "jest", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build" }, "dependencies": { "@radix-ui/react-slot": "^1.1.1", "@tailwindcss/vite": "^4.0.0", "@vscode/webview-ui-toolkit": "^1.4.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "debounce": "^2.1.1", "fast-deep-equal": "^3.1.3", "fzf": "^0.5.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-remark": "^2.1.0", "react-textarea-autosize": "^8.5.3", "react-use": "^17.5.1", "react-virtuoso": "^4.7.13", "rehype-highlight": "^7.0.0", "shell-quote": "^1.8.2", "styled-components": "^6.1.13", "tailwind-merge": "^2.6.0", "tailwindcss": "^4.0.0", "tailwindcss-animate": "^1.0.7", "vscrui": "^0.2.0" }, "devDependencies": { "@chromatic-com/storybook": "^3.2.4", "@storybook/addon-essentials": "^8.5.2", "@storybook/addon-interactions": "^8.5.2", "@storybook/addon-onboarding": "^8.5.2", "@storybook/blocks": "^8.5.2", "@storybook/react": "^8.5.2", "@storybook/react-vite": "^8.5.2", "@storybook/test": "^8.5.2", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^18.0.0", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/shell-quote": "^1.7.5", "@types/testing-library__jest-dom": "^5.14.5", "@types/vscode-webview": "^1.57.5", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^4.3.4", "eslint": "^8.57.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-storybook": "^0.11.2", "identity-obj-proxy": "^3.0.0", "jest": "^27.5.1", "jest-environment-jsdom": "^27.5.1", "jest-simple-dot-reporter": "^1.0.5", "storybook": "^8.5.2", "ts-jest": "^27.1.5", "typescript": "^4.9.5", "vite": "5.3.3" }, "jest": { "testEnvironment": "jsdom", "setupFilesAfterEnv": [ "@testing-library/jest-dom/extend-expect" ], "preset": "ts-jest", "reporters": [ [ "jest-simple-dot-reporter", {} ] ], "moduleNameMapper": { "\\.(css|less|scss|sass)$": "identity-obj-proxy", "^vscrui$": "/src/__mocks__/vscrui.ts", "^@vscode/webview-ui-toolkit/react$": "/src/__mocks__/@vscode/webview-ui-toolkit/react.ts" }, "transformIgnorePatterns": [ "/node_modules/(?!(rehype-highlight|react-remark|unist-util-visit|unist-util-find-after|vfile|unified|bail|is-plain-obj|trough|vfile-message|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|decode-named-character-reference|character-entities|markdown-table|zwitch|longest-streak|escape-string-regexp|unist-util-is|hast-util-to-text|@vscode/webview-ui-toolkit|@microsoft/fast-react-wrapper|@microsoft/fast-element|@microsoft/fast-foundation|@microsoft/fast-web-utilities|exenv-es6|vscrui)/)" ], "transform": { "^.+\\.(ts|tsx)$": [ "ts-jest", { "tsconfig": { "jsx": "react-jsx" } } ] }, "moduleDirectories": [ "node_modules", "src" ], "testMatch": [ "/src/**/__tests__/**/*.{js,jsx,ts,tsx}", "/src/**/*.{spec,test}.{js,jsx,ts,tsx}" ] } }