{ "name": "luci-theme-shadcn", "description": "Modern OpenWrt LuCI theme with sidebar layout built with Vite and TailwindCSS", "type": "module", "scripts": { "dev": "vite", "test": "node --test tests/*.test.js", "setup:router": "luci-theme-setup", "build": "pnpm clean && pnpm gen:tokens && pnpm check:contrast && vite build && pnpm check:colors", "check:colors": "node scripts/check-built-css.js", "check:contrast": "node scripts/check-token-contrast.js", "gen:tokens": "node scripts/gen-tokens.js", "clean": "luci-theme-clean", "format": "prettier --config prettier.config.mjs --ignore-path ../.prettierignore --write .. --ignore-unknown", "format:check": "prettier --config prettier.config.mjs --ignore-path ../.prettierignore --check .. --ignore-unknown", "lint-staged": "lint-staged --cwd ..", "prepare": "cd .. && husky" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "devDependencies": { "@eamonxg/luci-theme-devkit": "^0.3.1", "@eamonxg/luci-theme-tokens": "^2.0.0", "@fontsource-variable/inter": "^5.2.8", "@tailwindcss/vite": "^4.3.0", "@types/node": "^25.9.1", "colorjs.io": "^0.6.1", "husky": "^9.1.7", "lint-staged": "^16.4.0", "prettier": "^3.8.3", "prettier-plugin-tailwindcss": "^0.8.0", "tailwindcss": "^4.3.0", "terser": "^5.47.1", "tw-animate-css": "^1.4.0", "vite": "^8.0.13" }, "packageManager": "pnpm@10.33.2" }