learning_ai_common_plat/dashboards/tracker-web/package.json
saravanakumardb1 a7cb866cab feat(tracker-web): ⌘K command palette (UX-5)
Add @bytelyst/command-palette (workspace:* + minimal lockfile importer
entry). Mount CommandRegistryProvider + a lazily-loaded CommandMenu in
providers.tsx, opened with ⌘K / Ctrl-K. Register navigate commands
(Overview/Items/Board/Roadmap), New item (navigates to items with ?new=1
which auto-opens the create modal), Toggle theme, Sign out, and per-product
Switch commands wired to setProductId. Command building lives in the pure
src/lib/command-registry.ts. Add command-menu.test.tsx (jsdom) asserting the
builder set and that the palette opens on ⌘K and lists commands.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-29 06:56:11 -07:00

108 lines
3.1 KiB
JSON

{
"name": "@bytelyst/tracker-web",
"version": "0.1.0",
"private": true,
"scripts": {
"pretest": "pnpm --dir ../.. --filter @bytelyst/api-client --filter @bytelyst/config --filter @bytelyst/errors --filter @bytelyst/logger --filter @bytelyst/telemetry-client build",
"dev": "next dev --port 3003",
"build": "next build --webpack",
"start": "next start --port 3003",
"lint": "eslint",
"typecheck": "tsc --noEmit",
"check": "tsc --noEmit && eslint",
"test": "vitest run",
"test:watch": "vitest",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"build:analyze": "ANALYZE=true next build --webpack",
"test:coverage": "vitest run --coverage",
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
"size:check": "bundlesize",
"prepare": "husky install"
},
"dependencies": {
"@azure/identity": "^4.13.0",
"@azure/keyvault-secrets": "^4.10.0",
"@bytelyst/api-client": "workspace:*",
"@bytelyst/auth-ui": "workspace:*",
"@bytelyst/charts": "workspace:*",
"@bytelyst/command-palette": "workspace:*",
"@bytelyst/config": "workspace:*",
"@bytelyst/dashboard-components": "workspace:*",
"@bytelyst/data-table": "workspace:*",
"@bytelyst/data-viz": "workspace:*",
"@bytelyst/design-tokens": "workspace:*",
"@bytelyst/errors": "workspace:*",
"@bytelyst/notifications-ui": "workspace:*",
"@bytelyst/telemetry-client": "workspace:*",
"@bytelyst/logger": "workspace:*",
"@bytelyst/ui": "workspace:*",
"clsx": "^2.1.1",
"next": "16.1.6",
"posthog-js": "^1.345.5",
"react": "19.2.3",
"react-dom": "19.2.3",
"tailwind-merge": "^3.4.0"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@vitest/coverage-v8": "^4.0.18",
"bundlesize": "^0.18.1",
"eslint": "^9",
"eslint-config-next": "16.1.6",
"husky": "^9.0.0",
"lint-staged": "^15.0.0",
"prettier": "^3.0.0",
"tailwindcss": "^4",
"tw-animate-css": "^1.4.0",
"typescript": "^5",
"vitest": "^4.0.18"
},
"lint-staged": {
"*.{ts,tsx}": [
"eslint --fix",
"prettier --write"
],
"*.{js,jsx,json,md,yml,yaml}": [
"prettier --write"
]
},
"bundlesize": [
{
"path": ".next/static/chunks/app/layout-*.js",
"maxSize": "150kb",
"compression": "gzip"
},
{
"path": ".next/static/chunks/app/page-*.js",
"maxSize": "50kb",
"compression": "gzip"
},
{
"path": ".next/static/chunks/main-*.js",
"maxSize": "50kb",
"compression": "gzip"
},
{
"path": ".next/static/chunks/webpack-*.js",
"maxSize": "50kb",
"compression": "gzip"
},
{
"path": ".next/static/chunks/framework-*.js",
"maxSize": "100kb",
"compression": "gzip"
},
{
"path": ".next/static/chunks/app/**/page-*.js",
"maxSize": "30kb",
"compression": "gzip"
}
]
}